@antelopejs/interface-dms 0.9.1 → 0.10.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 (515) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/dist/attachments.js +3 -1
  3. package/dist/attachments.js.map +1 -1
  4. package/dist/auth/db/models/sessions.model.js +1 -5
  5. package/dist/auth/db/models/sessions.model.js.map +1 -1
  6. package/dist/auth/db/tables/users.table.js.map +1 -1
  7. package/dist/auth/index.js +4 -1
  8. package/dist/auth/index.js.map +1 -1
  9. package/dist/auth/internal/jwt-auth-decorator.js +7 -5
  10. package/dist/auth/internal/jwt-auth-decorator.js.map +1 -1
  11. package/dist/auth/internal/request-authenticators.js +4 -1
  12. package/dist/auth/internal/request-authenticators.js.map +1 -1
  13. package/dist/auth/internal/request-principal.js +1 -0
  14. package/dist/auth/internal/request-principal.js.map +1 -1
  15. package/dist/base/activity-feed.d.ts +26 -26
  16. package/dist/base/banner.d.ts +14 -14
  17. package/dist/base/banner.js +1 -0
  18. package/dist/base/banner.js.map +1 -1
  19. package/dist/base/block-registry/helpers.js +1 -0
  20. package/dist/base/block-registry/helpers.js.map +1 -1
  21. package/dist/base/block-registry/internal/describe.js +107 -85
  22. package/dist/base/block-registry/internal/describe.js.map +1 -1
  23. package/dist/base/block-registry/presentation.js +0 -5
  24. package/dist/base/block-registry/presentation.js.map +1 -1
  25. package/dist/base/block-registry/registry.js +4 -1
  26. package/dist/base/block-registry/registry.js.map +1 -1
  27. package/dist/base/block-types.js +0 -2
  28. package/dist/base/block-types.js.map +1 -1
  29. package/dist/base/card.d.ts +8 -8
  30. package/dist/base/chart-card.d.ts +2 -2
  31. package/dist/base/chart-card.js +2 -2
  32. package/dist/base/chart-card.js.map +1 -1
  33. package/dist/base/chart-schemas.d.ts +66 -66
  34. package/dist/base/chart-schemas.js +19 -21
  35. package/dist/base/chart-schemas.js.map +1 -1
  36. package/dist/base/chart.js +1 -0
  37. package/dist/base/chart.js.map +1 -1
  38. package/dist/base/code-block.js +1 -0
  39. package/dist/base/code-block.js.map +1 -1
  40. package/dist/base/confirm-dialog.d.ts +2 -6
  41. package/dist/base/confirm-dialog.js +36 -15
  42. package/dist/base/confirm-dialog.js.map +1 -1
  43. package/dist/base/data-sources.js +6 -2
  44. package/dist/base/data-sources.js.map +1 -1
  45. package/dist/base/data-types/compare-types.js +82 -68
  46. package/dist/base/data-types/compare-types.js.map +1 -1
  47. package/dist/base/data-types/core.d.ts +8 -101
  48. package/dist/base/data-types/core.js +40 -143
  49. package/dist/base/data-types/core.js.map +1 -1
  50. package/dist/base/data-types/default/address.d.ts +126 -0
  51. package/dist/base/data-types/default/address.js +57 -0
  52. package/dist/base/data-types/default/address.js.map +1 -0
  53. package/dist/base/data-types/default/choices.d.ts +54 -0
  54. package/dist/base/data-types/default/choices.js +135 -0
  55. package/dist/base/data-types/default/choices.js.map +1 -0
  56. package/dist/base/data-types/default/files.d.ts +86 -0
  57. package/dist/base/data-types/default/files.js +214 -0
  58. package/dist/base/data-types/default/files.js.map +1 -0
  59. package/dist/base/data-types/default/inputs.d.ts +11 -0
  60. package/dist/base/data-types/default/inputs.js +26 -0
  61. package/dist/base/data-types/default/inputs.js.map +1 -0
  62. package/dist/base/data-types/default/numbers.d.ts +62 -0
  63. package/dist/base/data-types/default/numbers.js +287 -0
  64. package/dist/base/data-types/default/numbers.js.map +1 -0
  65. package/dist/base/data-types/default/options.d.ts +133 -0
  66. package/dist/base/data-types/default/options.js +3 -0
  67. package/dist/base/data-types/default/options.js.map +1 -0
  68. package/dist/base/data-types/default/relations.d.ts +267 -0
  69. package/dist/base/data-types/default/relations.js +149 -0
  70. package/dist/base/data-types/default/relations.js.map +1 -0
  71. package/dist/base/data-types/default/strings.d.ts +35 -0
  72. package/dist/base/data-types/default/strings.js +154 -0
  73. package/dist/base/data-types/default/strings.js.map +1 -0
  74. package/dist/base/data-types/default-types.d.ts +73 -753
  75. package/dist/base/data-types/default-types.js +39 -991
  76. package/dist/base/data-types/default-types.js.map +1 -1
  77. package/dist/base/data-types/field-types.js +2 -6
  78. package/dist/base/data-types/field-types.js.map +1 -1
  79. package/dist/base/data-types/index.js +1 -20
  80. package/dist/base/data-types/index.js.map +1 -1
  81. package/dist/base/data-types/internal/compare-types.js +0 -2
  82. package/dist/base/data-types/internal/compare-types.js.map +1 -1
  83. package/dist/base/data-types/internal/relation-add-form.d.ts +7 -0
  84. package/dist/base/data-types/internal/relation-add-form.js +21 -0
  85. package/dist/base/data-types/internal/relation-add-form.js.map +1 -0
  86. package/dist/base/data-types/internal/relation-endpoints.d.ts +8 -0
  87. package/dist/base/data-types/internal/relation-endpoints.js +36 -0
  88. package/dist/base/data-types/internal/relation-endpoints.js.map +1 -0
  89. package/dist/base/data-types/status-type.js +0 -6
  90. package/dist/base/data-types/status-type.js.map +1 -1
  91. package/dist/base/display.d.ts +6 -6
  92. package/dist/base/display.js +15 -10
  93. package/dist/base/display.js.map +1 -1
  94. package/dist/base/empty-state.d.ts +8 -8
  95. package/dist/base/export-jobs.js.map +1 -1
  96. package/dist/base/form-block-schema.d.ts +36 -36
  97. package/dist/base/form-block-schema.js +0 -5
  98. package/dist/base/form-block-schema.js.map +1 -1
  99. package/dist/base/form-schema.d.ts +5 -1
  100. package/dist/base/form-schema.js +44 -206
  101. package/dist/base/form-schema.js.map +1 -1
  102. package/dist/base/form-types.d.ts +4 -84
  103. package/dist/base/form-types.js.map +1 -1
  104. package/dist/base/form.js +0 -7
  105. package/dist/base/form.js.map +1 -1
  106. package/dist/base/guard.d.ts +14 -14
  107. package/dist/base/helpers/archive-mode-helpers.js +11 -11
  108. package/dist/base/helpers/archive-mode-helpers.js.map +1 -1
  109. package/dist/base/helpers/file-refs.js +20 -7
  110. package/dist/base/helpers/file-refs.js.map +1 -1
  111. package/dist/base/index.js +0 -5
  112. package/dist/base/index.js.map +1 -1
  113. package/dist/base/internal/button-availability.d.ts +3 -17
  114. package/dist/base/internal/button-availability.js +36 -31
  115. package/dist/base/internal/button-availability.js.map +1 -1
  116. package/dist/base/internal/chart-schemas.js +0 -2
  117. package/dist/base/internal/chart-schemas.js.map +1 -1
  118. package/dist/base/internal/composed-text.js +0 -2
  119. package/dist/base/internal/composed-text.js.map +1 -1
  120. package/dist/base/internal/confirm-dialog.d.ts +3 -13
  121. package/dist/base/internal/confirm-dialog.js +37 -21
  122. package/dist/base/internal/confirm-dialog.js.map +1 -1
  123. package/dist/base/internal/display.js +3 -1
  124. package/dist/base/internal/display.js.map +1 -1
  125. package/dist/base/internal/form-schema-components.d.ts +12 -0
  126. package/dist/base/internal/form-schema-components.js +61 -0
  127. package/dist/base/internal/form-schema-components.js.map +1 -0
  128. package/dist/base/internal/form-schema-validation.d.ts +16 -0
  129. package/dist/base/internal/form-schema-validation.js +68 -0
  130. package/dist/base/internal/form-schema-validation.js.map +1 -0
  131. package/dist/base/internal/form-schema.d.ts +2 -7
  132. package/dist/base/internal/form-schema.js +36 -28
  133. package/dist/base/internal/form-schema.js.map +1 -1
  134. package/dist/base/internal/layouts.d.ts +1 -59
  135. package/dist/base/internal/searchable.js +3 -1
  136. package/dist/base/internal/searchable.js.map +1 -1
  137. package/dist/base/key-value-list.d.ts +12 -12
  138. package/dist/base/kpi-card.d.ts +2 -2
  139. package/dist/base/kpi-card.js +2 -0
  140. package/dist/base/kpi-card.js.map +1 -1
  141. package/dist/base/layouts.d.ts +6 -80
  142. package/dist/base/layouts.js +38 -54
  143. package/dist/base/layouts.js.map +1 -1
  144. package/dist/base/live-toggle.d.ts +2 -2
  145. package/dist/base/meter.d.ts +25 -25
  146. package/dist/base/meter.js +0 -1
  147. package/dist/base/meter.js.map +1 -1
  148. package/dist/base/nav-card-grid.d.ts +13 -13
  149. package/dist/base/page-toolbar.d.ts +2 -2
  150. package/dist/base/page-toolbar.js +0 -6
  151. package/dist/base/page-toolbar.js.map +1 -1
  152. package/dist/base/period-selector.d.ts +2 -2
  153. package/dist/base/period-selector.js +0 -4
  154. package/dist/base/period-selector.js.map +1 -1
  155. package/dist/base/query-response.js +3 -5
  156. package/dist/base/query-response.js.map +1 -1
  157. package/dist/base/resource-form-schema.js +0 -4
  158. package/dist/base/resource-form-schema.js.map +1 -1
  159. package/dist/base/searchable.d.ts +5 -0
  160. package/dist/base/searchable.js +11 -2
  161. package/dist/base/searchable.js.map +1 -1
  162. package/dist/base/stat-group.d.ts +15 -15
  163. package/dist/base/tab.d.ts +8 -8
  164. package/dist/base/tab.js +1 -0
  165. package/dist/base/tab.js.map +1 -1
  166. package/dist/base/table-view/column-display.js +0 -1
  167. package/dist/base/table-view/column-display.js.map +1 -1
  168. package/dist/base/table-view/data-functions.d.ts +10 -10
  169. package/dist/base/table-view/data-functions.js.map +1 -1
  170. package/dist/base/table-view/factory.js +32 -204
  171. package/dist/base/table-view/factory.js.map +1 -1
  172. package/dist/base/table-view/internal/auth.js +5 -19
  173. package/dist/base/table-view/internal/auth.js.map +1 -1
  174. package/dist/base/table-view/internal/column-conditions.js +0 -5
  175. package/dist/base/table-view/internal/column-conditions.js.map +1 -1
  176. package/dist/base/table-view/internal/column-display.js +5 -3
  177. package/dist/base/table-view/internal/column-display.js.map +1 -1
  178. package/dist/base/table-view/internal/factory-helpers.js +24 -158
  179. package/dist/base/table-view/internal/factory-helpers.js.map +1 -1
  180. package/dist/base/table-view/internal/factory-lifecycle-created.d.ts +21 -0
  181. package/dist/base/table-view/internal/factory-lifecycle-created.js +96 -0
  182. package/dist/base/table-view/internal/factory-lifecycle-created.js.map +1 -0
  183. package/dist/base/table-view/internal/factory-lifecycle-filter.d.ts +15 -0
  184. package/dist/base/table-view/internal/factory-lifecycle-filter.js +37 -0
  185. package/dist/base/table-view/internal/factory-lifecycle-filter.js.map +1 -0
  186. package/dist/base/table-view/internal/factory-lifecycle-options.d.ts +41 -0
  187. package/dist/base/table-view/internal/factory-lifecycle-options.js +99 -0
  188. package/dist/base/table-view/internal/factory-lifecycle-options.js.map +1 -0
  189. package/dist/base/table-view/internal/factory-private-actions.d.ts +32 -0
  190. package/dist/base/table-view/internal/factory-private-actions.js +77 -0
  191. package/dist/base/table-view/internal/factory-private-actions.js.map +1 -0
  192. package/dist/base/table-view/internal/factory-private-displays.d.ts +5 -0
  193. package/dist/base/table-view/internal/factory-private-displays.js +21 -0
  194. package/dist/base/table-view/internal/factory-private-displays.js.map +1 -0
  195. package/dist/base/table-view/internal/factory-private-urls.d.ts +15 -0
  196. package/dist/base/table-view/internal/factory-private-urls.js +43 -0
  197. package/dist/base/table-view/internal/factory-private-urls.js.map +1 -0
  198. package/dist/base/table-view/internal/files.js +3 -4
  199. package/dist/base/table-view/internal/files.js.map +1 -1
  200. package/dist/base/table-view/internal/footer.js +5 -3
  201. package/dist/base/table-view/internal/footer.js.map +1 -1
  202. package/dist/base/table-view/internal/guards.js +7 -10
  203. package/dist/base/table-view/internal/guards.js.map +1 -1
  204. package/dist/base/table-view/internal/meta-helpers.d.ts +27 -0
  205. package/dist/base/table-view/internal/meta-helpers.js +75 -0
  206. package/dist/base/table-view/internal/meta-helpers.js.map +1 -0
  207. package/dist/base/table-view/internal/meta.js +8 -2
  208. package/dist/base/table-view/internal/meta.js.map +1 -1
  209. package/dist/base/table-view/internal/nav-badges.js +5 -3
  210. package/dist/base/table-view/internal/nav-badges.js.map +1 -1
  211. package/dist/base/table-view/internal/option-contract.d.ts +403 -0
  212. package/dist/base/table-view/internal/option-contract.js +3 -0
  213. package/dist/base/table-view/internal/option-contract.js.map +1 -0
  214. package/dist/base/table-view/internal/option-displays.d.ts +125 -0
  215. package/dist/base/table-view/internal/option-displays.js +3 -0
  216. package/dist/base/table-view/internal/option-displays.js.map +1 -0
  217. package/dist/base/table-view/internal/option-empty-states.d.ts +43 -0
  218. package/dist/base/table-view/internal/option-empty-states.js +3 -0
  219. package/dist/base/table-view/internal/option-empty-states.js.map +1 -0
  220. package/dist/base/table-view/internal/option-expandable.d.ts +66 -0
  221. package/dist/base/table-view/internal/option-expandable.js +3 -0
  222. package/dist/base/table-view/internal/option-expandable.js.map +1 -0
  223. package/dist/base/table-view/internal/option-filtering.d.ts +85 -0
  224. package/dist/base/table-view/internal/option-filtering.js +4 -0
  225. package/dist/base/table-view/internal/option-filtering.js.map +1 -0
  226. package/dist/base/table-view/internal/option-footer.d.ts +64 -0
  227. package/dist/base/table-view/internal/option-footer.js +3 -0
  228. package/dist/base/table-view/internal/option-footer.js.map +1 -0
  229. package/dist/base/table-view/internal/option-forms.d.ts +62 -0
  230. package/dist/base/table-view/internal/option-forms.js +3 -0
  231. package/dist/base/table-view/internal/option-forms.js.map +1 -0
  232. package/dist/base/table-view/internal/option-row-actions.d.ts +76 -0
  233. package/dist/base/table-view/internal/option-row-actions.js +3 -0
  234. package/dist/base/table-view/internal/option-row-actions.js.map +1 -0
  235. package/dist/base/table-view/internal/option-views.d.ts +199 -0
  236. package/dist/base/table-view/internal/option-views.js +3 -0
  237. package/dist/base/table-view/internal/option-views.js.map +1 -0
  238. package/dist/base/table-view/internal/options.d.ts +2 -6
  239. package/dist/base/table-view/internal/options.js +35 -6
  240. package/dist/base/table-view/internal/options.js.map +1 -1
  241. package/dist/base/table-view/internal/realtime.js +15 -5
  242. package/dist/base/table-view/internal/realtime.js.map +1 -1
  243. package/dist/base/table-view/internal/request-filter.js +12 -12
  244. package/dist/base/table-view/internal/request-filter.js.map +1 -1
  245. package/dist/base/table-view/internal/resource-form.js +1 -10
  246. package/dist/base/table-view/internal/resource-form.js.map +1 -1
  247. package/dist/base/table-view/internal/row-actions-schema.js +0 -6
  248. package/dist/base/table-view/internal/row-actions-schema.js.map +1 -1
  249. package/dist/base/table-view/internal/row-rule-shape.d.ts +10 -0
  250. package/dist/base/table-view/internal/row-rule-shape.js +43 -0
  251. package/dist/base/table-view/internal/row-rule-shape.js.map +1 -0
  252. package/dist/base/table-view/internal/row-rules.js +1 -4
  253. package/dist/base/table-view/internal/row-rules.js.map +1 -1
  254. package/dist/base/table-view/internal/tabs.js +3 -6
  255. package/dist/base/table-view/internal/tabs.js.map +1 -1
  256. package/dist/base/table-view/internal/validation.js +2 -16
  257. package/dist/base/table-view/internal/validation.js.map +1 -1
  258. package/dist/base/table-view/internal/writer.js +1 -0
  259. package/dist/base/table-view/internal/writer.js.map +1 -1
  260. package/dist/base/table-view/meta.js +11 -93
  261. package/dist/base/table-view/meta.js.map +1 -1
  262. package/dist/base/table-view/options.d.ts +61 -1099
  263. package/dist/base/table-view/options.js.map +1 -1
  264. package/dist/base/table-view/resource-form.js +0 -2
  265. package/dist/base/table-view/resource-form.js.map +1 -1
  266. package/dist/base/table-view/routes.js +10 -9
  267. package/dist/base/table-view/routes.js.map +1 -1
  268. package/dist/base/table-view/schema.d.ts +93 -93
  269. package/dist/base/table-view/schema.js +4 -22
  270. package/dist/base/table-view/schema.js.map +1 -1
  271. package/dist/base/table-view/source.js +0 -5
  272. package/dist/base/table-view/source.js.map +1 -1
  273. package/dist/base/table-view/views.js +0 -3
  274. package/dist/base/table-view/views.js.map +1 -1
  275. package/dist/base/table-view/writer.js +0 -5
  276. package/dist/base/table-view/writer.js.map +1 -1
  277. package/dist/base/top-list-card.d.ts +13 -13
  278. package/dist/base/top-list-card.js +2 -0
  279. package/dist/base/top-list-card.js.map +1 -1
  280. package/dist/base/types/action-target.d.ts +1 -302
  281. package/dist/base/types/button.d.ts +2 -7
  282. package/dist/base/types/button.js +35 -8
  283. package/dist/base/types/button.js.map +1 -1
  284. package/dist/base/types/confirm-dialog.d.ts +1 -127
  285. package/dist/base/types/custom-button.d.ts +1 -87
  286. package/dist/base/types/error.js +2 -1
  287. package/dist/base/types/error.js.map +1 -1
  288. package/dist/base/types/export-status.d.ts +2 -8
  289. package/dist/base/types/export-status.js +35 -9
  290. package/dist/base/types/export-status.js.map +1 -1
  291. package/dist/base/types/form-values.d.ts +1 -4
  292. package/dist/base/types/internal/action-target.d.ts +2 -8
  293. package/dist/base/types/internal/action-target.js +36 -15
  294. package/dist/base/types/internal/action-target.js.map +1 -1
  295. package/dist/base/types/row-action-operators.d.ts +3 -29
  296. package/dist/base/types/row-action-operators.js +35 -18
  297. package/dist/base/types/row-action-operators.js.map +1 -1
  298. package/dist/base/types/row-action.d.ts +3 -36
  299. package/dist/base/types/size.d.ts +1 -3
  300. package/dist/base/types/size.js +0 -3
  301. package/dist/base/types/size.js.map +1 -1
  302. package/dist/base/types/tone.d.ts +3 -8
  303. package/dist/base/types/tone.js +35 -15
  304. package/dist/base/types/tone.js.map +1 -1
  305. package/dist/base/types/watch.d.ts +5 -19
  306. package/dist/base/types/watch.js +35 -3
  307. package/dist/base/types/watch.js.map +1 -1
  308. package/dist/component-options/action-target.d.ts +304 -0
  309. package/dist/component-options/action-target.js +3 -0
  310. package/dist/component-options/action-target.js.map +1 -0
  311. package/dist/component-options/button.d.ts +93 -0
  312. package/dist/component-options/button.js +12 -0
  313. package/dist/component-options/button.js.map +1 -0
  314. package/dist/component-options/confirm-dialog.d.ts +132 -0
  315. package/dist/component-options/confirm-dialog.js +18 -0
  316. package/dist/component-options/confirm-dialog.js.map +1 -0
  317. package/dist/component-options/data-type.d.ts +101 -0
  318. package/dist/component-options/data-type.js +146 -0
  319. package/dist/component-options/data-type.js.map +1 -0
  320. package/dist/component-options/form-field.d.ts +88 -0
  321. package/dist/component-options/form-field.js +3 -0
  322. package/dist/component-options/form-field.js.map +1 -0
  323. package/dist/component-options/internal/action-target.d.ts +8 -0
  324. package/dist/component-options/internal/action-target.js +18 -0
  325. package/dist/component-options/internal/action-target.js.map +1 -0
  326. package/dist/component-options/internal/button-availability.d.ts +17 -0
  327. package/dist/component-options/internal/button-availability.js +34 -0
  328. package/dist/component-options/internal/button-availability.js.map +1 -0
  329. package/dist/component-options/internal/confirm-dialog.d.ts +13 -0
  330. package/dist/component-options/internal/confirm-dialog.js +24 -0
  331. package/dist/component-options/internal/confirm-dialog.js.map +1 -0
  332. package/dist/component-options/internal/form-field.d.ts +7 -0
  333. package/dist/component-options/internal/form-field.js +31 -0
  334. package/dist/component-options/internal/form-field.js.map +1 -0
  335. package/dist/component-options/internal/page-layout.d.ts +71 -0
  336. package/dist/component-options/internal/page-layout.js +10 -0
  337. package/dist/component-options/internal/page-layout.js.map +1 -0
  338. package/dist/component-options/page-layout.d.ts +80 -0
  339. package/dist/component-options/page-layout.js +57 -0
  340. package/dist/component-options/page-layout.js.map +1 -0
  341. package/dist/component-options/row-action.d.ts +66 -0
  342. package/dist/component-options/row-action.js +22 -0
  343. package/dist/component-options/row-action.js.map +1 -0
  344. package/dist/component-slots.js.map +1 -1
  345. package/dist/component.d.ts +2 -2
  346. package/dist/component.js +38 -193
  347. package/dist/component.js.map +1 -1
  348. package/dist/data-controllers/members.js +2 -8
  349. package/dist/data-controllers/members.js.map +1 -1
  350. package/dist/data-controllers/roles.js +0 -5
  351. package/dist/data-controllers/roles.js.map +1 -1
  352. package/dist/db/internal/exportJobs.model.js +10 -6
  353. package/dist/db/internal/exportJobs.model.js.map +1 -1
  354. package/dist/db/internal/tenantLifecycle.model.js +0 -2
  355. package/dist/db/internal/tenantLifecycle.model.js.map +1 -1
  356. package/dist/db/tables/exportJobs.table.d.ts +1 -1
  357. package/dist/db/tables/roles.table.js.map +1 -1
  358. package/dist/db/tables/user_invites.table.d.ts +1 -1
  359. package/dist/db/tables/user_invites.table.js.map +1 -1
  360. package/dist/export-status.d.ts +8 -0
  361. package/dist/export-status.js +13 -0
  362. package/dist/export-status.js.map +1 -0
  363. package/dist/hooks.d.ts +1 -1
  364. package/dist/hooks.js +2 -4
  365. package/dist/hooks.js.map +1 -1
  366. package/dist/index.js +0 -9
  367. package/dist/index.js.map +1 -1
  368. package/dist/internal/component-builder.d.ts +17 -0
  369. package/dist/internal/component-builder.js +58 -0
  370. package/dist/internal/component-builder.js.map +1 -0
  371. package/dist/internal/component-permissions.d.ts +13 -0
  372. package/dist/internal/component-permissions.js +45 -0
  373. package/dist/internal/component-permissions.js.map +1 -0
  374. package/dist/internal/component-serialization.d.ts +10 -0
  375. package/dist/internal/component-serialization.js +42 -0
  376. package/dist/internal/component-serialization.js.map +1 -0
  377. package/dist/internal/component-slots.js +7 -4
  378. package/dist/internal/component-slots.js.map +1 -1
  379. package/dist/internal/component-watches.d.ts +17 -0
  380. package/dist/internal/component-watches.js +110 -0
  381. package/dist/internal/component-watches.js.map +1 -0
  382. package/dist/internal/invite-membership.js +0 -1
  383. package/dist/internal/invite-membership.js.map +1 -1
  384. package/dist/invite-extension-payloads.d.ts +2 -0
  385. package/dist/invite-extension-payloads.js +3 -0
  386. package/dist/invite-extension-payloads.js.map +1 -0
  387. package/dist/invite-extensions/internal/delivery.js +4 -1
  388. package/dist/invite-extensions/internal/delivery.js.map +1 -1
  389. package/dist/invite-extensions/internal/edit.js +5 -4
  390. package/dist/invite-extensions/internal/edit.js.map +1 -1
  391. package/dist/invite-extensions/internal/form-slot.js +5 -35
  392. package/dist/invite-extensions/internal/form-slot.js.map +1 -1
  393. package/dist/invite-extensions/internal/payload-slices.js +10 -3
  394. package/dist/invite-extensions/internal/payload-slices.js.map +1 -1
  395. package/dist/invite-extensions/internal/registry.js +3 -5
  396. package/dist/invite-extensions/internal/registry.js.map +1 -1
  397. package/dist/invite-extensions/registry.js +3 -8
  398. package/dist/invite-extensions/registry.js.map +1 -1
  399. package/dist/invite-extensions/types.d.ts +1 -2
  400. package/dist/invite-resolution.js +2 -1
  401. package/dist/invite-resolution.js.map +1 -1
  402. package/dist/layout-banners.js.map +1 -1
  403. package/dist/notifications/builder.js +25 -5
  404. package/dist/notifications/builder.js.map +1 -1
  405. package/dist/notifications/internal.js +0 -3
  406. package/dist/notifications/internal.js.map +1 -1
  407. package/dist/notifications/sendable.js.map +1 -1
  408. package/dist/page/categories.js +1 -4
  409. package/dist/page/categories.js.map +1 -1
  410. package/dist/page/controllers.js +9 -55
  411. package/dist/page/controllers.js.map +1 -1
  412. package/dist/page/form-page-routes.js +0 -7
  413. package/dist/page/form-page-routes.js.map +1 -1
  414. package/dist/page/internal/categories.d.ts +1 -1
  415. package/dist/page/internal/categories.js +12 -36
  416. package/dist/page/internal/categories.js.map +1 -1
  417. package/dist/page/internal/category-permission.d.ts +10 -0
  418. package/dist/page/internal/category-permission.js +20 -0
  419. package/dist/page/internal/category-permission.js.map +1 -0
  420. package/dist/page/internal/component-target.js +2 -2
  421. package/dist/page/internal/component-target.js.map +1 -1
  422. package/dist/page/internal/component-tree.js +0 -2
  423. package/dist/page/internal/component-tree.js.map +1 -1
  424. package/dist/page/internal/controller-options.d.ts +6 -0
  425. package/dist/page/internal/controller-options.js +40 -0
  426. package/dist/page/internal/controller-options.js.map +1 -0
  427. package/dist/page/internal/extension-assembly.js +2 -7
  428. package/dist/page/internal/extension-assembly.js.map +1 -1
  429. package/dist/page/internal/layout-filter.js +7 -3
  430. package/dist/page/internal/layout-filter.js.map +1 -1
  431. package/dist/page/internal/metadata-components.d.ts +47 -0
  432. package/dist/page/internal/metadata-components.js +136 -0
  433. package/dist/page/internal/metadata-components.js.map +1 -0
  434. package/dist/page/internal/metadata-extension-contributions.d.ts +14 -0
  435. package/dist/page/internal/metadata-extension-contributions.js +56 -0
  436. package/dist/page/internal/metadata-extension-contributions.js.map +1 -0
  437. package/dist/page/internal/metadata-extensions.d.ts +8 -0
  438. package/dist/page/internal/metadata-extensions.js +21 -0
  439. package/dist/page/internal/metadata-extensions.js.map +1 -0
  440. package/dist/page/internal/metadata-helpers.js +0 -14
  441. package/dist/page/internal/metadata-helpers.js.map +1 -1
  442. package/dist/page/internal/metadata-info.d.ts +5 -0
  443. package/dist/page/internal/metadata-info.js +39 -0
  444. package/dist/page/internal/metadata-info.js.map +1 -0
  445. package/dist/page/internal/metadata-layout-response.d.ts +32 -0
  446. package/dist/page/internal/metadata-layout-response.js +76 -0
  447. package/dist/page/internal/metadata-layout-response.js.map +1 -0
  448. package/dist/page/internal/metadata-layout.d.ts +10 -0
  449. package/dist/page/internal/metadata-layout.js +44 -0
  450. package/dist/page/internal/metadata-layout.js.map +1 -0
  451. package/dist/page/internal/metadata-lifecycle.d.ts +52 -0
  452. package/dist/page/internal/metadata-lifecycle.js +241 -0
  453. package/dist/page/internal/metadata-lifecycle.js.map +1 -0
  454. package/dist/page/internal/metadata-owner.d.ts +53 -0
  455. package/dist/page/internal/metadata-owner.js +14 -0
  456. package/dist/page/internal/metadata-owner.js.map +1 -0
  457. package/dist/page/internal/metadata-publish.d.ts +20 -0
  458. package/dist/page/internal/metadata-publish.js +55 -0
  459. package/dist/page/internal/metadata-publish.js.map +1 -0
  460. package/dist/page/internal/metadata-registration.d.ts +8 -0
  461. package/dist/page/internal/metadata-registration.js +72 -0
  462. package/dist/page/internal/metadata-registration.js.map +1 -0
  463. package/dist/page/internal/metadata-upload-registration.d.ts +16 -0
  464. package/dist/page/internal/metadata-upload-registration.js +64 -0
  465. package/dist/page/internal/metadata-upload-registration.js.map +1 -0
  466. package/dist/page/internal/metadata-uploads.d.ts +18 -0
  467. package/dist/page/internal/metadata-uploads.js +46 -0
  468. package/dist/page/internal/metadata-uploads.js.map +1 -0
  469. package/dist/page/internal/nav-badges.d.ts +1 -1
  470. package/dist/page/internal/nav-badges.js +3 -1
  471. package/dist/page/internal/nav-badges.js.map +1 -1
  472. package/dist/page/internal/page-record.d.ts +2 -9
  473. package/dist/page/internal/page-record.js +8 -5
  474. package/dist/page/internal/page-record.js.map +1 -1
  475. package/dist/page/internal/page-registration.js +0 -4
  476. package/dist/page/internal/page-registration.js.map +1 -1
  477. package/dist/page/internal/registry.js +2 -1
  478. package/dist/page/internal/registry.js.map +1 -1
  479. package/dist/page/internal/table-view-ids.js +3 -2
  480. package/dist/page/internal/table-view-ids.js.map +1 -1
  481. package/dist/page/layout-filter.js +1 -0
  482. package/dist/page/layout-filter.js.map +1 -1
  483. package/dist/page/metadata.js +192 -558
  484. package/dist/page/metadata.js.map +1 -1
  485. package/dist/page/roots.js +3 -5
  486. package/dist/page/roots.js.map +1 -1
  487. package/dist/page/types.d.ts +1 -1
  488. package/dist/page/types.js.map +1 -1
  489. package/dist/permissions.js +0 -18
  490. package/dist/permissions.js.map +1 -1
  491. package/dist/realtime.js +0 -3
  492. package/dist/realtime.js.map +1 -1
  493. package/dist/request-tenant.js +4 -1
  494. package/dist/request-tenant.js.map +1 -1
  495. package/dist/tenant-lifecycle.js +2 -2
  496. package/dist/tenant-lifecycle.js.map +1 -1
  497. package/dist/tones.d.ts +8 -0
  498. package/dist/tones.js +19 -0
  499. package/dist/tones.js.map +1 -0
  500. package/dist/uploads.js +15 -4
  501. package/dist/uploads.js.map +1 -1
  502. package/dist/utils/internal/row-instance.js +2 -3
  503. package/dist/utils/internal/row-instance.js.map +1 -1
  504. package/dist/utils/internal/type-check.d.ts +10 -1
  505. package/dist/utils/internal/type-check.js +12 -3
  506. package/dist/utils/internal/type-check.js.map +1 -1
  507. package/dist/utils/internal/value-parser.js +7 -2
  508. package/dist/utils/internal/value-parser.js.map +1 -1
  509. package/dist/watch-actions.d.ts +19 -0
  510. package/dist/watch-actions.js +7 -0
  511. package/dist/watch-actions.js.map +1 -0
  512. package/docs/3.base/2.types.md +1 -1
  513. package/docs/3.base/8.data-types.md +2 -0
  514. package/docs/4.notifications/3.sending.md +1 -1
  515. package/package.json +3 -3
