@antelopejs/interface-dms 0.0.1

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 (469) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/LICENSE +190 -0
  3. package/README.md +73 -0
  4. package/dist/attachments.d.ts +38 -0
  5. package/dist/attachments.js +11 -0
  6. package/dist/attachments.js.map +1 -0
  7. package/dist/auth/db/index.d.ts +2 -0
  8. package/dist/auth/db/index.js +19 -0
  9. package/dist/auth/db/index.js.map +1 -0
  10. package/dist/auth/db/models/index.d.ts +3 -0
  11. package/dist/auth/db/models/index.js +20 -0
  12. package/dist/auth/db/models/index.js.map +1 -0
  13. package/dist/auth/db/models/sessions.model.d.ts +28 -0
  14. package/dist/auth/db/models/sessions.model.js +78 -0
  15. package/dist/auth/db/models/sessions.model.js.map +1 -0
  16. package/dist/auth/db/models/userExternalIdentities.model.d.ts +26 -0
  17. package/dist/auth/db/models/userExternalIdentities.model.js +31 -0
  18. package/dist/auth/db/models/userExternalIdentities.model.js.map +1 -0
  19. package/dist/auth/db/models/users.model.d.ts +25 -0
  20. package/dist/auth/db/models/users.model.js +43 -0
  21. package/dist/auth/db/models/users.model.js.map +1 -0
  22. package/dist/auth/db/tables/index.d.ts +3 -0
  23. package/dist/auth/db/tables/index.js +20 -0
  24. package/dist/auth/db/tables/index.js.map +1 -0
  25. package/dist/auth/db/tables/sessions.table.d.ts +17 -0
  26. package/dist/auth/db/tables/sessions.table.js +79 -0
  27. package/dist/auth/db/tables/sessions.table.js.map +1 -0
  28. package/dist/auth/db/tables/userExternalIdentities.table.d.ts +11 -0
  29. package/dist/auth/db/tables/userExternalIdentities.table.js +55 -0
  30. package/dist/auth/db/tables/userExternalIdentities.table.js.map +1 -0
  31. package/dist/auth/db/tables/users.table.d.ts +30 -0
  32. package/dist/auth/db/tables/users.table.js +116 -0
  33. package/dist/auth/db/tables/users.table.js.map +1 -0
  34. package/dist/auth/index.d.ts +87 -0
  35. package/dist/auth/index.js +197 -0
  36. package/dist/auth/index.js.map +1 -0
  37. package/dist/auth/request-authenticators.d.ts +12 -0
  38. package/dist/auth/request-authenticators.js +80 -0
  39. package/dist/auth/request-authenticators.js.map +1 -0
  40. package/dist/base/block-registry/describe.d.ts +6 -0
  41. package/dist/base/block-registry/describe.js +234 -0
  42. package/dist/base/block-registry/describe.js.map +1 -0
  43. package/dist/base/block-registry/helpers.d.ts +6 -0
  44. package/dist/base/block-registry/helpers.js +25 -0
  45. package/dist/base/block-registry/helpers.js.map +1 -0
  46. package/dist/base/block-registry/index.d.ts +3 -0
  47. package/dist/base/block-registry/index.js +20 -0
  48. package/dist/base/block-registry/index.js.map +1 -0
  49. package/dist/base/block-registry/registry.d.ts +19 -0
  50. package/dist/base/block-registry/registry.js +89 -0
  51. package/dist/base/block-registry/registry.js.map +1 -0
  52. package/dist/base/block-registry/types.d.ts +73 -0
  53. package/dist/base/block-registry/types.js +3 -0
  54. package/dist/base/block-registry/types.js.map +1 -0
  55. package/dist/base/block-registry/ui.d.ts +5 -0
  56. package/dist/base/block-registry/ui.js +17 -0
  57. package/dist/base/block-registry/ui.js.map +1 -0
  58. package/dist/base/block-types.d.ts +15 -0
  59. package/dist/base/block-types.js +32 -0
  60. package/dist/base/block-types.js.map +1 -0
  61. package/dist/base/chart-card.d.ts +67 -0
  62. package/dist/base/chart-card.js +97 -0
  63. package/dist/base/chart-card.js.map +1 -0
  64. package/dist/base/chart-schemas.d.ts +2695 -0
  65. package/dist/base/chart-schemas.js +367 -0
  66. package/dist/base/chart-schemas.js.map +1 -0
  67. package/dist/base/chart.d.ts +201 -0
  68. package/dist/base/chart.js +99 -0
  69. package/dist/base/chart.js.map +1 -0
  70. package/dist/base/custom.d.ts +2 -0
  71. package/dist/base/custom.js +8 -0
  72. package/dist/base/custom.js.map +1 -0
  73. package/dist/base/data-types/compare-types.d.ts +50 -0
  74. package/dist/base/data-types/compare-types.js +231 -0
  75. package/dist/base/data-types/compare-types.js.map +1 -0
  76. package/dist/base/data-types/core.d.ts +35 -0
  77. package/dist/base/data-types/core.js +92 -0
  78. package/dist/base/data-types/core.js.map +1 -0
  79. package/dist/base/data-types/default-types.d.ts +456 -0
  80. package/dist/base/data-types/default-types.js +842 -0
  81. package/dist/base/data-types/default-types.js.map +1 -0
  82. package/dist/base/data-types/index.d.ts +3 -0
  83. package/dist/base/data-types/index.js +20 -0
  84. package/dist/base/data-types/index.js.map +1 -0
  85. package/dist/base/data-types/status-type.d.ts +18 -0
  86. package/dist/base/data-types/status-type.js +42 -0
  87. package/dist/base/data-types/status-type.js.map +1 -0
  88. package/dist/base/export-jobs.d.ts +97 -0
  89. package/dist/base/export-jobs.js +30 -0
  90. package/dist/base/export-jobs.js.map +1 -0
  91. package/dist/base/form-block-schema.d.ts +207 -0
  92. package/dist/base/form-block-schema.js +116 -0
  93. package/dist/base/form-block-schema.js.map +1 -0
  94. package/dist/base/form-schema.d.ts +211 -0
  95. package/dist/base/form-schema.js +281 -0
  96. package/dist/base/form-schema.js.map +1 -0
  97. package/dist/base/form.d.ts +69 -0
  98. package/dist/base/form.js +26 -0
  99. package/dist/base/form.js.map +1 -0
  100. package/dist/base/grid.d.ts +21 -0
  101. package/dist/base/grid.js +70 -0
  102. package/dist/base/grid.js.map +1 -0
  103. package/dist/base/helpers/archive-mode-helpers.d.ts +2 -0
  104. package/dist/base/helpers/archive-mode-helpers.js +43 -0
  105. package/dist/base/helpers/archive-mode-helpers.js.map +1 -0
  106. package/dist/base/helpers/file-refs.d.ts +15 -0
  107. package/dist/base/helpers/file-refs.js +131 -0
  108. package/dist/base/helpers/file-refs.js.map +1 -0
  109. package/dist/base/index.d.ts +22 -0
  110. package/dist/base/index.js +39 -0
  111. package/dist/base/index.js.map +1 -0
  112. package/dist/base/kpi-card.d.ts +81 -0
  113. package/dist/base/kpi-card.js +99 -0
  114. package/dist/base/kpi-card.js.map +1 -0
  115. package/dist/base/layouts.d.ts +8 -0
  116. package/dist/base/layouts.js +24 -0
  117. package/dist/base/layouts.js.map +1 -0
  118. package/dist/base/period-selector.d.ts +62 -0
  119. package/dist/base/period-selector.js +103 -0
  120. package/dist/base/period-selector.js.map +1 -0
  121. package/dist/base/placeholder.d.ts +21 -0
  122. package/dist/base/placeholder.js +46 -0
  123. package/dist/base/placeholder.js.map +1 -0
  124. package/dist/base/searchable.d.ts +9 -0
  125. package/dist/base/searchable.js +27 -0
  126. package/dist/base/searchable.js.map +1 -0
  127. package/dist/base/stack.d.ts +65 -0
  128. package/dist/base/stack.js +132 -0
  129. package/dist/base/stack.js.map +1 -0
  130. package/dist/base/tab.d.ts +174 -0
  131. package/dist/base/tab.js +101 -0
  132. package/dist/base/tab.js.map +1 -0
  133. package/dist/base/table-view/auth.d.ts +9 -0
  134. package/dist/base/table-view/auth.js +71 -0
  135. package/dist/base/table-view/auth.js.map +1 -0
  136. package/dist/base/table-view/data-functions.d.ts +45 -0
  137. package/dist/base/table-view/data-functions.js +14 -0
  138. package/dist/base/table-view/data-functions.js.map +1 -0
  139. package/dist/base/table-view/factory-helpers.d.ts +25 -0
  140. package/dist/base/table-view/factory-helpers.js +121 -0
  141. package/dist/base/table-view/factory-helpers.js.map +1 -0
  142. package/dist/base/table-view/factory.d.ts +13 -0
  143. package/dist/base/table-view/factory.js +402 -0
  144. package/dist/base/table-view/factory.js.map +1 -0
  145. package/dist/base/table-view/files.d.ts +2 -0
  146. package/dist/base/table-view/files.js +28 -0
  147. package/dist/base/table-view/files.js.map +1 -0
  148. package/dist/base/table-view/guards.d.ts +7 -0
  149. package/dist/base/table-view/guards.js +85 -0
  150. package/dist/base/table-view/guards.js.map +1 -0
  151. package/dist/base/table-view/meta.d.ts +79 -0
  152. package/dist/base/table-view/meta.js +218 -0
  153. package/dist/base/table-view/meta.js.map +1 -0
  154. package/dist/base/table-view/options.d.ts +152 -0
  155. package/dist/base/table-view/options.js +8 -0
  156. package/dist/base/table-view/options.js.map +1 -0
  157. package/dist/base/table-view/realtime.d.ts +49 -0
  158. package/dist/base/table-view/realtime.js +160 -0
  159. package/dist/base/table-view/realtime.js.map +1 -0
  160. package/dist/base/table-view/routes.d.ts +26 -0
  161. package/dist/base/table-view/routes.js +147 -0
  162. package/dist/base/table-view/routes.js.map +1 -0
  163. package/dist/base/table-view/row-rules.d.ts +8 -0
  164. package/dist/base/table-view/row-rules.js +95 -0
  165. package/dist/base/table-view/row-rules.js.map +1 -0
  166. package/dist/base/table-view/schema.d.ts +779 -0
  167. package/dist/base/table-view/schema.js +220 -0
  168. package/dist/base/table-view/schema.js.map +1 -0
  169. package/dist/base/table-view.d.ts +11 -0
  170. package/dist/base/table-view.js +56 -0
  171. package/dist/base/table-view.js.map +1 -0
  172. package/dist/base/tenant-export-archive.d.ts +22 -0
  173. package/dist/base/tenant-export-archive.js +9 -0
  174. package/dist/base/tenant-export-archive.js.map +1 -0
  175. package/dist/base/top-list-card.d.ts +171 -0
  176. package/dist/base/top-list-card.js +121 -0
  177. package/dist/base/top-list-card.js.map +1 -0
  178. package/dist/base/tree.d.ts +114 -0
  179. package/dist/base/tree.js +145 -0
  180. package/dist/base/tree.js.map +1 -0
  181. package/dist/base/types/action-target.d.ts +100 -0
  182. package/dist/base/types/action-target.js +3 -0
  183. package/dist/base/types/action-target.js.map +1 -0
  184. package/dist/base/types/base-component-props.d.ts +4 -0
  185. package/dist/base/types/base-component-props.js +3 -0
  186. package/dist/base/types/base-component-props.js.map +1 -0
  187. package/dist/base/types/button.d.ts +7 -0
  188. package/dist/base/types/button.js +12 -0
  189. package/dist/base/types/button.js.map +1 -0
  190. package/dist/base/types/color.d.ts +10 -0
  191. package/dist/base/types/color.js +14 -0
  192. package/dist/base/types/color.js.map +1 -0
  193. package/dist/base/types/component-input.d.ts +2 -0
  194. package/dist/base/types/component-input.js +3 -0
  195. package/dist/base/types/component-input.js.map +1 -0
  196. package/dist/base/types/custom-button.d.ts +15 -0
  197. package/dist/base/types/custom-button.js +3 -0
  198. package/dist/base/types/custom-button.js.map +1 -0
  199. package/dist/base/types/error.d.ts +5 -0
  200. package/dist/base/types/error.js +15 -0
  201. package/dist/base/types/error.js.map +1 -0
  202. package/dist/base/types/export-status.d.ts +5 -0
  203. package/dist/base/types/export-status.js +10 -0
  204. package/dist/base/types/export-status.js.map +1 -0
  205. package/dist/base/types/field-config.d.ts +13 -0
  206. package/dist/base/types/field-config.js +3 -0
  207. package/dist/base/types/field-config.js.map +1 -0
  208. package/dist/base/types/form-mode.d.ts +5 -0
  209. package/dist/base/types/form-mode.js +10 -0
  210. package/dist/base/types/form-mode.js.map +1 -0
  211. package/dist/base/types/form-values.d.ts +2 -0
  212. package/dist/base/types/form-values.js +3 -0
  213. package/dist/base/types/form-values.js.map +1 -0
  214. package/dist/base/types/guards.d.ts +28 -0
  215. package/dist/base/types/guards.js +3 -0
  216. package/dist/base/types/guards.js.map +1 -0
  217. package/dist/base/types/http.d.ts +9 -0
  218. package/dist/base/types/http.js +14 -0
  219. package/dist/base/types/http.js.map +1 -0
  220. package/dist/base/types/index.d.ts +16 -0
  221. package/dist/base/types/index.js +33 -0
  222. package/dist/base/types/index.js.map +1 -0
  223. package/dist/base/types/json.d.ts +4 -0
  224. package/dist/base/types/json.js +3 -0
  225. package/dist/base/types/json.js.map +1 -0
  226. package/dist/base/types/orientation.d.ts +4 -0
  227. package/dist/base/types/orientation.js +9 -0
  228. package/dist/base/types/orientation.js.map +1 -0
  229. package/dist/base/types/readonly-behavior.d.ts +11 -0
  230. package/dist/base/types/readonly-behavior.js +10 -0
  231. package/dist/base/types/readonly-behavior.js.map +1 -0
  232. package/dist/base/types/row-action-operators.d.ts +32 -0
  233. package/dist/base/types/row-action-operators.js +24 -0
  234. package/dist/base/types/row-action-operators.js.map +1 -0
  235. package/dist/base/types/row-action.d.ts +38 -0
  236. package/dist/base/types/row-action.js +3 -0
  237. package/dist/base/types/row-action.js.map +1 -0
  238. package/dist/base/types/size.d.ts +10 -0
  239. package/dist/base/types/size.js +13 -0
  240. package/dist/base/types/size.js.map +1 -0
  241. package/dist/base/types/watch.d.ts +19 -0
  242. package/dist/base/types/watch.js +7 -0
  243. package/dist/base/types/watch.js.map +1 -0
  244. package/dist/client-base-url.d.ts +1 -0
  245. package/dist/client-base-url.js +6 -0
  246. package/dist/client-base-url.js.map +1 -0
  247. package/dist/component-slots.d.ts +6 -0
  248. package/dist/component-slots.js +79 -0
  249. package/dist/component-slots.js.map +1 -0
  250. package/dist/component.d.ts +131 -0
  251. package/dist/component.js +346 -0
  252. package/dist/component.js.map +1 -0
  253. package/dist/constants.d.ts +4 -0
  254. package/dist/constants.js +8 -0
  255. package/dist/constants.js.map +1 -0
  256. package/dist/data-controllers/index.d.ts +1 -0
  257. package/dist/data-controllers/index.js +18 -0
  258. package/dist/data-controllers/index.js.map +1 -0
  259. package/dist/data-controllers/members.d.ts +34 -0
  260. package/dist/data-controllers/members.js +163 -0
  261. package/dist/data-controllers/members.js.map +1 -0
  262. package/dist/data-controllers/roles.d.ts +27 -0
  263. package/dist/data-controllers/roles.js +97 -0
  264. package/dist/data-controllers/roles.js.map +1 -0
  265. package/dist/db/index.d.ts +2 -0
  266. package/dist/db/index.js +19 -0
  267. package/dist/db/index.js.map +1 -0
  268. package/dist/db/models/exportJobs.model.d.ts +39 -0
  269. package/dist/db/models/exportJobs.model.js +71 -0
  270. package/dist/db/models/exportJobs.model.js.map +1 -0
  271. package/dist/db/models/index.d.ts +7 -0
  272. package/dist/db/models/index.js +24 -0
  273. package/dist/db/models/index.js.map +1 -0
  274. package/dist/db/models/inviteResolutions.model.d.ts +34 -0
  275. package/dist/db/models/inviteResolutions.model.js +71 -0
  276. package/dist/db/models/inviteResolutions.model.js.map +1 -0
  277. package/dist/db/models/roles.model.d.ts +23 -0
  278. package/dist/db/models/roles.model.js +17 -0
  279. package/dist/db/models/roles.model.js.map +1 -0
  280. package/dist/db/models/tenantLifecycle.model.d.ts +27 -0
  281. package/dist/db/models/tenantLifecycle.model.js +82 -0
  282. package/dist/db/models/tenantLifecycle.model.js.map +1 -0
  283. package/dist/db/models/tenantMembers.model.d.ts +35 -0
  284. package/dist/db/models/tenantMembers.model.js +79 -0
  285. package/dist/db/models/tenantMembers.model.js.map +1 -0
  286. package/dist/db/models/tenants.model.d.ts +23 -0
  287. package/dist/db/models/tenants.model.js +17 -0
  288. package/dist/db/models/tenants.model.js.map +1 -0
  289. package/dist/db/models/user_invites.model.d.ts +30 -0
  290. package/dist/db/models/user_invites.model.js +42 -0
  291. package/dist/db/models/user_invites.model.js.map +1 -0
  292. package/dist/db/tables/exportJobs.table.d.ts +22 -0
  293. package/dist/db/tables/exportJobs.table.js +96 -0
  294. package/dist/db/tables/exportJobs.table.js.map +1 -0
  295. package/dist/db/tables/index.d.ts +7 -0
  296. package/dist/db/tables/index.js +24 -0
  297. package/dist/db/tables/index.js.map +1 -0
  298. package/dist/db/tables/inviteResolutions.table.d.ts +20 -0
  299. package/dist/db/tables/inviteResolutions.table.js +71 -0
  300. package/dist/db/tables/inviteResolutions.table.js.map +1 -0
  301. package/dist/db/tables/roles.table.d.ts +9 -0
  302. package/dist/db/tables/roles.table.js +47 -0
  303. package/dist/db/tables/roles.table.js.map +1 -0
  304. package/dist/db/tables/tenantLifecycle.table.d.ts +8 -0
  305. package/dist/db/tables/tenantLifecycle.table.js +38 -0
  306. package/dist/db/tables/tenantLifecycle.table.js.map +1 -0
  307. package/dist/db/tables/tenantMembers.table.d.ts +11 -0
  308. package/dist/db/tables/tenantMembers.table.js +59 -0
  309. package/dist/db/tables/tenantMembers.table.js.map +1 -0
  310. package/dist/db/tables/tenants.table.d.ts +8 -0
  311. package/dist/db/tables/tenants.table.js +42 -0
  312. package/dist/db/tables/tenants.table.js.map +1 -0
  313. package/dist/db/tables/user_invites.table.d.ts +18 -0
  314. package/dist/db/tables/user_invites.table.js +81 -0
  315. package/dist/db/tables/user_invites.table.js.map +1 -0
  316. package/dist/guards.d.ts +18 -0
  317. package/dist/guards.js +57 -0
  318. package/dist/guards.js.map +1 -0
  319. package/dist/hooks.d.ts +122 -0
  320. package/dist/hooks.js +93 -0
  321. package/dist/hooks.js.map +1 -0
  322. package/dist/html-render/index.d.ts +10 -0
  323. package/dist/html-render/index.js +34 -0
  324. package/dist/html-render/index.js.map +1 -0
  325. package/dist/html-render/types.d.ts +12 -0
  326. package/dist/html-render/types.js +3 -0
  327. package/dist/html-render/types.js.map +1 -0
  328. package/dist/index.d.ts +24 -0
  329. package/dist/index.js +107 -0
  330. package/dist/index.js.map +1 -0
  331. package/dist/invite-extensions/delivery.d.ts +6 -0
  332. package/dist/invite-extensions/delivery.js +94 -0
  333. package/dist/invite-extensions/delivery.js.map +1 -0
  334. package/dist/invite-extensions/field-ids.d.ts +7 -0
  335. package/dist/invite-extensions/field-ids.js +19 -0
  336. package/dist/invite-extensions/field-ids.js.map +1 -0
  337. package/dist/invite-extensions/form-slot.d.ts +1 -0
  338. package/dist/invite-extensions/form-slot.js +181 -0
  339. package/dist/invite-extensions/form-slot.js.map +1 -0
  340. package/dist/invite-extensions/registry.d.ts +17 -0
  341. package/dist/invite-extensions/registry.js +83 -0
  342. package/dist/invite-extensions/registry.js.map +1 -0
  343. package/dist/invite-extensions/types.d.ts +67 -0
  344. package/dist/invite-extensions/types.js +3 -0
  345. package/dist/invite-extensions/types.js.map +1 -0
  346. package/dist/invite-extensions.d.ts +5 -0
  347. package/dist/invite-extensions.js +22 -0
  348. package/dist/invite-extensions.js.map +1 -0
  349. package/dist/invite-membership.d.ts +3 -0
  350. package/dist/invite-membership.js +77 -0
  351. package/dist/invite-membership.js.map +1 -0
  352. package/dist/invite-replacement.d.ts +2 -0
  353. package/dist/invite-replacement.js +74 -0
  354. package/dist/invite-replacement.js.map +1 -0
  355. package/dist/invite-resolution.d.ts +9 -0
  356. package/dist/invite-resolution.js +108 -0
  357. package/dist/invite-resolution.js.map +1 -0
  358. package/dist/invites.d.ts +45 -0
  359. package/dist/invites.js +135 -0
  360. package/dist/invites.js.map +1 -0
  361. package/dist/notifications/builder.d.ts +12 -0
  362. package/dist/notifications/builder.js +36 -0
  363. package/dist/notifications/builder.js.map +1 -0
  364. package/dist/notifications/index.d.ts +13 -0
  365. package/dist/notifications/index.js +64 -0
  366. package/dist/notifications/index.js.map +1 -0
  367. package/dist/notifications/internal.d.ts +11 -0
  368. package/dist/notifications/internal.js +15 -0
  369. package/dist/notifications/internal.js.map +1 -0
  370. package/dist/notifications/sendable.d.ts +11 -0
  371. package/dist/notifications/sendable.js +38 -0
  372. package/dist/notifications/sendable.js.map +1 -0
  373. package/dist/notifications/types.d.ts +29 -0
  374. package/dist/notifications/types.js +3 -0
  375. package/dist/notifications/types.js.map +1 -0
  376. package/dist/page/categories.d.ts +39 -0
  377. package/dist/page/categories.js +215 -0
  378. package/dist/page/categories.js.map +1 -0
  379. package/dist/page/component-target.d.ts +11 -0
  380. package/dist/page/component-target.js +48 -0
  381. package/dist/page/component-target.js.map +1 -0
  382. package/dist/page/component-tree.d.ts +9 -0
  383. package/dist/page/component-tree.js +43 -0
  384. package/dist/page/component-tree.js.map +1 -0
  385. package/dist/page/controllers.d.ts +47 -0
  386. package/dist/page/controllers.js +140 -0
  387. package/dist/page/controllers.js.map +1 -0
  388. package/dist/page/extension-assembly.d.ts +10 -0
  389. package/dist/page/extension-assembly.js +120 -0
  390. package/dist/page/extension-assembly.js.map +1 -0
  391. package/dist/page/layout-filter.d.ts +4 -0
  392. package/dist/page/layout-filter.js +64 -0
  393. package/dist/page/layout-filter.js.map +1 -0
  394. package/dist/page/metadata-helpers.d.ts +4 -0
  395. package/dist/page/metadata-helpers.js +24 -0
  396. package/dist/page/metadata-helpers.js.map +1 -0
  397. package/dist/page/metadata.d.ts +62 -0
  398. package/dist/page/metadata.js +544 -0
  399. package/dist/page/metadata.js.map +1 -0
  400. package/dist/page/page-registration.d.ts +13 -0
  401. package/dist/page/page-registration.js +22 -0
  402. package/dist/page/page-registration.js.map +1 -0
  403. package/dist/page/registry.d.ts +34 -0
  404. package/dist/page/registry.js +110 -0
  405. package/dist/page/registry.js.map +1 -0
  406. package/dist/page/roots.d.ts +13 -0
  407. package/dist/page/roots.js +60 -0
  408. package/dist/page/roots.js.map +1 -0
  409. package/dist/page/types.d.ts +106 -0
  410. package/dist/page/types.js +6 -0
  411. package/dist/page/types.js.map +1 -0
  412. package/dist/page.d.ts +6 -0
  413. package/dist/page.js +41 -0
  414. package/dist/page.js.map +1 -0
  415. package/dist/permissions-resolver.d.ts +12 -0
  416. package/dist/permissions-resolver.js +14 -0
  417. package/dist/permissions-resolver.js.map +1 -0
  418. package/dist/permissions.d.ts +32 -0
  419. package/dist/permissions.js +66 -0
  420. package/dist/permissions.js.map +1 -0
  421. package/dist/quick-actions.d.ts +37 -0
  422. package/dist/quick-actions.js +22 -0
  423. package/dist/quick-actions.js.map +1 -0
  424. package/dist/realtime.d.ts +21 -0
  425. package/dist/realtime.js +22 -0
  426. package/dist/realtime.js.map +1 -0
  427. package/dist/request-tenant.d.ts +2 -0
  428. package/dist/request-tenant.js +41 -0
  429. package/dist/request-tenant.js.map +1 -0
  430. package/dist/tenant-access.d.ts +25 -0
  431. package/dist/tenant-access.js +31 -0
  432. package/dist/tenant-access.js.map +1 -0
  433. package/dist/tenant-export.d.ts +23 -0
  434. package/dist/tenant-export.js +3 -0
  435. package/dist/tenant-export.js.map +1 -0
  436. package/dist/tenant-lifecycle.d.ts +2 -0
  437. package/dist/tenant-lifecycle.js +19 -0
  438. package/dist/tenant-lifecycle.js.map +1 -0
  439. package/dist/tenant-ownership.d.ts +11 -0
  440. package/dist/tenant-ownership.js +100 -0
  441. package/dist/tenant-ownership.js.map +1 -0
  442. package/dist/tenant-scoped-model.d.ts +6 -0
  443. package/dist/tenant-scoped-model.js +13 -0
  444. package/dist/tenant-scoped-model.js.map +1 -0
  445. package/dist/types.d.ts +1 -0
  446. package/dist/types.js +3 -0
  447. package/dist/types.js.map +1 -0
  448. package/dist/uploads.d.ts +20 -0
  449. package/dist/uploads.js +70 -0
  450. package/dist/uploads.js.map +1 -0
  451. package/dist/utils/fire-and-forget.d.ts +1 -0
  452. package/dist/utils/fire-and-forget.js +10 -0
  453. package/dist/utils/fire-and-forget.js.map +1 -0
  454. package/dist/utils/row-instance.d.ts +1 -0
  455. package/dist/utils/row-instance.js +8 -0
  456. package/dist/utils/row-instance.js.map +1 -0
  457. package/dist/utils/saas-mode.d.ts +2 -0
  458. package/dist/utils/saas-mode.js +18 -0
  459. package/dist/utils/saas-mode.js.map +1 -0
  460. package/dist/utils/time.d.ts +4 -0
  461. package/dist/utils/time.js +8 -0
  462. package/dist/utils/time.js.map +1 -0
  463. package/dist/utils/type-check.d.ts +15 -0
  464. package/dist/utils/type-check.js +40 -0
  465. package/dist/utils/type-check.js.map +1 -0
  466. package/dist/utils/value-parser.d.ts +11 -0
  467. package/dist/utils/value-parser.js +86 -0
  468. package/dist/utils/value-parser.js.map +1 -0
  469. package/package.json +206 -0
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutomationSubject = exports.CollaborationSubject = exports.AccountSubject = exports.SecuritySubject = exports.GeneralSubject = exports.SystemCategory = exports.internal = void 0;
4
+ exports.Notification = Notification;
5
+ exports.NotificationCategory = NotificationCategory;
6
+ exports.NotificationSubject = NotificationSubject;
7
+ const builder_1 = require("./builder");
8
+ const internal_1 = require("./internal");
9
+ Object.defineProperty(exports, "internal", { enumerable: true, get: function () { return internal_1.internal; } });
10
+ function Notification() {
11
+ return new builder_1.NotificationBuilder();
12
+ }
13
+ function NotificationCategory(id, category) {
14
+ const notificationCategory = {
15
+ id,
16
+ ...category,
17
+ };
18
+ internal_1.internal.RegisterNotificationCategory.register(notificationCategory);
19
+ return notificationCategory;
20
+ }
21
+ function NotificationSubject(id, subject) {
22
+ const notificationSubject = {
23
+ id,
24
+ ...subject,
25
+ };
26
+ internal_1.internal.RegisterNotificationSubject.register(notificationSubject);
27
+ return notificationSubject;
28
+ }
29
+ exports.SystemCategory = NotificationCategory("system", {
30
+ labelKey: "dms.notifications.categories.system",
31
+ descriptionKey: "dms.notifications.categories.system_desc",
32
+ icon: "i-ph-gear",
33
+ togglePermission: "default",
34
+ });
35
+ exports.GeneralSubject = NotificationSubject("general", {
36
+ category: exports.SystemCategory,
37
+ labelKey: "dms.notifications.subjects.general",
38
+ togglePermission: "forbidden",
39
+ });
40
+ exports.SecuritySubject = NotificationSubject("security", {
41
+ category: exports.SystemCategory,
42
+ labelKey: "dms.notifications.subjects.security",
43
+ descriptionKey: "dms.notifications.subjects.security_desc",
44
+ togglePermission: "default",
45
+ });
46
+ exports.AccountSubject = NotificationSubject("account", {
47
+ category: exports.SystemCategory,
48
+ labelKey: "dms.notifications.subjects.account",
49
+ descriptionKey: "dms.notifications.subjects.account_desc",
50
+ togglePermission: "default",
51
+ });
52
+ exports.CollaborationSubject = NotificationSubject("collaboration", {
53
+ category: exports.SystemCategory,
54
+ labelKey: "dms.notifications.subjects.collaboration",
55
+ descriptionKey: "dms.notifications.subjects.collaboration_desc",
56
+ togglePermission: "default",
57
+ });
58
+ exports.AutomationSubject = NotificationSubject("automation", {
59
+ category: exports.SystemCategory,
60
+ labelKey: "dms.notifications.subjects.automation",
61
+ descriptionKey: "dms.notifications.subjects.automation_desc",
62
+ togglePermission: "default",
63
+ });
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":";;;AASA,oCAEC;AAED,oDAUC;AAED,kDAUC;AAnCD,uCAAgD;AAChD,yCAAsC;AAE7B,yFAFA,mBAAQ,OAEA;AAMjB,SAAgB,YAAY;IAC1B,OAAO,IAAI,6BAAmB,EAAE,CAAC;AACnC,CAAC;AAED,SAAgB,oBAAoB,CAClC,EAAU,EACV,QAA8C;IAE9C,MAAM,oBAAoB,GAA6B;QACrD,EAAE;QACF,GAAG,QAAQ;KACZ,CAAC;IACF,mBAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACrE,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,SAAgB,mBAAmB,CACjC,EAAU,EACV,OAA4C;IAE5C,MAAM,mBAAmB,GAA4B;QACnD,EAAE;QACF,GAAG,OAAO;KACX,CAAC;IACF,mBAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACnE,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAEY,QAAA,cAAc,GAAG,oBAAoB,CAAC,QAAQ,EAAE;IAC3D,QAAQ,EAAE,qCAAqC;IAC/C,cAAc,EAAE,0CAA0C;IAC1D,IAAI,EAAE,WAAW;IACjB,gBAAgB,EAAE,SAAS;CAC5B,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,mBAAmB,CAAC,SAAS,EAAE;IAC3D,QAAQ,EAAE,sBAAc;IACxB,QAAQ,EAAE,oCAAoC;IAC9C,gBAAgB,EAAE,WAAW;CAC9B,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,mBAAmB,CAAC,UAAU,EAAE;IAC7D,QAAQ,EAAE,sBAAc;IACxB,QAAQ,EAAE,qCAAqC;IAC/C,cAAc,EAAE,0CAA0C;IAC1D,gBAAgB,EAAE,SAAS;CAC5B,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,mBAAmB,CAAC,SAAS,EAAE;IAC3D,QAAQ,EAAE,sBAAc;IACxB,QAAQ,EAAE,oCAAoC;IAC9C,cAAc,EAAE,yCAAyC;IACzD,gBAAgB,EAAE,SAAS;CAC5B,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,mBAAmB,CAAC,eAAe,EAAE;IACvE,QAAQ,EAAE,sBAAc;IACxB,QAAQ,EAAE,0CAA0C;IACpD,cAAc,EAAE,+CAA+C;IAC/D,gBAAgB,EAAE,SAAS;CAC5B,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,mBAAmB,CAAC,YAAY,EAAE;IACjE,QAAQ,EAAE,sBAAc;IACxB,QAAQ,EAAE,uCAAuC;IACjD,cAAc,EAAE,4CAA4C;IAC5D,gBAAgB,EAAE,SAAS;CAC5B,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { RegisteringProxy } from "@antelopejs/interface-core";
2
+ import type { NotificationCategoryInfo, NotificationData, NotificationSubjectInfo, ReadScope } from "./types";
3
+ export declare namespace internal {
4
+ const SupportsIdempotency: () => Promise<boolean>;
5
+ const RegisterNotificationCategory: RegisteringProxy<(info: NotificationCategoryInfo) => void>;
6
+ const RegisterNotificationSubject: RegisteringProxy<(info: NotificationSubjectInfo) => void>;
7
+ const SendToUser: (userId: string, data: NotificationData, groupId?: string | undefined, idempotencyKey?: string | undefined) => Promise<void>;
8
+ const SendToUsers: (userIds: string[], data: NotificationData, readScope?: ReadScope | undefined, idempotencyKey?: string | undefined) => Promise<void>;
9
+ const SendToRoles: (roleIds: string[], data: NotificationData, readScope?: ReadScope | undefined, idempotencyKey?: string | undefined) => Promise<void>;
10
+ const SendToAll: (data: NotificationData, readScope?: ReadScope | undefined, idempotencyKey?: string | undefined) => Promise<void>;
11
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.internal = void 0;
4
+ const interface_core_1 = require("@antelopejs/interface-core");
5
+ var internal;
6
+ (function (internal) {
7
+ internal.SupportsIdempotency = (0, interface_core_1.InterfaceFunction)();
8
+ internal.RegisterNotificationCategory = new interface_core_1.RegisteringProxy();
9
+ internal.RegisterNotificationSubject = new interface_core_1.RegisteringProxy();
10
+ internal.SendToUser = (0, interface_core_1.InterfaceFunction)();
11
+ internal.SendToUsers = (0, interface_core_1.InterfaceFunction)();
12
+ internal.SendToRoles = (0, interface_core_1.InterfaceFunction)();
13
+ internal.SendToAll = (0, interface_core_1.InterfaceFunction)();
14
+ })(internal || (exports.internal = internal = {}));
15
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/notifications/internal.ts"],"names":[],"mappings":";;;AAAA,+DAGoC;AAepC,IAAiB,QAAQ,CAiDxB;AAjDD,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,GAOd,CAAC;IAEO,oBAAW,GACtB,IAAA,kCAAiB,GAOd,CAAC;IAEO,oBAAW,GACtB,IAAA,kCAAiB,GAOd,CAAC;IAEO,kBAAS,GACpB,IAAA,kCAAiB,GAMd,CAAC;AACR,CAAC,EAjDgB,QAAQ,wBAAR,QAAQ,QAiDxB"}
@@ -0,0 +1,11 @@
1
+ import type { NotificationData, SendOptions } from "./types";
2
+ export declare class SendableNotification {
3
+ private readonly data;
4
+ constructor(data: NotificationData);
5
+ toUser(userId: string, options?: SendOptions): Promise<void>;
6
+ toUsers(userIds: string[], options?: SendOptions): Promise<void>;
7
+ toUsersIdempotently(userIds: string[], idempotencyKey: string, options?: SendOptions): Promise<void>;
8
+ toRoles(roleIds: string[], options?: SendOptions): Promise<void>;
9
+ broadcast(options?: SendOptions): Promise<void>;
10
+ private requireIdempotencySupport;
11
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SendableNotification = void 0;
4
+ const internal_1 = require("./internal");
5
+ class SendableNotification {
6
+ data;
7
+ constructor(data) {
8
+ this.data = Object.freeze({ ...data });
9
+ }
10
+ async toUser(userId, options = {}) {
11
+ await this.requireIdempotencySupport(options);
12
+ await internal_1.internal.SendToUser(userId, this.data, undefined, options.idempotencyKey);
13
+ }
14
+ async toUsers(userIds, options = {}) {
15
+ await this.requireIdempotencySupport(options);
16
+ await internal_1.internal.SendToUsers(userIds, this.data, options.readScope, options.idempotencyKey);
17
+ }
18
+ async toUsersIdempotently(userIds, idempotencyKey, options = {}) {
19
+ await this.toUsers(userIds, { ...options, idempotencyKey });
20
+ }
21
+ async toRoles(roleIds, options = {}) {
22
+ await this.requireIdempotencySupport(options);
23
+ await internal_1.internal.SendToRoles(roleIds, this.data, options.readScope, options.idempotencyKey);
24
+ }
25
+ async broadcast(options = {}) {
26
+ await this.requireIdempotencySupport(options);
27
+ await internal_1.internal.SendToAll(this.data, options.readScope, options.idempotencyKey);
28
+ }
29
+ async requireIdempotencySupport(options) {
30
+ if (options.idempotencyKey === undefined)
31
+ return;
32
+ if ((await internal_1.internal.SupportsIdempotency()) !== true) {
33
+ throw new Error("DMS idempotent notification delivery is unavailable");
34
+ }
35
+ }
36
+ }
37
+ exports.SendableNotification = SendableNotification;
38
+ //# sourceMappingURL=sendable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendable.js","sourceRoot":"","sources":["../../src/notifications/sendable.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAGtC,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;IAGD,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,CACvB,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,CACvB,CAAC;IACJ,CAAC;IAGD,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,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,CACvB,CAAC;IACJ,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,CACvB,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;AA9DD,oDA8DC"}
@@ -0,0 +1,29 @@
1
+ export type TogglePermission = "allowed" | "forbidden" | "default";
2
+ export type ReadScope = "individual" | "shared";
3
+ export interface NotificationCategoryInfo {
4
+ id: string;
5
+ labelKey: string;
6
+ descriptionKey?: string;
7
+ icon: string;
8
+ togglePermission?: TogglePermission;
9
+ }
10
+ export interface NotificationSubjectInfo {
11
+ id: string;
12
+ category: NotificationCategoryInfo;
13
+ labelKey: string;
14
+ descriptionKey?: string;
15
+ togglePermission?: TogglePermission;
16
+ }
17
+ export interface SendOptions {
18
+ readScope?: ReadScope;
19
+ idempotencyKey?: string;
20
+ }
21
+ export interface NotificationData {
22
+ icon: string;
23
+ title: string;
24
+ description: string;
25
+ subject: NotificationSubjectInfo;
26
+ linkTo?: string;
27
+ params?: Record<string, string | number>;
28
+ }
29
+ export type RequiredFields = "icon" | "title" | "description" | "subject";
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/notifications/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import type { ControllerClass } from "@antelopejs/interface-api";
2
+ import { RegisteringProxy } from "@antelopejs/interface-core";
3
+ import { type RegistrationIdentity } from "./registry";
4
+ import { type CategoryInfo, type DynamicMenuProviderInfo, type MenuOptions, type ModuleInfo, type PageExtensionInfo, type PageInfo } from "./types";
5
+ declare class IdentifiedRegisteringProxy<T extends object> extends RegisteringProxy<(value: T) => void> {
6
+ private readonly identity;
7
+ constructor(identity: RegistrationIdentity<T>);
8
+ register(value: T): void;
9
+ unregister(value: T): void;
10
+ }
11
+ export declare namespace internal {
12
+ const RegisterCategory: IdentifiedRegisteringProxy<CategoryInfo>;
13
+ const RegisterPage: IdentifiedRegisteringProxy<PageInfo>;
14
+ const RegisterModule: IdentifiedRegisteringProxy<ModuleInfo>;
15
+ const RegisterDynamicMenuProvider: IdentifiedRegisteringProxy<DynamicMenuProviderInfo>;
16
+ const RegisterPageExtension: IdentifiedRegisteringProxy<PageExtensionInfo>;
17
+ function clearModuleResolution(id: string): void;
18
+ function applyPageExtension(info: PageExtensionInfo): void;
19
+ function revokePageExtension(info: PageExtensionInfo): void;
20
+ function clearPageMetadata(fullId: string, expected?: PageInfo): void;
21
+ interface RootCategoryOptions extends Omit<MenuOptions, "category"> {
22
+ category?: CategoryInfo | ControllerClass;
23
+ isModuleRoot?: boolean;
24
+ }
25
+ function RootCategory(id: string, options: RootCategoryOptions): CategoryInfo;
26
+ }
27
+ interface ModuleEntry {
28
+ module?: string;
29
+ category?: CategoryInfo | ControllerClass;
30
+ isModuleRoot?: boolean;
31
+ }
32
+ export declare function isInsideModule(entry: ModuleEntry): boolean;
33
+ export declare function resolveCategoryInfo(category: CategoryInfo | ControllerClass | undefined): CategoryInfo | undefined;
34
+ export declare function calculateFullSlug(id: string, options: MenuOptions | internal.RootCategoryOptions): string;
35
+ export declare function validateNotInsideSettings(moduleId: string | undefined, resolved: CategoryInfo | undefined): void;
36
+ export declare function createCategoryFunction(id: string, options: internal.RootCategoryOptions): CategoryInfo;
37
+ export declare function createCategoryFunction(id: string, options: MenuOptions): CategoryInfo;
38
+ export declare function applyModuleResolution(id: string, options: MenuOptions): MenuOptions;
39
+ export {};
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.internal = void 0;
4
+ exports.isInsideModule = isInsideModule;
5
+ exports.resolveCategoryInfo = resolveCategoryInfo;
6
+ exports.calculateFullSlug = calculateFullSlug;
7
+ exports.validateNotInsideSettings = validateNotInsideSettings;
8
+ exports.createCategoryFunction = createCategoryFunction;
9
+ exports.applyModuleResolution = applyModuleResolution;
10
+ const interface_core_1 = require("@antelopejs/interface-core");
11
+ const logging_1 = require("@antelopejs/interface-core/logging");
12
+ const fire_and_forget_1 = require("../utils/fire-and-forget");
13
+ const permissions_1 = require("../permissions");
14
+ const extension_assembly_1 = require("./extension-assembly");
15
+ const metadata_1 = require("./metadata");
16
+ const registry_1 = require("./registry");
17
+ const types_1 = require("./types");
18
+ class IdentifiedRegisteringProxy extends interface_core_1.RegisteringProxy {
19
+ identity;
20
+ constructor(identity) {
21
+ super();
22
+ this.identity = identity;
23
+ }
24
+ register(value) {
25
+ this.identity.remember(value);
26
+ super.register(value);
27
+ }
28
+ unregister(value) {
29
+ const registered = this.identity.resolve(value);
30
+ this.identity.forget(registered);
31
+ super.unregister(registered);
32
+ }
33
+ }
34
+ var internal;
35
+ (function (internal) {
36
+ internal.RegisterCategory = new IdentifiedRegisteringProxy(registry_1.categoryIdentity);
37
+ internal.RegisterPage = new IdentifiedRegisteringProxy(registry_1.pageIdentity);
38
+ internal.RegisterModule = new IdentifiedRegisteringProxy(registry_1.moduleIdentity);
39
+ internal.RegisterDynamicMenuProvider = new IdentifiedRegisteringProxy(registry_1.dynamicMenuProviderIdentity);
40
+ internal.RegisterPageExtension = new IdentifiedRegisteringProxy(registry_1.pageExtensionIdentity);
41
+ function clearModuleResolution(id) {
42
+ registry_1.moduleRootCategories.delete(id);
43
+ registry_1.moduleDefaultCategories.delete(id);
44
+ }
45
+ internal.clearModuleResolution = clearModuleResolution;
46
+ function applyPageExtension(info) {
47
+ const registered = registry_1.pageExtensions.get(info.targetFullId) ?? [];
48
+ (0, extension_assembly_1.assertExtensionKeysAvailable)(info, registered);
49
+ registered.push(info);
50
+ registry_1.pageExtensions.set(info.targetFullId, registered);
51
+ if (!(0, registry_1.acceptsPageExtensions)(info.targetFullId)) {
52
+ logging_1.Logging.Info(`[dms] page extension "${info.extensionName}" is waiting for page "${info.targetFullId}" to finish registering`);
53
+ }
54
+ (0, fire_and_forget_1.fireAndForget)((0, registry_1.syncTargetExtensions)(info.targetFullId), `page extension "${info.extensionName}"`);
55
+ }
56
+ internal.applyPageExtension = applyPageExtension;
57
+ function revokePageExtension(info) {
58
+ const registered = registry_1.pageExtensions.get(info.targetFullId);
59
+ if (!registered)
60
+ return;
61
+ const remaining = registered.filter((entry) => !registry_1.pageExtensionIdentity.isSame(entry, info));
62
+ if (remaining.length === 0) {
63
+ registry_1.pageExtensions.delete(info.targetFullId);
64
+ }
65
+ else {
66
+ registry_1.pageExtensions.set(info.targetFullId, remaining);
67
+ }
68
+ (0, fire_and_forget_1.fireAndForget)((0, registry_1.syncTargetExtensions)(info.targetFullId), `page extension "${info.extensionName}" teardown`);
69
+ }
70
+ internal.revokePageExtension = revokePageExtension;
71
+ function clearPageMetadata(fullId, expected) {
72
+ const metadata = registry_1.pageMetadataByFullId.get(fullId);
73
+ if (!metadata)
74
+ return;
75
+ if (expected && !(0, registry_1.isSamePageRegistration)(metadata.pageInfo, expected))
76
+ return;
77
+ metadata.Dispose();
78
+ }
79
+ internal.clearPageMetadata = clearPageMetadata;
80
+ function RootCategory(id, options) {
81
+ return createCategoryFunction(id, options);
82
+ }
83
+ internal.RootCategory = RootCategory;
84
+ })(internal || (exports.internal = internal = {}));
85
+ function isInsideModule(entry) {
86
+ if (entry.isModuleRoot)
87
+ return true;
88
+ if (entry.module)
89
+ return true;
90
+ let current = entry.category;
91
+ while (current) {
92
+ const resolved = resolveCategoryInfo(current);
93
+ if (!resolved)
94
+ return false;
95
+ if (resolved.isModuleRoot)
96
+ return true;
97
+ current = resolved.category;
98
+ }
99
+ return false;
100
+ }
101
+ function resolveCategoryInfo(category) {
102
+ if (!category) {
103
+ return undefined;
104
+ }
105
+ if (typeof category === "function") {
106
+ const meta = (0, interface_core_1.GetMetadata)(category, metadata_1.PageMetadata);
107
+ if (!meta.pageInfo) {
108
+ throw new Error(`PageMetadata not initialized for controller class.`);
109
+ }
110
+ return meta.pageInfo;
111
+ }
112
+ return category;
113
+ }
114
+ function calculateFullSlug(id, options) {
115
+ const resolvedCategory = resolveCategoryInfo(options.category);
116
+ const parentSlug = resolvedCategory?.fullSlug || "";
117
+ const urlSlug = options.urlSlug || id;
118
+ let fullSlug = parentSlug ? `${parentSlug}/${urlSlug}` : `/${urlSlug}`;
119
+ fullSlug = fullSlug.replace(/\/+/g, "/");
120
+ if (fullSlug !== "/" && fullSlug.endsWith("/")) {
121
+ fullSlug = fullSlug.slice(0, -1);
122
+ }
123
+ return fullSlug;
124
+ }
125
+ function isCategoryDescendantOf(candidate, ancestorFullId) {
126
+ let current = candidate;
127
+ while (current) {
128
+ const resolved = resolveCategoryInfo(current);
129
+ if (!resolved)
130
+ return false;
131
+ if (resolved.fullId === ancestorFullId)
132
+ return true;
133
+ current = resolved.category;
134
+ }
135
+ return false;
136
+ }
137
+ function resolveCategoryFromOptions(id, options) {
138
+ if (options.category) {
139
+ if (options.module) {
140
+ validateExplicitCategoryMatchesModule(id, options.category, options.module);
141
+ }
142
+ return options.category;
143
+ }
144
+ if (options.module) {
145
+ const moduleRoot = registry_1.moduleRootCategories.get(options.module);
146
+ if (!moduleRoot) {
147
+ throw new Error(`"${id}" references unknown module "${options.module}". Make sure RegisterModule was called before registration.`);
148
+ }
149
+ return registry_1.moduleDefaultCategories.get(options.module) ?? moduleRoot;
150
+ }
151
+ return undefined;
152
+ }
153
+ function validateExplicitCategoryMatchesModule(id, category, moduleId) {
154
+ const moduleRoot = registry_1.moduleRootCategories.get(moduleId);
155
+ if (!moduleRoot) {
156
+ throw new Error(`Page "${id}" references unknown module "${moduleId}". Make sure RegisterModule was called before page registration.`);
157
+ }
158
+ const resolved = resolveCategoryInfo(category);
159
+ if (!isCategoryDescendantOf(resolved, moduleRoot.fullId)) {
160
+ throw new Error(`Page "${id}" declares module "${moduleId}" but its explicit category is not a descendant of that module's root.`);
161
+ }
162
+ }
163
+ const SETTINGS_ROOT_FULL_ID = "settings";
164
+ function validateNotInsideSettings(moduleId, resolved) {
165
+ if (!moduleId || !resolved)
166
+ return;
167
+ if (isCategoryDescendantOf(resolved, SETTINGS_ROOT_FULL_ID)) {
168
+ throw new Error(`Pages of module "${moduleId}" cannot use the settings category — declare a settings page inside your module instead.`);
169
+ }
170
+ }
171
+ function createCategoryFunction(id, options) {
172
+ const hasModuleField = "module" in options && options.module !== undefined;
173
+ const effectiveOptions = hasModuleField
174
+ ? applyModuleResolution(id, options)
175
+ : options;
176
+ const category = effectiveOptions.category;
177
+ const resolvedCategory = resolveCategoryInfo(category);
178
+ if (hasModuleField) {
179
+ validateNotInsideSettings(effectiveOptions.module, resolvedCategory);
180
+ }
181
+ const parentFullId = resolvedCategory?.fullId || "";
182
+ const fullId = parentFullId ? `${parentFullId}.${id}` : id;
183
+ const fullSlug = calculateFullSlug(id, effectiveOptions);
184
+ const categoryInfo = {
185
+ ...effectiveOptions,
186
+ category: resolvedCategory,
187
+ id,
188
+ fullId,
189
+ fullSlug,
190
+ urlTransparent: fullSlug === (resolvedCategory?.fullSlug || types_1.ROOT_SLUG),
191
+ hidden: effectiveOptions.hidden || resolvedCategory?.hidden,
192
+ bypassTenantAccessGate: effectiveOptions.bypassTenantAccessGate ||
193
+ resolvedCategory?.bypassTenantAccessGate,
194
+ };
195
+ internal.RegisterCategory.register(categoryInfo);
196
+ const categoryPermission = {
197
+ id: categoryInfo.fullId,
198
+ title: categoryInfo.displayName,
199
+ icon: categoryInfo.icon,
200
+ defaultGranted: categoryInfo.publicAccess,
201
+ ...categoryInfo.permission,
202
+ };
203
+ if (isInsideModule(categoryInfo)) {
204
+ (0, permissions_1.MarkModuleScopedPermission)(categoryPermission.id);
205
+ }
206
+ else {
207
+ (0, permissions_1.RegisterPermission)(categoryPermission.id, categoryPermission);
208
+ }
209
+ return categoryInfo;
210
+ }
211
+ function applyModuleResolution(id, options) {
212
+ const resolvedReference = resolveCategoryFromOptions(id, options);
213
+ return { ...options, category: resolvedReference };
214
+ }
215
+ //# sourceMappingURL=categories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/page/categories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type BaseComponentChild, type Component, type ComponentTargetInput } from "../component";
2
+ export interface ResolvedComponentTarget {
3
+ rootKey: string;
4
+ path: readonly string[];
5
+ component: Component;
6
+ parent?: Component;
7
+ }
8
+ export declare function getDeclaredComponentChildren(component: Component): BaseComponentChild[];
9
+ export declare function resolveComponentTarget(target: ComponentTargetInput, roots: Map<string, Component>): ResolvedComponentTarget | undefined;
10
+ export declare function componentDeclaresChild(component: Component, id: string): boolean;
11
+ export declare function componentTargetClientId(target: ResolvedComponentTarget): string;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDeclaredComponentChildren = getDeclaredComponentChildren;
4
+ exports.resolveComponentTarget = resolveComponentTarget;
5
+ exports.componentDeclaresChild = componentDeclaresChild;
6
+ exports.componentTargetClientId = componentTargetClientId;
7
+ const component_1 = require("../component");
8
+ function getDeclaredComponentChildren(component) {
9
+ const info = component.componentInfo;
10
+ if (!info || typeof info.then === "function")
11
+ return [];
12
+ return (info.children ??
13
+ []);
14
+ }
15
+ function targetParts(target) {
16
+ return target instanceof component_1.ComponentTarget
17
+ ? target
18
+ : new component_1.ComponentTarget(target, []);
19
+ }
20
+ function resolveDescendant(root, path) {
21
+ let component = root;
22
+ let parent;
23
+ for (const id of path) {
24
+ const child = getDeclaredComponentChildren(component).find((entry) => entry.id === id);
25
+ if (!child)
26
+ return undefined;
27
+ parent = component;
28
+ component = child.component;
29
+ }
30
+ return { component, parent };
31
+ }
32
+ function resolveComponentTarget(target, roots) {
33
+ const { root, path } = targetParts(target);
34
+ const rootEntry = [...roots].find(([, component]) => component === root);
35
+ if (!rootEntry)
36
+ return undefined;
37
+ const descendant = resolveDescendant(root, path);
38
+ if (!descendant)
39
+ return undefined;
40
+ return { rootKey: rootEntry[0], path, ...descendant };
41
+ }
42
+ function componentDeclaresChild(component, id) {
43
+ return getDeclaredComponentChildren(component).some((child) => child.id === id);
44
+ }
45
+ function componentTargetClientId(target) {
46
+ return [target.rootKey, ...target.path.map((id) => `child-${id}`)].join("-");
47
+ }
48
+ //# sourceMappingURL=component-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-target.js","sourceRoot":"","sources":["../../src/page/component-target.ts"],"names":[],"mappings":";;AAiBA,oEASC;AA+BD,wDAUC;AAGD,wDAOC;AAGD,0DAIC;AApFD,4CAMsB;AAWtB,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;AAGD,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;AAGD,SAAgB,sBAAsB,CACpC,SAAoB,EACpB,EAAU;IAEV,OAAO,4BAA4B,CAAC,SAAS,CAAC,CAAC,IAAI,CACjD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAC3B,CAAC;AACJ,CAAC;AAGD,SAAgB,uBAAuB,CACrC,MAA+B;IAE/B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Component } from "../component";
2
+ export type ComponentAccess = "own" | "withheld";
3
+ export interface ComponentTreeNode {
4
+ component: Component;
5
+ permissionId: string;
6
+ depth: number;
7
+ access: ComponentAccess;
8
+ }
9
+ export declare function collectComponentTree(root: Component, rootPermissionId: string): ComponentTreeNode[];
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.collectComponentTree = collectComponentTree;
4
+ const logging_1 = require("@antelopejs/interface-core/logging");
5
+ const component_target_1 = require("./component-target");
6
+ function childAccess(parent, childId) {
7
+ if (parent.actions[childId])
8
+ return "withheld";
9
+ return "own";
10
+ }
11
+ function collectComponentTree(root, rootPermissionId) {
12
+ const nodes = [];
13
+ const ancestors = new Set();
14
+ const walk = (node) => {
15
+ if (ancestors.has(node.component)) {
16
+ logging_1.Logging.Warn(`[dms] component "${node.permissionId}" nests itself; the cycle is not walked further.`);
17
+ return;
18
+ }
19
+ nodes.push(node);
20
+ if (node.access === "withheld") {
21
+ 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.`);
22
+ return;
23
+ }
24
+ ancestors.add(node.component);
25
+ for (const child of (0, component_target_1.getDeclaredComponentChildren)(node.component)) {
26
+ walk({
27
+ component: child.component,
28
+ permissionId: `${node.permissionId}.${child.id}`,
29
+ depth: node.depth + 1,
30
+ access: childAccess(node.component, child.id),
31
+ });
32
+ }
33
+ ancestors.delete(node.component);
34
+ };
35
+ walk({
36
+ component: root,
37
+ permissionId: rootPermissionId,
38
+ depth: 0,
39
+ access: "own",
40
+ });
41
+ return nodes;
42
+ }
43
+ //# sourceMappingURL=component-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-tree.js","sourceRoot":"","sources":["../../src/page/component-tree.ts"],"names":[],"mappings":";;AA+CA,oDA2CC;AA1FD,gEAA6D;AAE7D,yDAAkE;AAgClE,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;AAUD,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;QAGjB,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,47 @@
1
+ import { type ControllerClass } from "@antelopejs/interface-api";
2
+ import { type ComponentInfo } from "../component";
3
+ import type { CategoryInfo, DynamicMenuResolver, MenuOptions } from "./types";
4
+ export declare const RegisterPage: () => import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<any, any[]>>;
5
+ export declare const RegisterPageExtension: (target: ControllerClass) => import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<any, any[]>>;
6
+ export declare function Category(id: string, options: MenuOptions): CategoryInfo;
7
+ export declare function PageController(id: string, options: MenuOptions, layout?: ComponentInfo): {
8
+ new (...args: any[]): {};
9
+ extend: <T extends ControllerClass>(this: T, location: string) => T;
10
+ location: string;
11
+ };
12
+ export declare function RootPageController(id: string, options: Omit<MenuOptions, "category" | "module"> & {
13
+ isModuleRoot?: boolean;
14
+ }, layout?: ComponentInfo): {
15
+ new (...args: any[]): {};
16
+ extend: <T extends ControllerClass>(this: T, location: string) => T;
17
+ location: string;
18
+ };
19
+ export declare function RegisterDynamicMenuProvider(categoryFullId: string, resolver: DynamicMenuResolver): () => void;
20
+ export declare const NotifyMenuChanged: (tenantId?: string | undefined) => Promise<void>;
21
+ export declare function RootCategory(id: string, options: Omit<MenuOptions, "category" | "module">): CategoryInfo;
22
+ export interface FrontendRendererMetadata {
23
+ name: string;
24
+ version: string;
25
+ }
26
+ export type FrontendModuleValue = string | number | boolean | null | FrontendModuleValue[] | FrontendModuleOptions;
27
+ export interface FrontendModuleOptions {
28
+ [key: string]: FrontendModuleValue;
29
+ }
30
+ export interface AddFrontendModuleOptions {
31
+ name: string;
32
+ sourcePath: string;
33
+ renderer: FrontendRendererMetadata;
34
+ options?: FrontendModuleOptions;
35
+ privateOptions?: FrontendModuleOptions;
36
+ priority?: number;
37
+ configKey?: string;
38
+ }
39
+ export declare const AddFrontendModule: (config: AddFrontendModuleOptions) => Promise<void>;
40
+ export interface FrontendModuleMetadata {
41
+ name: string;
42
+ sourcePath: string;
43
+ renderer: FrontendRendererMetadata;
44
+ priority: number;
45
+ options: FrontendModuleOptions;
46
+ }
47
+ export declare const GetFrontendModules: () => Promise<FrontendModuleMetadata[]>;