@@ -1,44 +1,64 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NotificationBuilder = void 0;
4
- // The builder tracks which fields are set in a phantom type parameter, so each
5
- // setter returns `this` widened by one more key. TypeScript cannot narrow
6
- // `this` to a different instantiation of its own class, which is what makes the
7
- // chain unavoidable for this pattern.
8
- /* oxlint-disable anti-slop/no-chained-type-assertions */
9
4
  const sendable_1 = require("./sendable");
5
+ const REQUIRED_FIELDS = {
6
+ icon: true,
7
+ title: true,
8
+ description: true,
9
+ subject: true,
10
+ };
11
+ function missingFields(data) {
12
+ const supplied = new Set(Object.entries(data)
13
+ .filter(([, value]) => value !== undefined)
14
+ .map(([field]) => field));
15
+ return Object.keys(REQUIRED_FIELDS).filter((field) => !supplied.has(field));
16
+ }
17
+ function isComplete(data) {
18
+ return missingFields(data).length === 0;
19
+ }
10
20
  class NotificationBuilder {
11
21
  data = {};
12
22
  icon(value) {
13
23
  this.data.icon = value;
24
+ // SAFETY: The setter has filled icon on this instance; Set tracks filled fields without changing the runtime instance.
14
25
  return this;
15
26
  }
16
27
  title(value) {
17
28
  this.data.title = value;
29
+ // SAFETY: The setter has filled title on this instance; Set tracks filled fields without changing the runtime instance.
18
30
  return this;
19
31
  }
20
32
  description(value) {
21
33
  this.data.description = value;
34
+ // SAFETY: The setter has filled description on this instance; Set tracks filled fields without changing the runtime instance.
22
35
  return this;
23
36
  }
24
37
  subject(subject) {
25
38
  this.data.subject = subject;
39
+ // SAFETY: The setter has filled subject on this instance; Set tracks filled fields without changing the runtime instance.
26
40
  return this;
27
41
  }
28
42
  linkTo(value) {
29
43
  this.data.linkTo = value;
44
+ // SAFETY: The setter has filled linkTo on this instance; Set tracks filled fields without changing the runtime instance.
30
45
  return this;
31
46
  }
32
47
  params(value) {
33
48
  this.data.params = value;
49
+ // SAFETY: The setter has filled params on this instance; Set tracks filled fields without changing the runtime instance.
34
50
  return this;
35
51
  }
36
52
  /** Colours the icon well the notification is listed with. */
37
53
  tone(value) {
38
54
  this.data.tone = value;
55
+ // SAFETY: The setter has filled tone on this instance; Set tracks filled fields without changing the runtime instance.
39
56
  return this;
40
57
  }
41
58
  build() {
59
+ if (!isComplete(this.data)) {
60
+ throw new Error(`Notification is missing required fields: ${missingFields(this.data).join(", ")}`);
61
+ }
42
62
  return new sendable_1.SendableNotification(this.data);
43
63
  }
44
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/notifications/builder.ts"],"names":[],"mappings":";;;AAAA,+EAA+E;AAC/E,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,yDAAyD;AACzD,yCAAkD;AAQlD,MAAa,mBAAmB;IACtB,IAAI,GAA8B,EAAE,CAAC;IAE7C,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACvB,OAAO,IAAoD,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,OAAO,IAAqD,CAAC;IAC/D,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC9B,OAAO,IAA2D,CAAC;IACrE,CAAC;IAED,OAAO,CACL,OAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,OAAO,IAAuD,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,OAAO,IAAsD,CAAC;IAChE,CAAC;IAED,MAAM,CACJ,KAAsC;QAEtC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,OAAO,IAAsD,CAAC;IAChE,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC,KAAuB;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACvB,OAAO,IAAoD,CAAC;IAC9D,CAAC;IAED,KAAK;QAGH,OAAO,IAAI,+BAAoB,CAAC,IAAI,CAAC,IAAwB,CAAC,CAAC;IACjE,CAAC;CACF;AAhDD,kDAgDC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/notifications/builder.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAQlD,MAAM,eAAe,GAAiC;IACpD,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,SAAS,aAAa,CAAC,IAA+B;IACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACjB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAC3B,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,IAA+B;IACjD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,MAAa,mBAAmB;IACtB,IAAI,GAA8B,EAAE,CAAC;IAE7C,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACvB,uHAAuH;QACvH,OAAO,IAAyC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,wHAAwH;QACxH,OAAO,IAA0C,CAAC;IACpD,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC9B,8HAA8H;QAC9H,OAAO,IAAgD,CAAC;IAC1D,CAAC;IAED,OAAO,CACL,OAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,0HAA0H;QAC1H,OAAO,IAA4C,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,yHAAyH;QACzH,OAAO,IAA2C,CAAC;IACrD,CAAC;IAED,MAAM,CACJ,KAAsC;QAEtC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,yHAAyH;QACzH,OAAO,IAA2C,CAAC;IACrD,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC,KAAuB;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACvB,uHAAuH;QACvH,OAAO,IAAyC,CAAC;IACnD,CAAC;IAED,KAAK;QAGH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,4CAA4C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,+BAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF;AA5DD,kDA4DC"}
@@ -2,9 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.internal = void 0;
4
4
  const interface_core_1 = require("@antelopejs/interface-core");
5
- // On its own rather than in index.ts: sendable.ts sends through these proxies
6
- // and index.ts imports the builder that imports sendable, so reading them from
7
- // the barrel closed a cycle.
8
5
  /**
9
6
  * @internal
10
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/notifications/internal.ts"],"names":[],"mappings":";;;AAAA,+DAGoC;AAUpC,8EAA8E;AAC9E,+EAA+E;AAC/E,6BAA6B;AAE7B;;GAEG;AACH,IAAiB,QAAQ,CAmDxB;AAnDD,WAAiB,QAAQ;IACV,4BAAmB,GAC9B,IAAA,kCAAiB,GAA0B,CAAC;IAEjC,qCAA4B,GAAG,IAAI,iCAAgB,EAE7D,CAAC;IACS,oCAA2B,GAAG,IAAI,iCAAgB,EAE5D,CAAC;IAES,mBAAU,GACrB,IAAA,kCAAiB,GAQd,CAAC;IAEO,oBAAW,GACtB,IAAA,kCAAiB,GAQd,CAAC;IAEO,oBAAW,GACtB,IAAA,kCAAiB,GAMd,CAAC;IAEO,kBAAS,GACpB,IAAA,kCAAiB,GAOd,CAAC;AACR,CAAC,EAnDgB,QAAQ,wBAAR,QAAQ,QAmDxB"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/notifications/internal.ts"],"names":[],"mappings":";;;AAAA,+DAGoC;AAUpC;;GAEG;AACH,IAAiB,QAAQ,CAmDxB;AAnDD,WAAiB,QAAQ;IACV,4BAAmB,GAC9B,IAAA,kCAAiB,GAA0B,CAAC;IAEjC,qCAA4B,GAAG,IAAI,iCAAgB,EAE7D,CAAC;IACS,oCAA2B,GAAG,IAAI,iCAAgB,EAE5D,CAAC;IAES,mBAAU,GACrB,IAAA,kCAAiB,GAQd,CAAC;IAEO,oBAAW,GACtB,IAAA,kCAAiB,GAQd,CAAC;IAEO,oBAAW,GACtB,IAAA,kCAAiB,GAMd,CAAC;IAEO,kBAAS,GACpB,IAAA,kCAAiB,GAOd,CAAC;AACR,CAAC,EAnDgB,QAAQ,wBAAR,QAAQ,QAmDxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"sendable.js","sourceRoot":"","sources":["../../src/notifications/sendable.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAQtC,SAAS,UAAU,CAAC,OAAoB;IACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,MAAa,oBAAoB;IACd,IAAI,CAAmB;IAExC,YAAY,IAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAqB,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,UAAuB,EAAE;QACpD,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,mBAAQ,CAAC,UAAU,CACvB,MAAM,EACN,IAAI,CAAC,IAAI,EACT,SAAS,EACT,OAAO,CAAC,cAAc,EACtB,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE,UAAuB,EAAE;QACxD,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,mBAAQ,CAAC,WAAW,CACxB,OAAO,EACP,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,cAAc,EACtB,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC;IACJ,CAAC;IAED,qGAAqG;IACrG,KAAK,CAAC,mBAAmB,CACvB,OAAiB,EACjB,cAAsB,EACtB,UAAuB,EAAE;QAEzB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,OAAO,CACX,OAAiB,EACjB,UAA2B,EAAE;QAE7B,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,mBAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAuB,EAAE;QACvC,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,mBAAQ,CAAC,SAAS,CACtB,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,cAAc,EACtB,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,OAAoB;QAC1D,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;YAAE,OAAO;QACjD,IAAI,CAAC,MAAM,mBAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;CACF;AApED,oDAoEC"}
1
+ {"version":3,"file":"sendable.js","sourceRoot":"","sources":["../../src/notifications/sendable.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAQtC,SAAS,UAAU,CAAC,OAAoB;IACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,MAAa,oBAAoB;IACd,IAAI,CAAmB;IAExC,YAAY,IAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,UAAuB,EAAE;QACpD,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,mBAAQ,CAAC,UAAU,CACvB,MAAM,EACN,IAAI,CAAC,IAAI,EACT,SAAS,EACT,OAAO,CAAC,cAAc,EACtB,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE,UAAuB,EAAE;QACxD,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,mBAAQ,CAAC,WAAW,CACxB,OAAO,EACP,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,cAAc,EACtB,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC;IACJ,CAAC;IAED,qGAAqG;IACrG,KAAK,CAAC,mBAAmB,CACvB,OAAiB,EACjB,cAAsB,EACtB,UAAuB,EAAE;QAEzB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,OAAO,CACX,OAAiB,EACjB,UAA2B,EAAE;QAE7B,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,mBAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAuB,EAAE;QACvC,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,mBAAQ,CAAC,SAAS,CACtB,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,cAAc,EACtB,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,OAAoB;QAC1D,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;YAAE,OAAO;QACjD,IAAI,CAAC,MAAM,mBAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;CACF;AApED,oDAoEC"}
@@ -4,10 +4,7 @@ exports.internal = void 0;
4
4
  exports.isInsideModule = isInsideModule;
5
5
  const interface_core_1 = require("@antelopejs/interface-core");
6
6
  const registry_1 = require("./internal/registry");
7
- // Category creation in internal/categories registers through the proxies
8
- // declared here, and isInsideModule resolves categories through it: neither
9
- // module dereferences the other while it evaluates.
10
- // oxlint-disable-next-line import/no-cycle
7
+ // oxlint-disable-next-line import/no-cycle -- Category creation registers through these proxies; resolveCategoryInfo is called only after module evaluation.
11
8
  const categories_1 = require("./internal/categories");
12
9
  /**
13
10
  * A registration proxy that accepts a per-context view of its entries.
@@ -1 +1 @@
1
- {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/page/categories.ts"],"names":[],"mappings":";;;AA+FA,wCAWC;AAzGD,+DAA8D;AAC9D,kDAQ6B;AAQ7B,yEAAyE;AACzE,4EAA4E;AAC5E,oDAAoD;AACpD,2CAA2C;AAC3C,sDAA4D;AAE5D;;;;;;;;;GASG;AACH,MAAM,0BAA6C,SAAQ,iCAE1D;IAC8B;IAA7B,YAA6B,QAAiC;QAC5D,KAAK,EAAE,CAAC;QADmB,aAAQ,GAAR,QAAQ,CAAyB;IAE9D,CAAC;IAEQ,QAAQ,CAAC,KAAQ;QACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAEQ,UAAU,CAAC,KAAQ;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,6BAA8B,SAAQ,0BAA6C;IACvF;QACE,KAAK,CAAC,gCAAqB,CAAC,CAAC;IAC/B,CAAC;IAEQ,QAAQ,CAAC,KAAwB;QACxC,IAAA,sCAA2B,EAAC,KAAK,CAAC,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF;AAED;;GAEG;AACH,IAAiB,QAAQ,CAgBxB;AAhBD,WAAiB,QAAQ;IACV,yBAAgB,GAAG,IAAI,0BAA0B,CAC5D,2BAAgB,CACjB,CAAC;IACW,qBAAY,GAAG,IAAI,0BAA0B,CACxD,uBAAY,CACb,CAAC;IACW,uBAAc,GAAG,IAAI,0BAA0B,CAC1D,yBAAc,CACf,CAAC;IACW,oCAA2B,GACtC,IAAI,0BAA0B,CAC5B,sCAA2B,CAC5B,CAAC;IAES,8BAAqB,GAAG,IAAI,6BAA6B,EAAE,CAAC;AAC3E,CAAC,EAhBgB,QAAQ,wBAAR,QAAQ,QAgBxB;AAQD,SAAgB,cAAc,CAAC,KAAkB;IAC/C,IAAI,KAAK,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,OAAO,GAA+C,KAAK,CAAC,QAAQ,CAAC;IACzE,OAAO,OAAO,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,IAAA,gCAAmB,EAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,QAAQ,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/page/categories.ts"],"names":[],"mappings":";;;AA4FA,wCAWC;AAtGD,+DAA8D;AAC9D,kDAQ6B;AAQ7B,6JAA6J;AAC7J,sDAA4D;AAE5D;;;;;;;;;GASG;AACH,MAAM,0BAA6C,SAAQ,iCAE1D;IAC8B;IAA7B,YAA6B,QAAiC;QAC5D,KAAK,EAAE,CAAC;QADmB,aAAQ,GAAR,QAAQ,CAAyB;IAE9D,CAAC;IAEQ,QAAQ,CAAC,KAAQ;QACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAEQ,UAAU,CAAC,KAAQ;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,6BAA8B,SAAQ,0BAA6C;IACvF;QACE,KAAK,CAAC,gCAAqB,CAAC,CAAC;IAC/B,CAAC;IAEQ,QAAQ,CAAC,KAAwB;QACxC,IAAA,sCAA2B,EAAC,KAAK,CAAC,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF;AAED;;GAEG;AACH,IAAiB,QAAQ,CAgBxB;AAhBD,WAAiB,QAAQ;IACV,yBAAgB,GAAG,IAAI,0BAA0B,CAC5D,2BAAgB,CACjB,CAAC;IACW,qBAAY,GAAG,IAAI,0BAA0B,CACxD,uBAAY,CACb,CAAC;IACW,uBAAc,GAAG,IAAI,0BAA0B,CAC1D,yBAAc,CACf,CAAC;IACW,oCAA2B,GACtC,IAAI,0BAA0B,CAC5B,sCAA2B,CAC5B,CAAC;IAES,8BAAqB,GAAG,IAAI,6BAA6B,EAAE,CAAC;AAC3E,CAAC,EAhBgB,QAAQ,wBAAR,QAAQ,QAgBxB;AAQD,SAAgB,cAAc,CAAC,KAAkB;IAC/C,IAAI,KAAK,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,OAAO,GAA+C,KAAK,CAAC,QAAQ,CAAC;IACzE,OAAO,OAAO,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,IAAA,gCAAmB,EAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,QAAQ,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -11,6 +11,7 @@ const interface_core_1 = require("@antelopejs/interface-core");
11
11
  const decorators_1 = require("@antelopejs/interface-core/decorators");
12
12
  const logging_1 = require("@antelopejs/interface-core/logging");
13
13
  const component_1 = require("../component");
14
+ const controller_options_1 = require("./internal/controller-options");
14
15
  const categories_1 = require("./internal/categories");
15
16
  const categories_2 = require("./categories");
16
17
  const metadata_1 = require("./metadata");
@@ -20,18 +21,13 @@ const fire_and_forget_1 = require("../utils/fire-and-forget");
20
21
  * Static component fields of a class, in declaration order. Underscore-prefixed
21
22
  * fields are skipped, so a class can keep private static state.
22
23
  */
23
- // `object` is the contract: this walks a decorated class whose static
24
- // fields are only known at run time, which is the whole point of the
25
- // decorator. A narrower type would only push an assertion here.
26
- // oxlint-disable-next-line anti-slop/no-object-parameters
24
+ // oxlint-disable-next-line anti-slop/no-object-parameters -- Decorated classes expose static component fields known only at runtime.
27
25
  function collectStaticComponents(cl) {
28
26
  const fields = [];
29
27
  for (const key of Object.getOwnPropertyNames(cl)) {
30
28
  if (key.startsWith("_"))
31
29
  continue;
32
- // Reading a static field whose name is only known at run time is the
33
- // whole job here; the alternative is an assertion to a dictionary.
34
- // oxlint-disable-next-line anti-slop/no-reflect-get
30
+ // oxlint-disable-next-line anti-slop/no-reflect-get -- The static field name comes from Object.getOwnPropertyNames; its value is narrowed with instanceof Component.
35
31
  const value = Reflect.get(cl, key);
36
32
  if (value instanceof component_1.Component) {
37
33
  fields.push({ key, component: value });
@@ -40,6 +36,7 @@ function collectStaticComponents(cl) {
40
36
  return fields;
41
37
  }
42
38
  exports.RegisterPage = (0, decorators_1.MakeClassDecorator)((cl) => {
39
+ // oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- The decorator accepts any class and trusts callers to apply it to a page controller; checking inheritance would change the published decorator's behavior.
43
40
  const meta = (0, interface_core_1.GetMetadata)(cl, metadata_1.PageMetadata);
44
41
  for (const { key, component } of collectStaticComponents(cl)) {
45
42
  meta.SetComponent(key, component);
@@ -47,15 +44,10 @@ exports.RegisterPage = (0, decorators_1.MakeClassDecorator)((cl) => {
47
44
  (0, fire_and_forget_1.fireAndForget)(meta.Register(), "page registration");
48
45
  });
49
46
  function buildExtensionComponents(
50
- // `object` is the contract: this walks a decorated class whose static
51
- // fields are only known at run time, which is the whole point of the
52
- // decorator. A narrower type would only push an assertion here.
53
- // oxlint-disable-next-line anti-slop/no-object-parameters
47
+ // oxlint-disable-next-line anti-slop/no-object-parameters -- Extension components are collected from the decorated class static fields at runtime.
54
48
  extensionClass) {
55
49
  return collectStaticComponents(extensionClass).map(({ key, component }) => {
56
50
  const placement = component.placement ?? component_1.DEFAULT_PLACEMENT;
57
- // `anchorPath` is set only when the placement names an anchor: its absence
58
- // is what extension-assembly reads as "append at the end".
59
51
  const entry = {
60
52
  key,
61
53
  component,
@@ -127,48 +119,13 @@ exports.RegisterPageExtension = (0, decorators_1.MakeClassDecorator)((cl, target
127
119
  };
128
120
  categories_2.internal.RegisterPageExtension.register(info);
129
121
  });
130
- function assertHasCategoryOrModule(id, options, kind) {
131
- if (!options.category && !options.module) {
132
- throw new Error(`${kind} "${id}" must declare either "category" or "module" in its options.`);
133
- }
134
- }
135
- const LIVE_PERIOD_PATTERN = /^[1-9]\d*[mhd]$/;
136
- function assertPositiveRate(id, name, rate) {
137
- if (typeof rate === "number" && Number.isFinite(rate) && rate > 0)
138
- return;
139
- throw new Error(`Page "${id}" declares ${name} ${String(rate)}: it must be a positive number of seconds.`);
140
- }
141
- function assertValidSlowRate(id, live) {
142
- const slow = live.slowRateAfter;
143
- if (slow === undefined)
144
- return;
145
- assertPositiveRate(id, "live.slowRateAfter.maxRate", slow.maxRate);
146
- if (!LIVE_PERIOD_PATTERN.test(String(slow.period))) {
147
- throw new Error(`Page "${id}" declares live.slowRateAfter.period "${String(slow.period)}": it must read like "30m", "24h" or "7d".`);
148
- }
149
- }
150
- // A rate the browser would read as "no cap" or as a busy loop, a period it
151
- // cannot read or an empty remember key are refused at declaration, where the module
152
- // author sees them, rather than ignored at run time.
153
- function assertValidLiveOptions(id, options) {
154
- const live = options.live;
155
- if (!live)
156
- return;
157
- if (live.maxRate !== undefined) {
158
- assertPositiveRate(id, "live.maxRate", live.maxRate);
159
- }
160
- assertValidSlowRate(id, live);
161
- if (live.rememberKey !== undefined && live.rememberKey.trim() === "") {
162
- throw new Error(`Page "${id}" declares an empty live.rememberKey.`);
163
- }
164
- }
165
122
  function Category(id, options) {
166
- assertHasCategoryOrModule(id, options, "Category");
123
+ (0, controller_options_1.assertHasCategoryOrModule)(id, options, "Category");
167
124
  return (0, categories_1.createCategoryFunction)(id, options);
168
125
  }
169
126
  function PageController(id, options, layout) {
170
- assertHasCategoryOrModule(id, options, "Page");
171
- assertValidLiveOptions(id, options);
127
+ (0, controller_options_1.assertHasCategoryOrModule)(id, options, "Page");
128
+ (0, controller_options_1.assertValidLiveOptions)(id, options);
172
129
  const resolvedOptions = (0, categories_1.applyModuleResolution)(id, options);
173
130
  const resolvedCategory = (0, categories_1.resolveCategoryInfo)(resolvedOptions.category);
174
131
  (0, categories_1.validateNotInsideSettings)(resolvedOptions.module, resolvedCategory);
@@ -180,7 +137,7 @@ function PageController(id, options, layout) {
180
137
  return cl;
181
138
  }
182
139
  function RootPageController(id, options, layout) {
183
- assertValidLiveOptions(id, options);
140
+ (0, controller_options_1.assertValidLiveOptions)(id, options);
184
141
  const fullSlug = (0, categories_1.calculateFullSlug)(id, options);
185
142
  const cl = class extends (0, interface_api_1.Controller)((0, page_routes_1.pageRoutePath)(fullSlug)) {
186
143
  };
@@ -249,9 +206,6 @@ function RootCategory(id, options) {
249
206
  if (RESERVED_ROOT_CATEGORY_IDS.has(id)) {
250
207
  throw new Error(`RootCategory id "${id}" is reserved by the built-in Pages/Modules/Settings groups. Choose a different id.`);
251
208
  }
252
- // Spread options first so an explicitly-passed type wins, then default an
253
- // omitted type to "label". Spreading after the default would let an explicit
254
- // `type: undefined` clobber it.
255
209
  return (0, categories_1.RootCategory)(id, {
256
210
  ...options,
257
211
  type: options.type ?? "label",
@@ -1 +1 @@
1
- {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/page/controllers.ts"],"names":[],"mappings":";;;AAkNA,4BAGC;AAED,wCAkBC;AAED,gDAeC;AAiCD,kEAOC;AA0BD,oCAgBC;AA5UD,6DAA6E;AAC7E,+DAIoC;AACpC,sEAA2E;AAC3E,gEAA6D;AAC7D,4CAAgF;AAChF,sDAO+B;AAC/B,6CAAwC;AACxC,yCAA0C;AAC1C,+CAA8C;AAU9C,8DAAyD;AAOzD;;;GAGG;AACH,sEAAsE;AACtE,qEAAqE;AACrE,gEAAgE;AAChE,0DAA0D;AAC1D,SAAS,uBAAuB,CAAC,EAAU;IACzC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC;QACjD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAElC,qEAAqE;QACrE,mEAAmE;QACnE,oDAAoD;QACpD,MAAM,KAAK,GAAY,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,KAAK,YAAY,qBAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAEY,QAAA,YAAY,GAAG,IAAA,+BAAkB,EAAC,CAAC,EAAE,EAAE,EAAE;IACpD,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,EAAqB,EAAE,uBAAY,CAAC,CAAC;IAE9D,KAAK,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,uBAAuB,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,IAAA,+BAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,mBAAmB,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,SAAS,wBAAwB;AAC/B,sEAAsE;AACtE,qEAAqE;AACrE,gEAAgE;AAChE,0DAA0D;AAC1D,cAAsB;IAEtB,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;QACxE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,6BAAiB,CAAC;QAC3D,2EAA2E;QAC3E,2DAA2D;QAC3D,MAAM,KAAK,GAA2B;YACpC,GAAG;YACH,SAAS;YACT,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACU,QAAA,qBAAqB,GAAG,IAAA,+BAAkB,EACrD,CAAC,EAAE,EAAE,YAAoB,EAAE,EAAE;IAC3B,MAAM,aAAa,GAChB,EAAsB,CAAC,IAAI,IAAI,0BAA0B,CAAC;IAC7D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,mBAAmB,aAAa,2FAA2F,CAC5H,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAChD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,iBAAO,CAAC,IAAI,CACV,yBAAyB,aAAa,kEAAkE,YAAY,IAAI,CACzH,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAsB;QAC9B,aAAa;QACb,YAAY,EAAE,YAAY;QAC1B,UAAU;KACX,CAAC;IACF,qBAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC,CACF,CAAC;AAEF,SAAS,yBAAyB,CAChC,EAAU,EACV,OAAoB,EACpB,IAAyB;IAEzB,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,KAAK,EAAE,8DAA8D,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAE9C,SAAS,kBAAkB,CAAC,EAAU,EAAE,IAAY,EAAE,IAAa;IACjE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO;IAC1E,MAAM,IAAI,KAAK,CACb,SAAS,EAAE,cAAc,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAC1F,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAU,EAAE,IAAqB;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;IAChC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,kBAAkB,CAAC,EAAE,EAAE,4BAA4B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,SAAS,EAAE,yCAAyC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,4CAA4C,CACpH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,oFAAoF;AACpF,qDAAqD;AACrD,SAAS,sBAAsB,CAAC,EAAU,EAAE,OAAoB;IAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAgB,QAAQ,CAAC,EAAU,EAAE,OAAoB;IACvD,yBAAyB,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACnD,OAAO,IAAA,mCAAsB,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,cAAc,CAC5B,EAAU,EACV,OAAoB,EACpB,MAAsB;IAEtB,yBAAyB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,sBAAsB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,eAAe,GAAG,IAAA,kCAAqB,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAA,gCAAmB,EAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvE,IAAA,sCAAyB,EAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,IAAA,8BAAiB,EAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACxD,MAAM,EAAE,GAAG,KAAM,SAAQ,IAAA,0BAAU,EAAC,IAAA,2BAAa,EAAC,QAAQ,CAAC,CAAC;KAAG,CAAC;IAEhE,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,EAAE,EAAE,uBAAY,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAEpD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,kBAAkB,CAChC,EAAU,EACV,OAEC,EACD,MAAsB;IAEtB,sBAAsB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAA,8BAAiB,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,KAAM,SAAQ,IAAA,0BAAU,EAAC,IAAA,2BAAa,EAAC,QAAQ,CAAC,CAAC;KAAG,CAAC;IAEhE,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,EAAE,EAAE,uBAAY,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAE5C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAgB,2BAA2B,CACzC,cAAsB,EACtB,QAA6B;IAE7B,MAAM,IAAI,GAA4B,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;IACnE,qBAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,GAAG,EAAE,CAAC,qBAAQ,CAAC,2BAA2B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;GAUG;AACU,QAAA,iBAAiB,GAC5B,IAAA,kCAAiB,GAA+B,CAAC;AAEnD,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,EAAU,EACV,OAAiD;IAEjD,IAAI,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,oBAAoB,EAAE,qFAAqF,CAC5G,CAAC;IACJ,CAAC;IACD,0EAA0E;IAC1E,6EAA6E;IAC7E,gCAAgC;IAChC,OAAO,IAAA,yBAAkB,EAAC,EAAE,EAAE;QAC5B,GAAG,OAAO;QACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO;KAC9B,CAAC,CAAC;AACL,CAAC;AA8HY,QAAA,iBAAiB,GAC5B,IAAA,kCAAiB,GAA8C,CAAC;AAoElE,+GAA+G;AAClG,QAAA,kBAAkB,GAC7B,IAAA,kCAAiB,GAAkC,CAAC;AAEtD;;;;;;;;;;;GAWG;AACU,QAAA,sBAAsB,GAAG,IAAI,2BAAU,CAClD,iCAAiC,CAClC,CAAC"}
1
+ {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/page/controllers.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,4 @@
1
1
  "use strict";
2
- // Page-mode form sub-pages are not declared: the TableView factory registers
3
- // one set of them per table view, deriving their id and their slug from the
4
- // page and from the table view's own key. Two table views resolving to the same
5
- // id or the same slug used to be silent — `publish()` disposes whatever already
6
- // held the id, and the layout handler map keeps only the last writer for a slug
7
- // — so a page would boot with one of its two forms quietly gone. Claims are
8
- // checked here instead, and a collision is fatal.
9
2
  Object.defineProperty(exports, "__esModule", { value: true });
10
3
  exports.FormPageRouteConflictError = void 0;
11
4
  const declaration_conflict_1 = require("./declaration-conflict");
@@ -1 +1 @@
1
- {"version":3,"file":"form-page-routes.js","sourceRoot":"","sources":["../../src/page/form-page-routes.ts"],"names":[],"mappings":";AAAA,6EAA6E;AAC7E,4EAA4E;AAC5E,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,4EAA4E;AAC5E,kDAAkD;;;AAElD,iEAAsE;AAEtE;;;;GAIG;AACH,MAAa,0BAA2B,SAAQ,mDAA4B;CAAG;AAA/E,gEAA+E"}
1
+ {"version":3,"file":"form-page-routes.js","sourceRoot":"","sources":["../../src/page/form-page-routes.ts"],"names":[],"mappings":";;;AAAA,iEAAsE;AAEtE;;;;GAIG;AACH,MAAa,0BAA2B,SAAQ,mDAA4B;CAAG;AAA/E,gEAA+E"}
@@ -1,5 +1,5 @@
1
1
  import type { ControllerClass } from "@antelopejs/interface-api";
2
- import type { ComponentInfo } from "../../component";
2
+ import { type ComponentInfo } from "../../component";
3
3
  import type { CategoryInfo, MenuOptions, PageExtensionInfo, PageInfo } from "../types";
4
4
  /**
5
5
  * Resolve a category to CategoryInfo
@@ -12,21 +12,17 @@ exports.revokePageExtension = revokePageExtension;
12
12
  exports.clearPageMetadata = clearPageMetadata;
13
13
  exports.RootCategory = RootCategory;
14
14
  const interface_core_1 = require("@antelopejs/interface-core");
15
+ const component_1 = require("../../component");
15
16
  const permissions_1 = require("../../permissions");
16
- // Categories resolve controller classes through their PageMetadata, and the
17
- // metadata module registers pages through the proxies declared in
18
- // ../categories: the cycle stays safe because none of these modules
19
- // dereferences another while it evaluates — only from inside function bodies.
20
- // oxlint-disable-next-line import/no-cycle
17
+ // oxlint-disable-next-line import/no-cycle -- Category resolution reads PageMetadata inside functions; page registration uses the proxies declared in categories.
21
18
  const metadata_1 = require("../metadata");
22
19
  const logging_1 = require("@antelopejs/interface-core/logging");
23
20
  const fire_and_forget_1 = require("../../utils/fire-and-forget");
24
21
  const registry_1 = require("./registry");
22
+ const category_permission_1 = require("./category-permission");
25
23
  const member_access_1 = require("./member-access");
26
24
  const types_1 = require("./types");
27
- // The proxies and isInsideModule are only read inside function bodies; see
28
- // the matching import in ../categories.
29
- // oxlint-disable-next-line import/no-cycle
25
+ // oxlint-disable-next-line import/no-cycle -- Category proxies and isInsideModule are read inside functions, after module evaluation.
30
26
  const categories_1 = require("../categories");
31
27
  /**
32
28
  * Resolve a category to CategoryInfo
@@ -39,6 +35,7 @@ function resolveCategoryInfo(category) {
39
35
  if (!category) {
40
36
  return undefined;
41
37
  }
38
+ // oxlint-disable-next-line anti-slop/no-runtime-typeof -- The published category union distinguishes controller constructors from CategoryInfo objects by callability.
42
39
  if (typeof category === "function") {
43
40
  const meta = (0, interface_core_1.GetMetadata)(category, metadata_1.PageMetadata);
44
41
  if (!meta.pageInfo) {
@@ -66,10 +63,8 @@ function resolveInheritedLayout(category) {
66
63
  }
67
64
  return undefined;
68
65
  }
69
- // Unlike resolveCategoryInfo, a parent class that is not a registered page
70
- // ends the walk instead of throwing: the page declaring it reports that when
71
- // it registers, not while its layout is being chosen.
72
66
  function findCategoryInfo(category) {
67
+ // oxlint-disable-next-line anti-slop/no-runtime-typeof -- The category union represents a controller constructor or resolved metadata, not unparsed input.
73
68
  if (typeof category !== "function")
74
69
  return category;
75
70
  return (0, interface_core_1.GetMetadata)(category, metadata_1.PageMetadata).pageInfo;
@@ -117,9 +112,6 @@ function resolveCategoryFromOptions(id, options) {
117
112
  if (!moduleRoot) {
118
113
  throw new Error(`"${id}" references unknown module "${options.module}". Make sure RegisterModule was called before registration.`);
119
114
  }
120
- // Loose pages attach to the module's default category when one is declared,
121
- // so they render under a controllable heading instead of the generic
122
- // "Pages" group. Otherwise they sit directly under the module root.
123
115
  return registry_1.moduleDefaultCategories.get(options.module) ?? moduleRoot;
124
116
  }
125
117
  return undefined;
@@ -134,10 +126,6 @@ function validateExplicitCategoryMatchesModule(id, category, moduleId) {
134
126
  throw new Error(`Page "${id}" declares module "${moduleId}" but its explicit category is not a descendant of that module's root.`);
135
127
  }
136
128
  }
137
- // The settings root is compared by its stable fullId, not through the
138
- // `settingsCategory` object: that object lives in the bootstrap module, which
139
- // this module underpins — importing it back would make the graph circular for
140
- // a check that only needs the id.
141
129
  const SETTINGS_ROOT_FULL_ID = "settings";
142
130
  /** @internal */
143
131
  function validateNotInsideSettings(moduleId, resolved) {
@@ -172,34 +160,24 @@ function createCategoryFunction(id, options) {
172
160
  resolvedCategory?.bypassTenantAccessGate,
173
161
  };
174
162
  categories_1.internal.RegisterCategory.register(categoryInfo);
175
- // Left exactly as it was, and it is wrong: when `permission` is an Action,
176
- // the spread copies the action's `id` and `definition` over the category's
177
- // own and leaves the permission with no title, so the category registers
178
- // under the action's short id while `resolvePagePermissionId` later looks it
179
- // up under the full one.
180
- //
181
- // Not fixed here. registerPagePermission converts through `toPermission()`
182
- // and skips registration when it succeeds, but it runs at page-registration
183
- // time; a category is built at import time, before `permissionMap` holds the
184
- // component, so `toPermission()` returns undefined and the same spread runs
185
- // anyway. Making this right means deciding when a category's permission is
186
- // resolved, which is a design question and not a lint pass.
187
163
  const categoryPermission = {
188
164
  id: categoryInfo.fullId,
189
165
  title: categoryInfo.displayName,
190
166
  icon: categoryInfo.icon,
191
167
  defaultGranted: categoryInfo.publicAccess || (0, member_access_1.opensToMembers)(categoryInfo.memberAccess),
192
- // oxlint-disable-next-line typescript/no-misused-spread
193
- ...categoryInfo.permission,
168
+ ...ownPermission(categoryInfo.permission),
194
169
  };
195
170
  if ((0, categories_1.isInsideModule)(categoryInfo)) {
196
- (0, permissions_1.MarkModuleScopedPermission)(categoryPermission.id);
171
+ (0, permissions_1.MarkModuleScopedPermission)((0, category_permission_1.categoryOwnPermissionId)(categoryInfo));
197
172
  }
198
- else {
173
+ else if (!(categoryInfo.permission instanceof component_1.Action)) {
199
174
  (0, permissions_1.RegisterPermission)(categoryPermission.id, categoryPermission);
200
175
  }
201
176
  return categoryInfo;
202
177
  }
178
+ function ownPermission(permission) {
179
+ return permission instanceof component_1.Action ? undefined : permission;
180
+ }
203
181
  /** @internal */
204
182
  function applyModuleResolution(id, options) {
205
183
  const resolvedReference = resolveCategoryFromOptions(id, options);
@@ -225,8 +203,6 @@ function revokePageExtension(info) {
225
203
  const registered = registry_1.pageExtensions.get(info.targetFullId);
226
204
  if (!registered)
227
205
  return;
228
- // By token: the implementation hands the extension back as a view of
229
- // itself, and dropping it by reference would revoke nothing.
230
206
  const remaining = registered.filter((entry) => !registry_1.pageExtensionIdentity.isSame(entry, info));
231
207
  if (remaining.length === 0) {
232
208
  registry_1.pageExtensions.delete(info.targetFullId);
@@ -1 +1 @@
1
- {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../src/page/internal/categories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../src/page/internal/categories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { CategoryInfo } from "../types";
2
+ /**
3
+ * The permission id a category owns: its own `fullId` unless it overrides it
4
+ * with a permission object. A category whose permission is an `Action` owns
5
+ * none, since the Action's permission belongs to its component and is only
6
+ * known once that component sits on a page.
7
+ *
8
+ * @internal
9
+ */
10
+ export declare function categoryOwnPermissionId(category: CategoryInfo): string;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.categoryOwnPermissionId = categoryOwnPermissionId;
4
+ /** @internal */
5
+ const component_1 = require("../../component");
6
+ /**
7
+ * The permission id a category owns: its own `fullId` unless it overrides it
8
+ * with a permission object. A category whose permission is an `Action` owns
9
+ * none, since the Action's permission belongs to its component and is only
10
+ * known once that component sits on a page.
11
+ *
12
+ * @internal
13
+ */
14
+ function categoryOwnPermissionId(category) {
15
+ const permission = category.permission;
16
+ if (permission instanceof component_1.Action)
17
+ return category.fullId;
18
+ return permission?.id || category.fullId;
19
+ }
20
+ //# sourceMappingURL=category-permission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-permission.js","sourceRoot":"","sources":["../../../src/page/internal/category-permission.ts"],"names":[],"mappings":";;AAYA,0DAIC;AAhBD,gBAAgB;AAChB,+CAAyC;AAGzC;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,QAAsB;IAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,IAAI,UAAU,YAAY,kBAAM;QAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzD,OAAO,UAAU,EAAE,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC;AAC3C,CAAC"}
@@ -12,10 +12,10 @@ const component_1 = require("../../component");
12
12
  */
13
13
  function getDeclaredComponentChildren(component) {
14
14
  const info = component.componentInfo;
15
+ // oxlint-disable-next-line anti-slop/no-runtime-typeof -- Preserve duck-typed thenable exclusion.
15
16
  if (!info || typeof info.then === "function")
16
17
  return [];
17
- return (info.children ??
18
- []);
18
+ return info.children ?? [];
19
19
  }
20
20
  function targetParts(target) {
21
21
  return target instanceof component_1.ComponentTarget
@@ -1 +1 @@
1
- {"version":3,"file":"component-target.js","sourceRoot":"","sources":["../../../src/page/internal/component-target.ts"],"names":[],"mappings":";;AAyBA,oEASC;AAmCD,wDAUC;AAQD,wDAKC;AAOD,0DAIC;AAvGD,+CAMyB;AAczB;;;;GAIG;AACH,SAAgB,4BAA4B,CAC1C,SAAoB;IAEpB,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC;IACrC,IAAI,CAAC,IAAI,IAAI,OAAQ,IAAyB,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IAC9E,OAAO,CACJ,IAA8D,CAAC,QAAQ;QACxE,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAA4B;IAC/C,OAAO,MAAM,YAAY,2BAAe;QACtC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,2BAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAOD,SAAS,iBAAiB,CACxB,IAAe,EACf,IAAuB;IAEvB,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,MAA6B,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC,IAAI,CACxD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAC3B,CAAC;QACF,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,MAAM,GAAG,SAAS,CAAC;QACnB,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CACpC,MAA4B,EAC5B,KAA6B;IAE7B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACzE,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,cAAsB,EACtB,OAAe;IAEf,OAAO,GAAG,cAAc,UAAU,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,MAA+B;IAE/B,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"component-target.js","sourceRoot":"","sources":["../../../src/page/internal/component-target.ts"],"names":[],"mappings":";;AAwBA,oEAQC;AAmCD,wDAUC;AAQD,wDAKC;AAOD,0DAIC;AArGD,+CAKyB;AAczB;;;;GAIG;AACH,SAAgB,4BAA4B,CAC1C,SAAoB;IAEpB,MAAM,IAAI,GACoB,SAAS,CAAC,aAAa,CAAC;IACtD,kGAAkG;IAClG,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IACxD,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,MAA4B;IAC/C,OAAO,MAAM,YAAY,2BAAe;QACtC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,2BAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAOD,SAAS,iBAAiB,CACxB,IAAe,EACf,IAAuB;IAEvB,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,MAA6B,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC,IAAI,CACxD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAC3B,CAAC;QACF,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,MAAM,GAAG,SAAS,CAAC;QACnB,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CACpC,MAA4B,EAC5B,KAA6B;IAE7B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACzE,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,cAAsB,EACtB,OAAe;IAEf,OAAO,GAAG,cAAc,UAAU,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,MAA+B;IAE/B,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACpE,CAAC"}
@@ -33,8 +33,6 @@ function collectComponentTree(root, rootPermissionId) {
33
33
  return;
34
34
  }
35
35
  nodes.push(node);
36
- // Recorded, so the filter knows to withhold it, but not walked: nothing
37
- // below a position that is never served can be reached either.
38
36
  if (node.access === "withheld") {
39
37
  logging_1.Logging.Error(`[dms] "${node.permissionId}" is claimed by both an action and a child of the same name; the child and everything below it is withheld. Rename one of them.`);
40
38
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"component-tree.js","sourceRoot":"","sources":["../../../src/page/internal/component-tree.ts"],"names":[],"mappings":";;AA0BA,oDA2CC;AArED,gEAA6D;AAE7D,yDAAkE;AAGlE;;;;;GAKG;AACH,SAAS,WAAW,CAAC,MAAiB,EAAE,OAAe;IACrD,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAClC,IAAe,EACf,gBAAwB;IAExB,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAa,CAAC;IAEvC,MAAM,IAAI,GAAG,CAAC,IAAuB,EAAQ,EAAE;QAC7C,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,iBAAO,CAAC,IAAI,CACV,oBAAoB,IAAI,CAAC,YAAY,kDAAkD,CACxF,CAAC;YACF,OAAO;QACT,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,wEAAwE;QACxE,+DAA+D;QAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/B,iBAAO,CAAC,KAAK,CACX,UAAU,IAAI,CAAC,YAAY,iIAAiI,CAC7J,CAAC;YACF,OAAO;QACT,CAAC;QAED,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,IAAA,+CAA4B,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC;gBACH,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,YAAY,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,EAAE,EAAE;gBAChD,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;gBACrB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,gBAAgB;QAC9B,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"component-tree.js","sourceRoot":"","sources":["../../../src/page/internal/component-tree.ts"],"names":[],"mappings":";;AA0BA,oDAyCC;AAnED,gEAA6D;AAE7D,yDAAkE;AAGlE;;;;;GAKG;AACH,SAAS,WAAW,CAAC,MAAiB,EAAE,OAAe;IACrD,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAClC,IAAe,EACf,gBAAwB;IAExB,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAa,CAAC;IAEvC,MAAM,IAAI,GAAG,CAAC,IAAuB,EAAQ,EAAE;QAC7C,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,iBAAO,CAAC,IAAI,CACV,oBAAoB,IAAI,CAAC,YAAY,kDAAkD,CACxF,CAAC;YACF,OAAO;QACT,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/B,iBAAO,CAAC,KAAK,CACX,UAAU,IAAI,CAAC,YAAY,iIAAiI,CAC7J,CAAC;YACF,OAAO;QACT,CAAC;QAED,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,IAAA,+CAA4B,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC;gBACH,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,YAAY,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,EAAE,EAAE;gBAChD,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;gBACrB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,gBAAgB;QAC9B,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** @internal */
2
+ import type { MenuOptions } from "../types";
3
+ /** @internal */
4
+ export declare function assertHasCategoryOrModule(id: string, options: MenuOptions, kind: "Page" | "Category"): void;
5
+ /** @internal */
6
+ export declare function assertValidLiveOptions(id: string, options: MenuOptions): void;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertHasCategoryOrModule = assertHasCategoryOrModule;
4
+ exports.assertValidLiveOptions = assertValidLiveOptions;
5
+ /** @internal */
6
+ function assertHasCategoryOrModule(id, options, kind) {
7
+ if (!options.category && !options.module) {
8
+ throw new Error(`${kind} "${id}" must declare either "category" or "module" in its options.`);
9
+ }
10
+ }
11
+ const LIVE_PERIOD_PATTERN = /^[1-9]\d*[mhd]$/;
12
+ function assertPositiveRate(id, name, rate) {
13
+ // oxlint-disable-next-line anti-slop/no-runtime-typeof -- Page option validation deliberately rejects invalid JavaScript callers as well as nonpositive rates without changing declaration types.
14
+ if (typeof rate === "number" && Number.isFinite(rate) && rate > 0)
15
+ return;
16
+ throw new Error(`Page "${id}" declares ${name} ${String(rate)}: it must be a positive number of seconds.`);
17
+ }
18
+ function assertValidSlowRate(id, live) {
19
+ const slow = live.slowRateAfter;
20
+ if (slow === undefined)
21
+ return;
22
+ assertPositiveRate(id, "live.slowRateAfter.maxRate", slow.maxRate);
23
+ if (!LIVE_PERIOD_PATTERN.test(String(slow.period))) {
24
+ throw new Error(`Page "${id}" declares live.slowRateAfter.period "${String(slow.period)}": it must read like "30m", "24h" or "7d".`);
25
+ }
26
+ }
27
+ /** @internal */
28
+ function assertValidLiveOptions(id, options) {
29
+ const live = options.live;
30
+ if (!live)
31
+ return;
32
+ if (live.maxRate !== undefined) {
33
+ assertPositiveRate(id, "live.maxRate", live.maxRate);
34
+ }
35
+ assertValidSlowRate(id, live);
36
+ if (live.rememberKey !== undefined && live.rememberKey.trim() === "") {
37
+ throw new Error(`Page "${id}" declares an empty live.rememberKey.`);
38
+ }
39
+ }
40
+ //# sourceMappingURL=controller-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller-options.js","sourceRoot":"","sources":["../../../src/page/internal/controller-options.ts"],"names":[],"mappings":";;AAIA,8DAUC;AA4BD,wDAUC;AAjDD,gBAAgB;AAChB,SAAgB,yBAAyB,CACvC,EAAU,EACV,OAAoB,EACpB,IAAyB;IAEzB,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,KAAK,EAAE,8DAA8D,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAE9C,SAAS,kBAAkB,CACzB,EAAU,EACV,IAAY,EACZ,IAAgC;IAEhC,kMAAkM;IAClM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO;IAC1E,MAAM,IAAI,KAAK,CACb,SAAS,EAAE,cAAc,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAC1F,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAU,EAAE,IAAqB;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;IAChC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,kBAAkB,CAAC,EAAE,EAAE,4BAA4B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,SAAS,EAAE,yCAAyC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,4CAA4C,CACpH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,SAAgB,sBAAsB,CAAC,EAAU,EAAE,OAAoB;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}