@antelopejs/dms 0.9.2 → 0.9.4

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 (1210) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/README.md +92 -35
  3. package/dist/config.d.ts +2 -0
  4. package/dist/config.js +7 -0
  5. package/dist/config.js.map +1 -1
  6. package/dist/db/models/attachments.model.d.ts +1 -0
  7. package/dist/db/models/signInAttempts.model.d.ts +1 -0
  8. package/dist/db/models/systemState.model.d.ts +1 -0
  9. package/dist/db/models/userEmailChanges.model.d.ts +1 -0
  10. package/dist/db/models/userKnownDevices.model.d.ts +1 -0
  11. package/dist/db/models/userNotificationPreferences.model.d.ts +1 -0
  12. package/dist/db/models/userNotifications.model.d.ts +1 -0
  13. package/dist/index.js +4 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/pages/public/preview/block-types.d.ts +7 -0
  16. package/dist/pages/public/preview/block-types.js +19 -0
  17. package/dist/pages/public/preview/block-types.js.map +1 -0
  18. package/dist/pages/public/preview/index.d.ts +10 -0
  19. package/dist/pages/public/preview/index.js +44 -0
  20. package/dist/pages/public/preview/index.js.map +1 -0
  21. package/dist/routes/block-preview.d.ts +8 -0
  22. package/dist/routes/block-preview.js +32 -0
  23. package/dist/routes/block-preview.js.map +1 -0
  24. package/dist/routes/index.d.ts +1 -0
  25. package/dist/routes/index.js +1 -0
  26. package/dist/routes/index.js.map +1 -1
  27. package/frontend-vue/dms.frontend.ts +4 -2
  28. package/frontend-vue/layers/dms-core/app/composables/user/useUserRegionalPreferences.ts +4 -1
  29. package/frontend-vue/layers/dms-core/app/types/menu.ts +3 -2
  30. package/frontend-vue/layers/dms-layout/app/assets/css/main.css +5 -5
  31. package/frontend-vue/layers/dms-layout/app/build/components/pages/modules/ModuleTile.vue +7 -7
  32. package/frontend-vue/layers/dms-layout/app/build/utils/module-store-catalog.ts +10 -1
  33. package/frontend-vue/layers/dms-layout/app/composables/page/usePageComponentPreload.ts +8 -3
  34. package/frontend-vue/layers/dms-layout/app/custom-layouts/PreviewLayout.vue +34 -0
  35. package/frontend-vue/layers/dms-layout/app/custom-pages/modules.vue +3 -1
  36. package/frontend-vue/layers/dms-layout/app/plugins/font-preload.ts +18 -16
  37. package/frontend-vue/layers/dms-layout/i18n/locales/layout-en-GB.json +4 -1
  38. package/frontend-vue/layers/dms-layout/i18n/locales/layout-fr-FR.json +5 -2
  39. package/frontend-vue/layers/dms-onboarding/app/middleware/onboarding.global.ts +4 -0
  40. package/frontend-vue/layers/dms-ui/app/build/components/block-preview/BlockPreviewIssue.vue +25 -0
  41. package/frontend-vue/layers/dms-ui/app/build/components/sortable/SortableList.vue +144 -0
  42. package/frontend-vue/layers/dms-ui/app/build/components/table/MenuColumns.vue +23 -21
  43. package/frontend-vue/layers/dms-ui/app/build/composables/block-preview/useBlockPreviewEmbed.ts +123 -0
  44. package/frontend-vue/layers/dms-ui/app/build/composables/blocks/useRefreshTriggers.ts +23 -6
  45. package/frontend-vue/layers/dms-ui/app/build/composables/table-view/useTableRows.ts +81 -3
  46. package/frontend-vue/layers/dms-ui/app/build/utils/blockPreview.ts +432 -0
  47. package/frontend-vue/layers/dms-ui/app/components/block-preview/BlockPreview.vue +172 -0
  48. package/frontend-vue/layers/dms-ui/app/components/table-view/KanbanBoard.vue +17 -15
  49. package/frontend-vue/layers/dms-ui/app/components/table-view/TableView.vue +1 -4
  50. package/frontend-vue/layers/dms-ui/app/composables/chart/useChartFetch.ts +47 -9
  51. package/frontend-vue/layers/dms-ui/app/composables/form/useForm.ts +4 -1
  52. package/frontend-vue/layers/dms-ui/i18n/locales/ui-en-GB.json +8 -0
  53. package/frontend-vue/layers/dms-ui/i18n/locales/ui-fr-FR.json +8 -0
  54. package/frontend-vue/package.json +5 -4
  55. package/package.json +44 -17
  56. package/skills/dms/REFERENCE.md +21 -19
  57. package/skills/dms/SKILL.md +64 -138
  58. package/skills/dms-auth/SKILL.md +4 -1
  59. package/skills/dms-best-practices/REFERENCE.md +93 -0
  60. package/skills/dms-best-practices/SKILL.md +77 -0
  61. package/skills/dms-module/REFERENCE.md +7 -5
  62. package/skills/dms-module/SKILL.md +9 -3
  63. package/skills/dms-pages/REFERENCE.md +112 -26
  64. package/skills/dms-pages/SKILL.md +12 -11
  65. package/skills/dms-project/DEV-SERVERS.md +74 -0
  66. package/skills/dms-project/SKILL.md +102 -14
  67. package/dist/test/antelope.test.d.ts +0 -2
  68. package/dist/test/antelope.test.js +0 -148
  69. package/dist/test/antelope.test.js.map +0 -1
  70. package/dist/test/api-endpoint/index.d.ts +0 -5
  71. package/dist/test/api-endpoint/index.js +0 -8
  72. package/dist/test/api-endpoint/index.js.map +0 -1
  73. package/dist/test/attachment-host/archive.d.ts +0 -58
  74. package/dist/test/attachment-host/archive.js +0 -79
  75. package/dist/test/attachment-host/archive.js.map +0 -1
  76. package/dist/test/attachment-host/capabilities.d.ts +0 -109
  77. package/dist/test/attachment-host/capabilities.js +0 -252
  78. package/dist/test/attachment-host/capabilities.js.map +0 -1
  79. package/dist/test/attachment-host/derived.d.ts +0 -74
  80. package/dist/test/attachment-host/derived.js +0 -96
  81. package/dist/test/attachment-host/derived.js.map +0 -1
  82. package/dist/test/attachment-host/index.d.ts +0 -4
  83. package/dist/test/attachment-host/index.js +0 -7
  84. package/dist/test/attachment-host/index.js.map +0 -1
  85. package/dist/test/attachment-host/native.d.ts +0 -39
  86. package/dist/test/attachment-host/native.js +0 -217
  87. package/dist/test/attachment-host/native.js.map +0 -1
  88. package/dist/test/helpers/attachments.d.ts +0 -18
  89. package/dist/test/helpers/attachments.js +0 -57
  90. package/dist/test/helpers/attachments.js.map +0 -1
  91. package/dist/test/helpers/auth.d.ts +0 -22
  92. package/dist/test/helpers/auth.js +0 -57
  93. package/dist/test/helpers/auth.js.map +0 -1
  94. package/dist/test/helpers/db.d.ts +0 -3
  95. package/dist/test/helpers/db.js +0 -69
  96. package/dist/test/helpers/db.js.map +0 -1
  97. package/dist/test/helpers/derived-controller.d.ts +0 -12
  98. package/dist/test/helpers/derived-controller.js +0 -20
  99. package/dist/test/helpers/derived-controller.js.map +0 -1
  100. package/dist/test/helpers/emails.d.ts +0 -10
  101. package/dist/test/helpers/emails.js +0 -36
  102. package/dist/test/helpers/emails.js.map +0 -1
  103. package/dist/test/helpers/fixtures.d.ts +0 -22
  104. package/dist/test/helpers/fixtures.js +0 -61
  105. package/dist/test/helpers/fixtures.js.map +0 -1
  106. package/dist/test/helpers/http.d.ts +0 -4
  107. package/dist/test/helpers/http.js +0 -34
  108. package/dist/test/helpers/http.js.map +0 -1
  109. package/dist/test/helpers/logging.d.ts +0 -6
  110. package/dist/test/helpers/logging.js +0 -26
  111. package/dist/test/helpers/logging.js.map +0 -1
  112. package/dist/test/helpers/page-access.d.ts +0 -17
  113. package/dist/test/helpers/page-access.js +0 -49
  114. package/dist/test/helpers/page-access.js.map +0 -1
  115. package/dist/test/helpers/reload-host.d.ts +0 -14
  116. package/dist/test/helpers/reload-host.js +0 -40
  117. package/dist/test/helpers/reload-host.js.map +0 -1
  118. package/dist/test/integration/account-deletion.test.d.ts +0 -1
  119. package/dist/test/integration/account-deletion.test.js +0 -84
  120. package/dist/test/integration/account-deletion.test.js.map +0 -1
  121. package/dist/test/integration/auth/auth-key-rotation.test.d.ts +0 -1
  122. package/dist/test/integration/auth/auth-key-rotation.test.js +0 -78
  123. package/dist/test/integration/auth/auth-key-rotation.test.js.map +0 -1
  124. package/dist/test/integration/auth/client-ip.test.d.ts +0 -1
  125. package/dist/test/integration/auth/client-ip.test.js +0 -14
  126. package/dist/test/integration/auth/client-ip.test.js.map +0 -1
  127. package/dist/test/integration/auth/current-password.test.d.ts +0 -1
  128. package/dist/test/integration/auth/current-password.test.js +0 -66
  129. package/dist/test/integration/auth/current-password.test.js.map +0 -1
  130. package/dist/test/integration/auth/login-throttle.test.d.ts +0 -1
  131. package/dist/test/integration/auth/login-throttle.test.js +0 -88
  132. package/dist/test/integration/auth/login-throttle.test.js.map +0 -1
  133. package/dist/test/integration/auth/password-reset.test.d.ts +0 -1
  134. package/dist/test/integration/auth/password-reset.test.js +0 -126
  135. package/dist/test/integration/auth/password-reset.test.js.map +0 -1
  136. package/dist/test/integration/auth/session-revocation.test.d.ts +0 -1
  137. package/dist/test/integration/auth/session-revocation.test.js +0 -46
  138. package/dist/test/integration/auth/session-revocation.test.js.map +0 -1
  139. package/dist/test/integration/auth/sign-in-country.test.d.ts +0 -1
  140. package/dist/test/integration/auth/sign-in-country.test.js +0 -76
  141. package/dist/test/integration/auth/sign-in-country.test.js.map +0 -1
  142. package/dist/test/integration/auth/two-factor-codes.test.d.ts +0 -1
  143. package/dist/test/integration/auth/two-factor-codes.test.js +0 -338
  144. package/dist/test/integration/auth/two-factor-codes.test.js.map +0 -1
  145. package/dist/test/integration/auth/two-factor-password.test.d.ts +0 -1
  146. package/dist/test/integration/auth/two-factor-password.test.js +0 -45
  147. package/dist/test/integration/auth/two-factor-password.test.js.map +0 -1
  148. package/dist/test/integration/auth/two-factor-token.test.d.ts +0 -1
  149. package/dist/test/integration/auth/two-factor-token.test.js +0 -92
  150. package/dist/test/integration/auth/two-factor-token.test.js.map +0 -1
  151. package/dist/test/integration/derived-controller.test.d.ts +0 -1
  152. package/dist/test/integration/derived-controller.test.js +0 -105
  153. package/dist/test/integration/derived-controller.test.js.map +0 -1
  154. package/dist/test/integration/email-change.test.d.ts +0 -1
  155. package/dist/test/integration/email-change.test.js +0 -137
  156. package/dist/test/integration/email-change.test.js.map +0 -1
  157. package/dist/test/integration/export-cleanup.test.d.ts +0 -1
  158. package/dist/test/integration/export-cleanup.test.js +0 -144
  159. package/dist/test/integration/export-cleanup.test.js.map +0 -1
  160. package/dist/test/integration/files/component-file-retries.test.d.ts +0 -1
  161. package/dist/test/integration/files/component-file-retries.test.js +0 -219
  162. package/dist/test/integration/files/component-file-retries.test.js.map +0 -1
  163. package/dist/test/integration/files/component-files.test.d.ts +0 -1
  164. package/dist/test/integration/files/component-files.test.js +0 -264
  165. package/dist/test/integration/files/component-files.test.js.map +0 -1
  166. package/dist/test/integration/files/field-constraints.test.d.ts +0 -1
  167. package/dist/test/integration/files/field-constraints.test.js +0 -100
  168. package/dist/test/integration/files/field-constraints.test.js.map +0 -1
  169. package/dist/test/integration/files/page-mode-form-files.test.d.ts +0 -1
  170. package/dist/test/integration/files/page-mode-form-files.test.js +0 -114
  171. package/dist/test/integration/files/page-mode-form-files.test.js.map +0 -1
  172. package/dist/test/integration/files/resource-form-files.test.d.ts +0 -1
  173. package/dist/test/integration/files/resource-form-files.test.js +0 -121
  174. package/dist/test/integration/files/resource-form-files.test.js.map +0 -1
  175. package/dist/test/integration/files/shared-controller-files.test.d.ts +0 -1
  176. package/dist/test/integration/files/shared-controller-files.test.js +0 -146
  177. package/dist/test/integration/files/shared-controller-files.test.js.map +0 -1
  178. package/dist/test/integration/files/sign-upload-token.test.d.ts +0 -1
  179. package/dist/test/integration/files/sign-upload-token.test.js +0 -16
  180. package/dist/test/integration/files/sign-upload-token.test.js.map +0 -1
  181. package/dist/test/integration/files/upload.test.d.ts +0 -1
  182. package/dist/test/integration/files/upload.test.js +0 -114
  183. package/dist/test/integration/files/upload.test.js.map +0 -1
  184. package/dist/test/integration/frontend-endpoints.test.d.ts +0 -1
  185. package/dist/test/integration/frontend-endpoints.test.js +0 -132
  186. package/dist/test/integration/frontend-endpoints.test.js.map +0 -1
  187. package/dist/test/integration/invite-extension-edit.test.d.ts +0 -1
  188. package/dist/test/integration/invite-extension-edit.test.js +0 -121
  189. package/dist/test/integration/invite-extension-edit.test.js.map +0 -1
  190. package/dist/test/integration/invite-link-status.test.d.ts +0 -1
  191. package/dist/test/integration/invite-link-status.test.js +0 -110
  192. package/dist/test/integration/invite-link-status.test.js.map +0 -1
  193. package/dist/test/integration/invite-resolution.test.d.ts +0 -1
  194. package/dist/test/integration/invite-resolution.test.js +0 -433
  195. package/dist/test/integration/invite-resolution.test.js.map +0 -1
  196. package/dist/test/integration/member-change-notifications.test.d.ts +0 -1
  197. package/dist/test/integration/member-change-notifications.test.js +0 -52
  198. package/dist/test/integration/member-change-notifications.test.js.map +0 -1
  199. package/dist/test/integration/member-settings-access.test.d.ts +0 -1
  200. package/dist/test/integration/member-settings-access.test.js +0 -118
  201. package/dist/test/integration/member-settings-access.test.js.map +0 -1
  202. package/dist/test/integration/menu-access-events.test.d.ts +0 -1
  203. package/dist/test/integration/menu-access-events.test.js +0 -148
  204. package/dist/test/integration/menu-access-events.test.js.map +0 -1
  205. package/dist/test/integration/notification-inbox.test.d.ts +0 -1
  206. package/dist/test/integration/notification-inbox.test.js +0 -100
  207. package/dist/test/integration/notification-inbox.test.js.map +0 -1
  208. package/dist/test/integration/notification-locked-subjects.test.d.ts +0 -1
  209. package/dist/test/integration/notification-locked-subjects.test.js +0 -82
  210. package/dist/test/integration/notification-locked-subjects.test.js.map +0 -1
  211. package/dist/test/integration/notification-unread-badge.test.d.ts +0 -1
  212. package/dist/test/integration/notification-unread-badge.test.js +0 -138
  213. package/dist/test/integration/notification-unread-badge.test.js.map +0 -1
  214. package/dist/test/integration/notifications.test.d.ts +0 -1
  215. package/dist/test/integration/notifications.test.js +0 -311
  216. package/dist/test/integration/notifications.test.js.map +0 -1
  217. package/dist/test/integration/page-layout-route-guard.test.d.ts +0 -1
  218. package/dist/test/integration/page-layout-route-guard.test.js +0 -56
  219. package/dist/test/integration/page-layout-route-guard.test.js.map +0 -1
  220. package/dist/test/integration/page-session.test.d.ts +0 -1
  221. package/dist/test/integration/page-session.test.js +0 -52
  222. package/dist/test/integration/page-session.test.js.map +0 -1
  223. package/dist/test/integration/permission-warnings.test.d.ts +0 -1
  224. package/dist/test/integration/permission-warnings.test.js +0 -72
  225. package/dist/test/integration/permission-warnings.test.js.map +0 -1
  226. package/dist/test/integration/removed-member-notifications.test.d.ts +0 -1
  227. package/dist/test/integration/removed-member-notifications.test.js +0 -81
  228. package/dist/test/integration/removed-member-notifications.test.js.map +0 -1
  229. package/dist/test/integration/role-delete-reassign.test.d.ts +0 -1
  230. package/dist/test/integration/role-delete-reassign.test.js +0 -69
  231. package/dist/test/integration/role-delete-reassign.test.js.map +0 -1
  232. package/dist/test/integration/role-permission-ancestors.test.d.ts +0 -1
  233. package/dist/test/integration/role-permission-ancestors.test.js +0 -147
  234. package/dist/test/integration/role-permission-ancestors.test.js.map +0 -1
  235. package/dist/test/integration/saas-mode-ownership.test.d.ts +0 -1
  236. package/dist/test/integration/saas-mode-ownership.test.js +0 -81
  237. package/dist/test/integration/saas-mode-ownership.test.js.map +0 -1
  238. package/dist/test/integration/setup.test.d.ts +0 -1
  239. package/dist/test/integration/setup.test.js +0 -45
  240. package/dist/test/integration/setup.test.js.map +0 -1
  241. package/dist/test/integration/sign-in-records.test.d.ts +0 -1
  242. package/dist/test/integration/sign-in-records.test.js +0 -41
  243. package/dist/test/integration/sign-in-records.test.js.map +0 -1
  244. package/dist/test/integration/table-view-archive.test.d.ts +0 -1
  245. package/dist/test/integration/table-view-archive.test.js +0 -46
  246. package/dist/test/integration/table-view-archive.test.js.map +0 -1
  247. package/dist/test/integration/table-view-capabilities.test.d.ts +0 -1
  248. package/dist/test/integration/table-view-capabilities.test.js +0 -177
  249. package/dist/test/integration/table-view-capabilities.test.js.map +0 -1
  250. package/dist/test/integration/tenant-lifecycle.test.d.ts +0 -1
  251. package/dist/test/integration/tenant-lifecycle.test.js +0 -278
  252. package/dist/test/integration/tenant-lifecycle.test.js.map +0 -1
  253. package/dist/test/reload-host/index.d.ts +0 -2
  254. package/dist/test/reload-host/index.js +0 -58
  255. package/dist/test/reload-host/index.js.map +0 -1
  256. package/dist/test/reload-host/package.json +0 -8
  257. package/dist/test/unit/api-base-url.test.d.ts +0 -1
  258. package/dist/test/unit/api-base-url.test.js +0 -31
  259. package/dist/test/unit/api-base-url.test.js.map +0 -1
  260. package/dist/test/unit/auth-session-revocation.test.d.ts +0 -1
  261. package/dist/test/unit/auth-session-revocation.test.js +0 -105
  262. package/dist/test/unit/auth-session-revocation.test.js.map +0 -1
  263. package/dist/test/unit/auth-token-purpose.test.d.ts +0 -1
  264. package/dist/test/unit/auth-token-purpose.test.js +0 -84
  265. package/dist/test/unit/auth-token-purpose.test.js.map +0 -1
  266. package/dist/test/unit/automation-registration-lifecycle.test.d.ts +0 -1
  267. package/dist/test/unit/automation-registration-lifecycle.test.js +0 -23
  268. package/dist/test/unit/automation-registration-lifecycle.test.js.map +0 -1
  269. package/dist/test/unit/client-ip.test.d.ts +0 -1
  270. package/dist/test/unit/client-ip.test.js +0 -71
  271. package/dist/test/unit/client-ip.test.js.map +0 -1
  272. package/dist/test/unit/db/email-normalization.test.d.ts +0 -1
  273. package/dist/test/unit/db/email-normalization.test.js +0 -58
  274. package/dist/test/unit/db/email-normalization.test.js.map +0 -1
  275. package/dist/test/unit/db/notification-feed-filter.test.d.ts +0 -1
  276. package/dist/test/unit/db/notification-feed-filter.test.js +0 -128
  277. package/dist/test/unit/db/notification-feed-filter.test.js.map +0 -1
  278. package/dist/test/unit/db/notification-feed-index.test.d.ts +0 -1
  279. package/dist/test/unit/db/notification-feed-index.test.js +0 -35
  280. package/dist/test/unit/db/notification-feed-index.test.js.map +0 -1
  281. package/dist/test/unit/db/notification-inbox.test.d.ts +0 -1
  282. package/dist/test/unit/db/notification-inbox.test.js +0 -160
  283. package/dist/test/unit/db/notification-inbox.test.js.map +0 -1
  284. package/dist/test/unit/db/notification-preferences.test.d.ts +0 -1
  285. package/dist/test/unit/db/notification-preferences.test.js +0 -39
  286. package/dist/test/unit/db/notification-preferences.test.js.map +0 -1
  287. package/dist/test/unit/db/session-refresh-token.test.d.ts +0 -1
  288. package/dist/test/unit/db/session-refresh-token.test.js +0 -41
  289. package/dist/test/unit/db/session-refresh-token.test.js.map +0 -1
  290. package/dist/test/unit/db/session-sweep.test.d.ts +0 -1
  291. package/dist/test/unit/db/session-sweep.test.js +0 -43
  292. package/dist/test/unit/db/session-sweep.test.js.map +0 -1
  293. package/dist/test/unit/db/system-state.model.test.d.ts +0 -1
  294. package/dist/test/unit/db/system-state.model.test.js +0 -55
  295. package/dist/test/unit/db/system-state.model.test.js.map +0 -1
  296. package/dist/test/unit/dev/module-update-notifications.test.d.ts +0 -1
  297. package/dist/test/unit/dev/module-update-notifications.test.js +0 -43
  298. package/dist/test/unit/dev/module-update-notifications.test.js.map +0 -1
  299. package/dist/test/unit/dist-self-imports.test.d.ts +0 -1
  300. package/dist/test/unit/dist-self-imports.test.js +0 -25
  301. package/dist/test/unit/dist-self-imports.test.js.map +0 -1
  302. package/dist/test/unit/frontend-bootstrap.test.d.ts +0 -1
  303. package/dist/test/unit/frontend-bootstrap.test.js +0 -88
  304. package/dist/test/unit/frontend-bootstrap.test.js.map +0 -1
  305. package/dist/test/unit/frontend-renderer-range.test.d.ts +0 -1
  306. package/dist/test/unit/frontend-renderer-range.test.js +0 -45
  307. package/dist/test/unit/frontend-renderer-range.test.js.map +0 -1
  308. package/dist/test/unit/implementations/dms/archive-filter.test.d.ts +0 -1
  309. package/dist/test/unit/implementations/dms/archive-filter.test.js +0 -63
  310. package/dist/test/unit/implementations/dms/archive-filter.test.js.map +0 -1
  311. package/dist/test/unit/implementations/dms/category-slug-registry.test.d.ts +0 -1
  312. package/dist/test/unit/implementations/dms/category-slug-registry.test.js +0 -196
  313. package/dist/test/unit/implementations/dms/category-slug-registry.test.js.map +0 -1
  314. package/dist/test/unit/implementations/dms/dev-reload.test.d.ts +0 -1
  315. package/dist/test/unit/implementations/dms/dev-reload.test.js +0 -100
  316. package/dist/test/unit/implementations/dms/dev-reload.test.js.map +0 -1
  317. package/dist/test/unit/implementations/dms/dynamic-menu-hardening.test.d.ts +0 -1
  318. package/dist/test/unit/implementations/dms/dynamic-menu-hardening.test.js +0 -171
  319. package/dist/test/unit/implementations/dms/dynamic-menu-hardening.test.js.map +0 -1
  320. package/dist/test/unit/implementations/dms/dynamic-menu.test.d.ts +0 -1
  321. package/dist/test/unit/implementations/dms/dynamic-menu.test.js +0 -478
  322. package/dist/test/unit/implementations/dms/dynamic-menu.test.js.map +0 -1
  323. package/dist/test/unit/implementations/dms/empty-menu-group.test.d.ts +0 -1
  324. package/dist/test/unit/implementations/dms/empty-menu-group.test.js +0 -133
  325. package/dist/test/unit/implementations/dms/empty-menu-group.test.js.map +0 -1
  326. package/dist/test/unit/implementations/dms/frontend-backend-proxies.test.d.ts +0 -1
  327. package/dist/test/unit/implementations/dms/frontend-backend-proxies.test.js +0 -66
  328. package/dist/test/unit/implementations/dms/frontend-backend-proxies.test.js.map +0 -1
  329. package/dist/test/unit/implementations/dms/frontend-establish-endpoints.test.d.ts +0 -1
  330. package/dist/test/unit/implementations/dms/frontend-establish-endpoints.test.js +0 -58
  331. package/dist/test/unit/implementations/dms/frontend-establish-endpoints.test.js.map +0 -1
  332. package/dist/test/unit/implementations/dms/frontend-module-metadata.test.d.ts +0 -1
  333. package/dist/test/unit/implementations/dms/frontend-module-metadata.test.js +0 -38
  334. package/dist/test/unit/implementations/dms/frontend-module-metadata.test.js.map +0 -1
  335. package/dist/test/unit/implementations/dms/frontend-public-endpoints.test.d.ts +0 -1
  336. package/dist/test/unit/implementations/dms/frontend-public-endpoints.test.js +0 -74
  337. package/dist/test/unit/implementations/dms/frontend-public-endpoints.test.js.map +0 -1
  338. package/dist/test/unit/implementations/dms/gate-consistency.test.d.ts +0 -1
  339. package/dist/test/unit/implementations/dms/gate-consistency.test.js +0 -112
  340. package/dist/test/unit/implementations/dms/gate-consistency.test.js.map +0 -1
  341. package/dist/test/unit/implementations/dms/layout-banners.test.d.ts +0 -1
  342. package/dist/test/unit/implementations/dms/layout-banners.test.js +0 -307
  343. package/dist/test/unit/implementations/dms/layout-banners.test.js.map +0 -1
  344. package/dist/test/unit/implementations/dms/manifest-strip.test.d.ts +0 -1
  345. package/dist/test/unit/implementations/dms/manifest-strip.test.js +0 -141
  346. package/dist/test/unit/implementations/dms/manifest-strip.test.js.map +0 -1
  347. package/dist/test/unit/implementations/dms/menu-hidden-blocks.test.d.ts +0 -1
  348. package/dist/test/unit/implementations/dms/menu-hidden-blocks.test.js +0 -149
  349. package/dist/test/unit/implementations/dms/menu-hidden-blocks.test.js.map +0 -1
  350. package/dist/test/unit/implementations/dms/missing-category.test.d.ts +0 -1
  351. package/dist/test/unit/implementations/dms/missing-category.test.js +0 -220
  352. package/dist/test/unit/implementations/dms/missing-category.test.js.map +0 -1
  353. package/dist/test/unit/implementations/dms/module-address-page.test.d.ts +0 -1
  354. package/dist/test/unit/implementations/dms/module-address-page.test.js +0 -107
  355. package/dist/test/unit/implementations/dms/module-address-page.test.js.map +0 -1
  356. package/dist/test/unit/implementations/dms/nav-badges.test.d.ts +0 -1
  357. package/dist/test/unit/implementations/dms/nav-badges.test.js +0 -211
  358. package/dist/test/unit/implementations/dms/nav-badges.test.js.map +0 -1
  359. package/dist/test/unit/implementations/dms/notify-menu-changed.test.d.ts +0 -1
  360. package/dist/test/unit/implementations/dms/notify-menu-changed.test.js +0 -68
  361. package/dist/test/unit/implementations/dms/notify-menu-changed.test.js.map +0 -1
  362. package/dist/test/unit/implementations/dms/page-all-components-hidden.test.d.ts +0 -1
  363. package/dist/test/unit/implementations/dms/page-all-components-hidden.test.js +0 -118
  364. package/dist/test/unit/implementations/dms/page-all-components-hidden.test.js.map +0 -1
  365. package/dist/test/unit/implementations/dms/page-tenant-gate.test.d.ts +0 -1
  366. package/dist/test/unit/implementations/dms/page-tenant-gate.test.js +0 -189
  367. package/dist/test/unit/implementations/dms/page-tenant-gate.test.js.map +0 -1
  368. package/dist/test/unit/implementations/dms/permission-preview-aggregate.test.d.ts +0 -1
  369. package/dist/test/unit/implementations/dms/permission-preview-aggregate.test.js +0 -132
  370. package/dist/test/unit/implementations/dms/permission-preview-aggregate.test.js.map +0 -1
  371. package/dist/test/unit/implementations/dms/permission-preview-cost.test.d.ts +0 -1
  372. package/dist/test/unit/implementations/dms/permission-preview-cost.test.js +0 -120
  373. package/dist/test/unit/implementations/dms/permission-preview-cost.test.js.map +0 -1
  374. package/dist/test/unit/implementations/dms/permission-preview-header.test.d.ts +0 -1
  375. package/dist/test/unit/implementations/dms/permission-preview-header.test.js +0 -78
  376. package/dist/test/unit/implementations/dms/permission-preview-header.test.js.map +0 -1
  377. package/dist/test/unit/implementations/dms/permission-preview-menu.test.d.ts +0 -1
  378. package/dist/test/unit/implementations/dms/permission-preview-menu.test.js +0 -188
  379. package/dist/test/unit/implementations/dms/permission-preview-menu.test.js.map +0 -1
  380. package/dist/test/unit/implementations/dms/permission-teardown.test.d.ts +0 -1
  381. package/dist/test/unit/implementations/dms/permission-teardown.test.js +0 -105
  382. package/dist/test/unit/implementations/dms/permission-teardown.test.js.map +0 -1
  383. package/dist/test/unit/implementations/dms/quick-actions-access.test.d.ts +0 -1
  384. package/dist/test/unit/implementations/dms/quick-actions-access.test.js +0 -159
  385. package/dist/test/unit/implementations/dms/quick-actions-access.test.js.map +0 -1
  386. package/dist/test/unit/implementations/dms/quick-actions-button.test.d.ts +0 -1
  387. package/dist/test/unit/implementations/dms/quick-actions-button.test.js +0 -222
  388. package/dist/test/unit/implementations/dms/quick-actions-button.test.js.map +0 -1
  389. package/dist/test/unit/implementations/dms/quick-actions-openform.test.d.ts +0 -1
  390. package/dist/test/unit/implementations/dms/quick-actions-openform.test.js +0 -184
  391. package/dist/test/unit/implementations/dms/quick-actions-openform.test.js.map +0 -1
  392. package/dist/test/unit/implementations/dms/subscribe-message.test.d.ts +0 -1
  393. package/dist/test/unit/implementations/dms/subscribe-message.test.js +0 -68
  394. package/dist/test/unit/implementations/dms/subscribe-message.test.js.map +0 -1
  395. package/dist/test/unit/implementations/dms/surface-redaction.test.d.ts +0 -1
  396. package/dist/test/unit/implementations/dms/surface-redaction.test.js +0 -171
  397. package/dist/test/unit/implementations/dms/surface-redaction.test.js.map +0 -1
  398. package/dist/test/unit/implementations/dms/user-can-access-page.test.d.ts +0 -1
  399. package/dist/test/unit/implementations/dms/user-can-access-page.test.js +0 -113
  400. package/dist/test/unit/implementations/dms/user-can-access-page.test.js.map +0 -1
  401. package/dist/test/unit/implementations/dms/user-permissions-gate.test.d.ts +0 -1
  402. package/dist/test/unit/implementations/dms/user-permissions-gate.test.js +0 -159
  403. package/dist/test/unit/implementations/dms/user-permissions-gate.test.js.map +0 -1
  404. package/dist/test/unit/implementations/dms/warn-once.test.d.ts +0 -1
  405. package/dist/test/unit/implementations/dms/warn-once.test.js +0 -179
  406. package/dist/test/unit/implementations/dms/warn-once.test.js.map +0 -1
  407. package/dist/test/unit/implementations/dms-base/archive-mode-helpers.test.d.ts +0 -1
  408. package/dist/test/unit/implementations/dms-base/archive-mode-helpers.test.js +0 -121
  409. package/dist/test/unit/implementations/dms-base/archive-mode-helpers.test.js.map +0 -1
  410. package/dist/test/unit/implementations/dms-base/filter-tokens.test.d.ts +0 -1
  411. package/dist/test/unit/implementations/dms-base/filter-tokens.test.js +0 -39
  412. package/dist/test/unit/implementations/dms-base/filter-tokens.test.js.map +0 -1
  413. package/dist/test/unit/implementations/dms-base/footer-summary.test.d.ts +0 -1
  414. package/dist/test/unit/implementations/dms-base/footer-summary.test.js +0 -51
  415. package/dist/test/unit/implementations/dms-base/footer-summary.test.js.map +0 -1
  416. package/dist/test/unit/implementations/dms-base/table-view-export-batching.test.d.ts +0 -1
  417. package/dist/test/unit/implementations/dms-base/table-view-export-batching.test.js +0 -120
  418. package/dist/test/unit/implementations/dms-base/table-view-export-batching.test.js.map +0 -1
  419. package/dist/test/unit/implementations/dms-base/table-view-shared-controller.test.d.ts +0 -1
  420. package/dist/test/unit/implementations/dms-base/table-view-shared-controller.test.js +0 -114
  421. package/dist/test/unit/implementations/dms-base/table-view-shared-controller.test.js.map +0 -1
  422. package/dist/test/unit/implementations/dms-html-render/built-in-emails.test.d.ts +0 -1
  423. package/dist/test/unit/implementations/dms-html-render/built-in-emails.test.js +0 -34
  424. package/dist/test/unit/implementations/dms-html-render/built-in-emails.test.js.map +0 -1
  425. package/dist/test/unit/implementations/dms-html-render/generate-html.test.d.ts +0 -1
  426. package/dist/test/unit/implementations/dms-html-render/generate-html.test.js +0 -62
  427. package/dist/test/unit/implementations/dms-html-render/generate-html.test.js.map +0 -1
  428. package/dist/test/unit/implementations/dms-html-render/service-jwt.test.d.ts +0 -1
  429. package/dist/test/unit/implementations/dms-html-render/service-jwt.test.js +0 -37
  430. package/dist/test/unit/implementations/dms-html-render/service-jwt.test.js.map +0 -1
  431. package/dist/test/unit/implementations/dms-notifications/delivery-dedupe.test.d.ts +0 -1
  432. package/dist/test/unit/implementations/dms-notifications/delivery-dedupe.test.js +0 -100
  433. package/dist/test/unit/implementations/dms-notifications/delivery-dedupe.test.js.map +0 -1
  434. package/dist/test/unit/implementations/dms-notifications/delivery-guard.test.d.ts +0 -1
  435. package/dist/test/unit/implementations/dms-notifications/delivery-guard.test.js +0 -20
  436. package/dist/test/unit/implementations/dms-notifications/delivery-guard.test.js.map +0 -1
  437. package/dist/test/unit/implementations/notification-subject-lock.test.d.ts +0 -1
  438. package/dist/test/unit/implementations/notification-subject-lock.test.js +0 -31
  439. package/dist/test/unit/implementations/notification-subject-lock.test.js.map +0 -1
  440. package/dist/test/unit/interfaces/dms/category-default-layout.test.d.ts +0 -1
  441. package/dist/test/unit/interfaces/dms/category-default-layout.test.js +0 -85
  442. package/dist/test/unit/interfaces/dms/category-default-layout.test.js.map +0 -1
  443. package/dist/test/unit/interfaces/dms/client-ip.test.d.ts +0 -1
  444. package/dist/test/unit/interfaces/dms/client-ip.test.js +0 -61
  445. package/dist/test/unit/interfaces/dms/client-ip.test.js.map +0 -1
  446. package/dist/test/unit/interfaces/dms/component-children-permissions.test.d.ts +0 -1
  447. package/dist/test/unit/interfaces/dms/component-children-permissions.test.js +0 -362
  448. package/dist/test/unit/interfaces/dms/component-children-permissions.test.js.map +0 -1
  449. package/dist/test/unit/interfaces/dms/component-transform.test.d.ts +0 -1
  450. package/dist/test/unit/interfaces/dms/component-transform.test.js +0 -45
  451. package/dist/test/unit/interfaces/dms/component-transform.test.js.map +0 -1
  452. package/dist/test/unit/interfaces/dms/database-initialized-hook.test.d.ts +0 -1
  453. package/dist/test/unit/interfaces/dms/database-initialized-hook.test.js +0 -92
  454. package/dist/test/unit/interfaces/dms/database-initialized-hook.test.js.map +0 -1
  455. package/dist/test/unit/interfaces/dms/form-watch-permissions.test.d.ts +0 -1
  456. package/dist/test/unit/interfaces/dms/form-watch-permissions.test.js +0 -133
  457. package/dist/test/unit/interfaces/dms/form-watch-permissions.test.js.map +0 -1
  458. package/dist/test/unit/interfaces/dms/has-permission-ancestors.test.d.ts +0 -1
  459. package/dist/test/unit/interfaces/dms/has-permission-ancestors.test.js +0 -149
  460. package/dist/test/unit/interfaces/dms/has-permission-ancestors.test.js.map +0 -1
  461. package/dist/test/unit/interfaces/dms/has-permission-module-scope.test.d.ts +0 -1
  462. package/dist/test/unit/interfaces/dms/has-permission-module-scope.test.js +0 -70
  463. package/dist/test/unit/interfaces/dms/has-permission-module-scope.test.js.map +0 -1
  464. package/dist/test/unit/interfaces/dms/hook-handler-results.test.d.ts +0 -1
  465. package/dist/test/unit/interfaces/dms/hook-handler-results.test.js +0 -49
  466. package/dist/test/unit/interfaces/dms/hook-handler-results.test.js.map +0 -1
  467. package/dist/test/unit/interfaces/dms/invite-extension.test.d.ts +0 -1
  468. package/dist/test/unit/interfaces/dms/invite-extension.test.js +0 -569
  469. package/dist/test/unit/interfaces/dms/invite-extension.test.js.map +0 -1
  470. package/dist/test/unit/interfaces/dms/member-access.test.d.ts +0 -1
  471. package/dist/test/unit/interfaces/dms/member-access.test.js +0 -143
  472. package/dist/test/unit/interfaces/dms/member-access.test.js.map +0 -1
  473. package/dist/test/unit/interfaces/dms/module-permission-registration.test.d.ts +0 -1
  474. package/dist/test/unit/interfaces/dms/module-permission-registration.test.js +0 -107
  475. package/dist/test/unit/interfaces/dms/module-permission-registration.test.js.map +0 -1
  476. package/dist/test/unit/interfaces/dms/module-reload-registrations.test.d.ts +0 -1
  477. package/dist/test/unit/interfaces/dms/module-reload-registrations.test.js +0 -51
  478. package/dist/test/unit/interfaces/dms/module-reload-registrations.test.js.map +0 -1
  479. package/dist/test/unit/interfaces/dms/module-scoped-permissions.test.d.ts +0 -1
  480. package/dist/test/unit/interfaces/dms/module-scoped-permissions.test.js +0 -28
  481. package/dist/test/unit/interfaces/dms/module-scoped-permissions.test.js.map +0 -1
  482. package/dist/test/unit/interfaces/dms/native-file-registration.test.d.ts +0 -1
  483. package/dist/test/unit/interfaces/dms/native-file-registration.test.js +0 -135
  484. package/dist/test/unit/interfaces/dms/native-file-registration.test.js.map +0 -1
  485. package/dist/test/unit/interfaces/dms/nav-badge-tones.test.d.ts +0 -1
  486. package/dist/test/unit/interfaces/dms/nav-badge-tones.test.js +0 -31
  487. package/dist/test/unit/interfaces/dms/nav-badge-tones.test.js.map +0 -1
  488. package/dist/test/unit/interfaces/dms/page-extension-ownership.test.d.ts +0 -1
  489. package/dist/test/unit/interfaces/dms/page-extension-ownership.test.js +0 -153
  490. package/dist/test/unit/interfaces/dms/page-extension-ownership.test.js.map +0 -1
  491. package/dist/test/unit/interfaces/dms/page-extension.test.d.ts +0 -1
  492. package/dist/test/unit/interfaces/dms/page-extension.test.js +0 -662
  493. package/dist/test/unit/interfaces/dms/page-extension.test.js.map +0 -1
  494. package/dist/test/unit/interfaces/dms/page-layout-gate.test.d.ts +0 -1
  495. package/dist/test/unit/interfaces/dms/page-layout-gate.test.js +0 -143
  496. package/dist/test/unit/interfaces/dms/page-layout-gate.test.js.map +0 -1
  497. package/dist/test/unit/interfaces/dms/page-layout-query.test.d.ts +0 -1
  498. package/dist/test/unit/interfaces/dms/page-layout-query.test.js +0 -134
  499. package/dist/test/unit/interfaces/dms/page-layout-query.test.js.map +0 -1
  500. package/dist/test/unit/interfaces/dms/page-permission-teardown.test.d.ts +0 -1
  501. package/dist/test/unit/interfaces/dms/page-permission-teardown.test.js +0 -75
  502. package/dist/test/unit/interfaces/dms/page-permission-teardown.test.js.map +0 -1
  503. package/dist/test/unit/interfaces/dms/page-registration-identity.test.d.ts +0 -1
  504. package/dist/test/unit/interfaces/dms/page-registration-identity.test.js +0 -204
  505. package/dist/test/unit/interfaces/dms/page-registration-identity.test.js.map +0 -1
  506. package/dist/test/unit/interfaces/dms/page-teardown.test.d.ts +0 -1
  507. package/dist/test/unit/interfaces/dms/page-teardown.test.js +0 -291
  508. package/dist/test/unit/interfaces/dms/page-teardown.test.js.map +0 -1
  509. package/dist/test/unit/interfaces/dms/page-topics.test.d.ts +0 -1
  510. package/dist/test/unit/interfaces/dms/page-topics.test.js +0 -308
  511. package/dist/test/unit/interfaces/dms/page-topics.test.js.map +0 -1
  512. package/dist/test/unit/interfaces/dms/password-policy.test.d.ts +0 -1
  513. package/dist/test/unit/interfaces/dms/password-policy.test.js +0 -43
  514. package/dist/test/unit/interfaces/dms/password-policy.test.js.map +0 -1
  515. package/dist/test/unit/interfaces/dms/permission-requirements.test.d.ts +0 -1
  516. package/dist/test/unit/interfaces/dms/permission-requirements.test.js +0 -144
  517. package/dist/test/unit/interfaces/dms/permission-requirements.test.js.map +0 -1
  518. package/dist/test/unit/interfaces/dms/saas-mode.test.d.ts +0 -1
  519. package/dist/test/unit/interfaces/dms/saas-mode.test.js +0 -42
  520. package/dist/test/unit/interfaces/dms/saas-mode.test.js.map +0 -1
  521. package/dist/test/unit/interfaces/dms/tenant-being-provisioned-hook.test.d.ts +0 -1
  522. package/dist/test/unit/interfaces/dms/tenant-being-provisioned-hook.test.js +0 -92
  523. package/dist/test/unit/interfaces/dms/tenant-being-provisioned-hook.test.js.map +0 -1
  524. package/dist/test/unit/interfaces/dms/tenant-invite-email.test.d.ts +0 -1
  525. package/dist/test/unit/interfaces/dms/tenant-invite-email.test.js +0 -53
  526. package/dist/test/unit/interfaces/dms/tenant-invite-email.test.js.map +0 -1
  527. package/dist/test/unit/interfaces/dms-auth/refresh-token-rotation.test.d.ts +0 -1
  528. package/dist/test/unit/interfaces/dms-auth/refresh-token-rotation.test.js +0 -141
  529. package/dist/test/unit/interfaces/dms-auth/refresh-token-rotation.test.js.map +0 -1
  530. package/dist/test/unit/interfaces/dms-base/block-parity-options.test.d.ts +0 -1
  531. package/dist/test/unit/interfaces/dms-base/block-parity-options.test.js +0 -53
  532. package/dist/test/unit/interfaces/dms-base/block-parity-options.test.js.map +0 -1
  533. package/dist/test/unit/interfaces/dms-base/block-vocabulary.test.d.ts +0 -1
  534. package/dist/test/unit/interfaces/dms-base/block-vocabulary.test.js +0 -77
  535. package/dist/test/unit/interfaces/dms-base/block-vocabulary.test.js.map +0 -1
  536. package/dist/test/unit/interfaces/dms-base/chart-value-precision.test.d.ts +0 -1
  537. package/dist/test/unit/interfaces/dms-base/chart-value-precision.test.js +0 -29
  538. package/dist/test/unit/interfaces/dms-base/chart-value-precision.test.js.map +0 -1
  539. package/dist/test/unit/interfaces/dms-base/code-block-catalog.test.d.ts +0 -1
  540. package/dist/test/unit/interfaces/dms-base/code-block-catalog.test.js +0 -46
  541. package/dist/test/unit/interfaces/dms-base/code-block-catalog.test.js.map +0 -1
  542. package/dist/test/unit/interfaces/dms-base/column-display.test.d.ts +0 -1
  543. package/dist/test/unit/interfaces/dms-base/column-display.test.js +0 -194
  544. package/dist/test/unit/interfaces/dms-base/column-display.test.js.map +0 -1
  545. package/dist/test/unit/interfaces/dms-base/confirm-dialog-secondary-action.test.d.ts +0 -1
  546. package/dist/test/unit/interfaces/dms-base/confirm-dialog-secondary-action.test.js +0 -26
  547. package/dist/test/unit/interfaces/dms-base/confirm-dialog-secondary-action.test.js.map +0 -1
  548. package/dist/test/unit/interfaces/dms-base/data-types/default-types.test.d.ts +0 -1
  549. package/dist/test/unit/interfaces/dms-base/data-types/default-types.test.js +0 -254
  550. package/dist/test/unit/interfaces/dms-base/data-types/default-types.test.js.map +0 -1
  551. package/dist/test/unit/interfaces/dms-base/data-types/field-types.test.d.ts +0 -1
  552. package/dist/test/unit/interfaces/dms-base/data-types/field-types.test.js +0 -194
  553. package/dist/test/unit/interfaces/dms-base/data-types/field-types.test.js.map +0 -1
  554. package/dist/test/unit/interfaces/dms-base/data-types/status-type.test.d.ts +0 -1
  555. package/dist/test/unit/interfaces/dms-base/data-types/status-type.test.js +0 -56
  556. package/dist/test/unit/interfaces/dms-base/data-types/status-type.test.js.map +0 -1
  557. package/dist/test/unit/interfaces/dms-base/date-type-filter.test.d.ts +0 -1
  558. package/dist/test/unit/interfaces/dms-base/date-type-filter.test.js +0 -34
  559. package/dist/test/unit/interfaces/dms-base/date-type-filter.test.js.map +0 -1
  560. package/dist/test/unit/interfaces/dms-base/date-type-range.test.d.ts +0 -1
  561. package/dist/test/unit/interfaces/dms-base/date-type-range.test.js +0 -29
  562. package/dist/test/unit/interfaces/dms-base/date-type-range.test.js.map +0 -1
  563. package/dist/test/unit/interfaces/dms-base/display-blocks-catalog.test.d.ts +0 -1
  564. package/dist/test/unit/interfaces/dms-base/display-blocks-catalog.test.js +0 -159
  565. package/dist/test/unit/interfaces/dms-base/display-blocks-catalog.test.js.map +0 -1
  566. package/dist/test/unit/interfaces/dms-base/export-jobs-binding.test.d.ts +0 -1
  567. package/dist/test/unit/interfaces/dms-base/export-jobs-binding.test.js +0 -49
  568. package/dist/test/unit/interfaces/dms-base/export-jobs-binding.test.js.map +0 -1
  569. package/dist/test/unit/interfaces/dms-base/form-catalog.test.d.ts +0 -1
  570. package/dist/test/unit/interfaces/dms-base/form-catalog.test.js +0 -67
  571. package/dist/test/unit/interfaces/dms-base/form-catalog.test.js.map +0 -1
  572. package/dist/test/unit/interfaces/dms-base/form-footer.test.d.ts +0 -1
  573. package/dist/test/unit/interfaces/dms-base/form-footer.test.js +0 -12
  574. package/dist/test/unit/interfaces/dms-base/form-footer.test.js.map +0 -1
  575. package/dist/test/unit/interfaces/dms-base/form-sections.test.d.ts +0 -1
  576. package/dist/test/unit/interfaces/dms-base/form-sections.test.js +0 -93
  577. package/dist/test/unit/interfaces/dms-base/form-sections.test.js.map +0 -1
  578. package/dist/test/unit/interfaces/dms-base/form-upload-tokens.test.d.ts +0 -1
  579. package/dist/test/unit/interfaces/dms-base/form-upload-tokens.test.js +0 -174
  580. package/dist/test/unit/interfaces/dms-base/form-upload-tokens.test.js.map +0 -1
  581. package/dist/test/unit/interfaces/dms-base/guard.test.d.ts +0 -1
  582. package/dist/test/unit/interfaces/dms-base/guard.test.js +0 -53
  583. package/dist/test/unit/interfaces/dms-base/guard.test.js.map +0 -1
  584. package/dist/test/unit/interfaces/dms-base/layout-header-actions.test.d.ts +0 -1
  585. package/dist/test/unit/interfaces/dms-base/layout-header-actions.test.js +0 -328
  586. package/dist/test/unit/interfaces/dms-base/layout-header-actions.test.js.map +0 -1
  587. package/dist/test/unit/interfaces/dms-base/layouts.test.d.ts +0 -1
  588. package/dist/test/unit/interfaces/dms-base/layouts.test.js +0 -49
  589. package/dist/test/unit/interfaces/dms-base/layouts.test.js.map +0 -1
  590. package/dist/test/unit/interfaces/dms-base/lists-and-settings-catalog.test.d.ts +0 -1
  591. package/dist/test/unit/interfaces/dms-base/lists-and-settings-catalog.test.js +0 -43
  592. package/dist/test/unit/interfaces/dms-base/lists-and-settings-catalog.test.js.map +0 -1
  593. package/dist/test/unit/interfaces/dms-base/nested-chart-card.test.d.ts +0 -1
  594. package/dist/test/unit/interfaces/dms-base/nested-chart-card.test.js +0 -85
  595. package/dist/test/unit/interfaces/dms-base/nested-chart-card.test.js.map +0 -1
  596. package/dist/test/unit/interfaces/dms-base/page-live.test.d.ts +0 -1
  597. package/dist/test/unit/interfaces/dms-base/page-live.test.js +0 -121
  598. package/dist/test/unit/interfaces/dms-base/page-live.test.js.map +0 -1
  599. package/dist/test/unit/interfaces/dms-base/period-selector-catalog.test.d.ts +0 -1
  600. package/dist/test/unit/interfaces/dms-base/period-selector-catalog.test.js +0 -53
  601. package/dist/test/unit/interfaces/dms-base/period-selector-catalog.test.js.map +0 -1
  602. package/dist/test/unit/interfaces/dms-base/query-response-delta.test.d.ts +0 -1
  603. package/dist/test/unit/interfaces/dms-base/query-response-delta.test.js +0 -29
  604. package/dist/test/unit/interfaces/dms-base/query-response-delta.test.js.map +0 -1
  605. package/dist/test/unit/interfaces/dms-base/resource-form.test.d.ts +0 -1
  606. package/dist/test/unit/interfaces/dms-base/resource-form.test.js +0 -141
  607. package/dist/test/unit/interfaces/dms-base/resource-form.test.js.map +0 -1
  608. package/dist/test/unit/interfaces/dms-base/table-and-card-catalog.test.d.ts +0 -1
  609. package/dist/test/unit/interfaces/dms-base/table-and-card-catalog.test.js +0 -87
  610. package/dist/test/unit/interfaces/dms-base/table-and-card-catalog.test.js.map +0 -1
  611. package/dist/test/unit/interfaces/dms-base/table-cell-wrap.test.d.ts +0 -1
  612. package/dist/test/unit/interfaces/dms-base/table-cell-wrap.test.js +0 -29
  613. package/dist/test/unit/interfaces/dms-base/table-cell-wrap.test.js.map +0 -1
  614. package/dist/test/unit/interfaces/dms-base/table-view-after-write.test.d.ts +0 -1
  615. package/dist/test/unit/interfaces/dms-base/table-view-after-write.test.js +0 -62
  616. package/dist/test/unit/interfaces/dms-base/table-view-after-write.test.js.map +0 -1
  617. package/dist/test/unit/interfaces/dms-base/table-view-bulk-operations.test.d.ts +0 -1
  618. package/dist/test/unit/interfaces/dms-base/table-view-bulk-operations.test.js +0 -259
  619. package/dist/test/unit/interfaces/dms-base/table-view-bulk-operations.test.js.map +0 -1
  620. package/dist/test/unit/interfaces/dms-base/table-view-column-validator.test.d.ts +0 -1
  621. package/dist/test/unit/interfaces/dms-base/table-view-column-validator.test.js +0 -87
  622. package/dist/test/unit/interfaces/dms-base/table-view-column-validator.test.js.map +0 -1
  623. package/dist/test/unit/interfaces/dms-base/table-view-evaluation-order.fixture.d.ts +0 -5
  624. package/dist/test/unit/interfaces/dms-base/table-view-evaluation-order.fixture.js +0 -82
  625. package/dist/test/unit/interfaces/dms-base/table-view-evaluation-order.fixture.js.map +0 -1
  626. package/dist/test/unit/interfaces/dms-base/table-view-evaluation-order.test.d.ts +0 -1
  627. package/dist/test/unit/interfaces/dms-base/table-view-evaluation-order.test.js +0 -24
  628. package/dist/test/unit/interfaces/dms-base/table-view-evaluation-order.test.js.map +0 -1
  629. package/dist/test/unit/interfaces/dms-base/table-view-export-permission.test.d.ts +0 -1
  630. package/dist/test/unit/interfaces/dms-base/table-view-export-permission.test.js +0 -91
  631. package/dist/test/unit/interfaces/dms-base/table-view-export-permission.test.js.map +0 -1
  632. package/dist/test/unit/interfaces/dms-base/table-view-footer.test.d.ts +0 -1
  633. package/dist/test/unit/interfaces/dms-base/table-view-footer.test.js +0 -177
  634. package/dist/test/unit/interfaces/dms-base/table-view-footer.test.js.map +0 -1
  635. package/dist/test/unit/interfaces/dms-base/table-view-form-page-texts.test.d.ts +0 -1
  636. package/dist/test/unit/interfaces/dms-base/table-view-form-page-texts.test.js +0 -36
  637. package/dist/test/unit/interfaces/dms-base/table-view-form-page-texts.test.js.map +0 -1
  638. package/dist/test/unit/interfaces/dms-base/table-view-form-page-urls.test.d.ts +0 -1
  639. package/dist/test/unit/interfaces/dms-base/table-view-form-page-urls.test.js +0 -362
  640. package/dist/test/unit/interfaces/dms-base/table-view-form-page-urls.test.js.map +0 -1
  641. package/dist/test/unit/interfaces/dms-base/table-view-form-redirect.test.d.ts +0 -1
  642. package/dist/test/unit/interfaces/dms-base/table-view-form-redirect.test.js +0 -253
  643. package/dist/test/unit/interfaces/dms-base/table-view-form-redirect.test.js.map +0 -1
  644. package/dist/test/unit/interfaces/dms-base/table-view-form-slots.test.d.ts +0 -1
  645. package/dist/test/unit/interfaces/dms-base/table-view-form-slots.test.js +0 -80
  646. package/dist/test/unit/interfaces/dms-base/table-view-form-slots.test.js.map +0 -1
  647. package/dist/test/unit/interfaces/dms-base/table-view-get-guard.test.d.ts +0 -1
  648. package/dist/test/unit/interfaces/dms-base/table-view-get-guard.test.js +0 -211
  649. package/dist/test/unit/interfaces/dms-base/table-view-get-guard.test.js.map +0 -1
  650. package/dist/test/unit/interfaces/dms-base/table-view-hidden-columns.test.d.ts +0 -1
  651. package/dist/test/unit/interfaces/dms-base/table-view-hidden-columns.test.js +0 -105
  652. package/dist/test/unit/interfaces/dms-base/table-view-hidden-columns.test.js.map +0 -1
  653. package/dist/test/unit/interfaces/dms-base/table-view-meta-inherit.test.d.ts +0 -1
  654. package/dist/test/unit/interfaces/dms-base/table-view-meta-inherit.test.js +0 -119
  655. package/dist/test/unit/interfaces/dms-base/table-view-meta-inherit.test.js.map +0 -1
  656. package/dist/test/unit/interfaces/dms-base/table-view-one-writer.test.d.ts +0 -1
  657. package/dist/test/unit/interfaces/dms-base/table-view-one-writer.test.js +0 -179
  658. package/dist/test/unit/interfaces/dms-base/table-view-one-writer.test.js.map +0 -1
  659. package/dist/test/unit/interfaces/dms-base/table-view-realtime-no-change.test.d.ts +0 -1
  660. package/dist/test/unit/interfaces/dms-base/table-view-realtime-no-change.test.js +0 -23
  661. package/dist/test/unit/interfaces/dms-base/table-view-realtime-no-change.test.js.map +0 -1
  662. package/dist/test/unit/interfaces/dms-base/table-view-realtime.test.d.ts +0 -1
  663. package/dist/test/unit/interfaces/dms-base/table-view-realtime.test.js +0 -139
  664. package/dist/test/unit/interfaces/dms-base/table-view-realtime.test.js.map +0 -1
  665. package/dist/test/unit/interfaces/dms-base/table-view-reduced-chrome.test.d.ts +0 -1
  666. package/dist/test/unit/interfaces/dms-base/table-view-reduced-chrome.test.js +0 -487
  667. package/dist/test/unit/interfaces/dms-base/table-view-reduced-chrome.test.js.map +0 -1
  668. package/dist/test/unit/interfaces/dms-base/table-view-route-param-filter-defaults.test.d.ts +0 -1
  669. package/dist/test/unit/interfaces/dms-base/table-view-route-param-filter-defaults.test.js +0 -256
  670. package/dist/test/unit/interfaces/dms-base/table-view-route-param-filter-defaults.test.js.map +0 -1
  671. package/dist/test/unit/interfaces/dms-base/table-view-row-menu-label.test.d.ts +0 -1
  672. package/dist/test/unit/interfaces/dms-base/table-view-row-menu-label.test.js +0 -27
  673. package/dist/test/unit/interfaces/dms-base/table-view-row-menu-label.test.js.map +0 -1
  674. package/dist/test/unit/interfaces/dms-base/table-view-shared-controller-permissions.test.d.ts +0 -1
  675. package/dist/test/unit/interfaces/dms-base/table-view-shared-controller-permissions.test.js +0 -145
  676. package/dist/test/unit/interfaces/dms-base/table-view-shared-controller-permissions.test.js.map +0 -1
  677. package/dist/test/unit/interfaces/dms-base/table-view-source-reorder.test.d.ts +0 -1
  678. package/dist/test/unit/interfaces/dms-base/table-view-source-reorder.test.js +0 -272
  679. package/dist/test/unit/interfaces/dms-base/table-view-source-reorder.test.js.map +0 -1
  680. package/dist/test/unit/interfaces/dms-base/table-view-tab-count-warning.test.d.ts +0 -1
  681. package/dist/test/unit/interfaces/dms-base/table-view-tab-count-warning.test.js +0 -96
  682. package/dist/test/unit/interfaces/dms-base/table-view-tab-count-warning.test.js.map +0 -1
  683. package/dist/test/unit/interfaces/dms-base/table-view-tenant-gate.test.d.ts +0 -1
  684. package/dist/test/unit/interfaces/dms-base/table-view-tenant-gate.test.js +0 -209
  685. package/dist/test/unit/interfaces/dms-base/table-view-tenant-gate.test.js.map +0 -1
  686. package/dist/test/unit/interfaces/dms-base/table-view-views.test.d.ts +0 -1
  687. package/dist/test/unit/interfaces/dms-base/table-view-views.test.js +0 -317
  688. package/dist/test/unit/interfaces/dms-base/table-view-views.test.js.map +0 -1
  689. package/dist/test/unit/interfaces/dms-base/table-view-writer-row-rules.test.d.ts +0 -1
  690. package/dist/test/unit/interfaces/dms-base/table-view-writer-row-rules.test.js +0 -292
  691. package/dist/test/unit/interfaces/dms-base/table-view-writer-row-rules.test.js.map +0 -1
  692. package/dist/test/unit/oauth-account-guard.test.d.ts +0 -1
  693. package/dist/test/unit/oauth-account-guard.test.js +0 -96
  694. package/dist/test/unit/oauth-account-guard.test.js.map +0 -1
  695. package/dist/test/unit/oauth-claim-account.test.d.ts +0 -1
  696. package/dist/test/unit/oauth-claim-account.test.js +0 -90
  697. package/dist/test/unit/oauth-claim-account.test.js.map +0 -1
  698. package/dist/test/unit/oauth-config.test.d.ts +0 -1
  699. package/dist/test/unit/oauth-config.test.js +0 -112
  700. package/dist/test/unit/oauth-config.test.js.map +0 -1
  701. package/dist/test/unit/oauth-linking-policy.test.d.ts +0 -1
  702. package/dist/test/unit/oauth-linking-policy.test.js +0 -114
  703. package/dist/test/unit/oauth-linking-policy.test.js.map +0 -1
  704. package/dist/test/unit/oauth-provider-identity.test.d.ts +0 -1
  705. package/dist/test/unit/oauth-provider-identity.test.js +0 -126
  706. package/dist/test/unit/oauth-provider-identity.test.js.map +0 -1
  707. package/dist/test/unit/oauth-relay.test.d.ts +0 -1
  708. package/dist/test/unit/oauth-relay.test.js +0 -40
  709. package/dist/test/unit/oauth-relay.test.js.map +0 -1
  710. package/dist/test/unit/oauth-state.test.d.ts +0 -1
  711. package/dist/test/unit/oauth-state.test.js +0 -61
  712. package/dist/test/unit/oauth-state.test.js.map +0 -1
  713. package/dist/test/unit/onboarding-platform.test.d.ts +0 -1
  714. package/dist/test/unit/onboarding-platform.test.js +0 -76
  715. package/dist/test/unit/onboarding-platform.test.js.map +0 -1
  716. package/dist/test/unit/pages/settings/account-activity-feed.test.d.ts +0 -1
  717. package/dist/test/unit/pages/settings/account-activity-feed.test.js +0 -116
  718. package/dist/test/unit/pages/settings/account-activity-feed.test.js.map +0 -1
  719. package/dist/test/unit/pages/settings/account-activity.test.d.ts +0 -1
  720. package/dist/test/unit/pages/settings/account-activity.test.js +0 -271
  721. package/dist/test/unit/pages/settings/account-activity.test.js.map +0 -1
  722. package/dist/test/unit/pages/settings/account-data.test.d.ts +0 -1
  723. package/dist/test/unit/pages/settings/account-data.test.js +0 -255
  724. package/dist/test/unit/pages/settings/account-data.test.js.map +0 -1
  725. package/dist/test/unit/pages/settings/account-security.test.d.ts +0 -1
  726. package/dist/test/unit/pages/settings/account-security.test.js +0 -208
  727. package/dist/test/unit/pages/settings/account-security.test.js.map +0 -1
  728. package/dist/test/unit/pages/settings/invite-availability.test.d.ts +0 -1
  729. package/dist/test/unit/pages/settings/invite-availability.test.js +0 -112
  730. package/dist/test/unit/pages/settings/invite-availability.test.js.map +0 -1
  731. package/dist/test/unit/pages/settings/invite-email-delivery.test.d.ts +0 -1
  732. package/dist/test/unit/pages/settings/invite-email-delivery.test.js +0 -146
  733. package/dist/test/unit/pages/settings/invite-email-delivery.test.js.map +0 -1
  734. package/dist/test/unit/pages/settings/invite-email-validation-option.test.d.ts +0 -1
  735. package/dist/test/unit/pages/settings/invite-email-validation-option.test.js +0 -33
  736. package/dist/test/unit/pages/settings/invite-email-validation-option.test.js.map +0 -1
  737. package/dist/test/unit/pages/settings/invite-member-quick-action.test.d.ts +0 -1
  738. package/dist/test/unit/pages/settings/invite-member-quick-action.test.js +0 -104
  739. package/dist/test/unit/pages/settings/invite-member-quick-action.test.js.map +0 -1
  740. package/dist/test/unit/pages/settings/member-lists-page-size.test.d.ts +0 -1
  741. package/dist/test/unit/pages/settings/member-lists-page-size.test.js +0 -22
  742. package/dist/test/unit/pages/settings/member-lists-page-size.test.js.map +0 -1
  743. package/dist/test/unit/pages/settings/member-roles-field.test.d.ts +0 -1
  744. package/dist/test/unit/pages/settings/member-roles-field.test.js +0 -47
  745. package/dist/test/unit/pages/settings/member-roles-field.test.js.map +0 -1
  746. package/dist/test/unit/pages/settings/member-table-widths.test.d.ts +0 -1
  747. package/dist/test/unit/pages/settings/member-table-widths.test.js +0 -53
  748. package/dist/test/unit/pages/settings/member-table-widths.test.js.map +0 -1
  749. package/dist/test/unit/pages/settings/members-page.test.d.ts +0 -1
  750. package/dist/test/unit/pages/settings/members-page.test.js +0 -231
  751. package/dist/test/unit/pages/settings/members-page.test.js.map +0 -1
  752. package/dist/test/unit/pages/settings/notifications-access-gate.test.d.ts +0 -1
  753. package/dist/test/unit/pages/settings/notifications-access-gate.test.js +0 -71
  754. package/dist/test/unit/pages/settings/notifications-access-gate.test.js.map +0 -1
  755. package/dist/test/unit/pages/settings/permission-tree-nodes.test.d.ts +0 -1
  756. package/dist/test/unit/pages/settings/permission-tree-nodes.test.js +0 -161
  757. package/dist/test/unit/pages/settings/permission-tree-nodes.test.js.map +0 -1
  758. package/dist/test/unit/pages/settings/permission-warnings.test.d.ts +0 -1
  759. package/dist/test/unit/pages/settings/permission-warnings.test.js +0 -49
  760. package/dist/test/unit/pages/settings/permission-warnings.test.js.map +0 -1
  761. package/dist/test/unit/pages/settings/profile-email-change.test.d.ts +0 -1
  762. package/dist/test/unit/pages/settings/profile-email-change.test.js +0 -50
  763. package/dist/test/unit/pages/settings/profile-email-change.test.js.map +0 -1
  764. package/dist/test/unit/pages/settings/regional-preferences.test.d.ts +0 -1
  765. package/dist/test/unit/pages/settings/regional-preferences.test.js +0 -118
  766. package/dist/test/unit/pages/settings/regional-preferences.test.js.map +0 -1
  767. package/dist/test/unit/pages/settings/role-delete-confirm.test.d.ts +0 -1
  768. package/dist/test/unit/pages/settings/role-delete-confirm.test.js +0 -77
  769. package/dist/test/unit/pages/settings/role-delete-confirm.test.js.map +0 -1
  770. package/dist/test/unit/pages/settings/role-editor.test.d.ts +0 -1
  771. package/dist/test/unit/pages/settings/role-editor.test.js +0 -277
  772. package/dist/test/unit/pages/settings/role-editor.test.js.map +0 -1
  773. package/dist/test/unit/pages/settings/role-preview.test.d.ts +0 -1
  774. package/dist/test/unit/pages/settings/role-preview.test.js +0 -207
  775. package/dist/test/unit/pages/settings/role-preview.test.js.map +0 -1
  776. package/dist/test/unit/pages/settings/security-attention.test.d.ts +0 -1
  777. package/dist/test/unit/pages/settings/security-attention.test.js +0 -74
  778. package/dist/test/unit/pages/settings/security-attention.test.js.map +0 -1
  779. package/dist/test/unit/realtime/menu-topics.test.d.ts +0 -1
  780. package/dist/test/unit/realtime/menu-topics.test.js +0 -26
  781. package/dist/test/unit/realtime/menu-topics.test.js.map +0 -1
  782. package/dist/test/unit/realtime/stop-closes-streams.test.d.ts +0 -1
  783. package/dist/test/unit/realtime/stop-closes-streams.test.js +0 -99
  784. package/dist/test/unit/realtime/stop-closes-streams.test.js.map +0 -1
  785. package/dist/test/unit/request-authenticators.test.d.ts +0 -1
  786. package/dist/test/unit/request-authenticators.test.js +0 -153
  787. package/dist/test/unit/request-authenticators.test.js.map +0 -1
  788. package/dist/test/unit/request-tenant-guards.test.d.ts +0 -1
  789. package/dist/test/unit/request-tenant-guards.test.js +0 -200
  790. package/dist/test/unit/request-tenant-guards.test.js.map +0 -1
  791. package/dist/test/unit/sanitize-user.test.d.ts +0 -1
  792. package/dist/test/unit/sanitize-user.test.js +0 -21
  793. package/dist/test/unit/sanitize-user.test.js.map +0 -1
  794. package/dist/test/unit/signup-account-guard.test.d.ts +0 -1
  795. package/dist/test/unit/signup-account-guard.test.js +0 -141
  796. package/dist/test/unit/signup-account-guard.test.js.map +0 -1
  797. package/dist/test/unit/signup-email-validation.test.d.ts +0 -1
  798. package/dist/test/unit/signup-email-validation.test.js +0 -79
  799. package/dist/test/unit/signup-email-validation.test.js.map +0 -1
  800. package/dist/test/unit/store/store.test.d.ts +0 -1
  801. package/dist/test/unit/store/store.test.js +0 -127
  802. package/dist/test/unit/store/store.test.js.map +0 -1
  803. package/dist/test/unit/upload-constraints.test.d.ts +0 -1
  804. package/dist/test/unit/upload-constraints.test.js +0 -43
  805. package/dist/test/unit/upload-constraints.test.js.map +0 -1
  806. package/dist/test/unit/upload-token.test.d.ts +0 -1
  807. package/dist/test/unit/upload-token.test.js +0 -46
  808. package/dist/test/unit/upload-token.test.js.map +0 -1
  809. package/dist/test/unit/utils/admin-invite-email.test.d.ts +0 -1
  810. package/dist/test/unit/utils/admin-invite-email.test.js +0 -69
  811. package/dist/test/unit/utils/admin-invite-email.test.js.map +0 -1
  812. package/dist/test/unit/utils/attempt-limiter.test.d.ts +0 -1
  813. package/dist/test/unit/utils/attempt-limiter.test.js +0 -43
  814. package/dist/test/unit/utils/attempt-limiter.test.js.map +0 -1
  815. package/dist/test/unit/utils/email-subjects.test.d.ts +0 -1
  816. package/dist/test/unit/utils/email-subjects.test.js +0 -27
  817. package/dist/test/unit/utils/email-subjects.test.js.map +0 -1
  818. package/dist/test/unit/utils/failed-sign-ins.test.d.ts +0 -1
  819. package/dist/test/unit/utils/failed-sign-ins.test.js +0 -57
  820. package/dist/test/unit/utils/failed-sign-ins.test.js.map +0 -1
  821. package/dist/test/unit/utils/notification-rules.test.d.ts +0 -1
  822. package/dist/test/unit/utils/notification-rules.test.js +0 -60
  823. package/dist/test/unit/utils/notification-rules.test.js.map +0 -1
  824. package/dist/test/unit/utils/notification-tones.test.d.ts +0 -1
  825. package/dist/test/unit/utils/notification-tones.test.js +0 -18
  826. package/dist/test/unit/utils/notification-tones.test.js.map +0 -1
  827. package/dist/test/unit/utils/owned-registry.test.d.ts +0 -1
  828. package/dist/test/unit/utils/owned-registry.test.js +0 -61
  829. package/dist/test/unit/utils/owned-registry.test.js.map +0 -1
  830. package/dist/test/unit/utils/row-action-rule-evaluator.test.d.ts +0 -1
  831. package/dist/test/unit/utils/row-action-rule-evaluator.test.js +0 -143
  832. package/dist/test/unit/utils/row-action-rule-evaluator.test.js.map +0 -1
  833. package/dist/test/unit/utils/sign-in-country.test.d.ts +0 -1
  834. package/dist/test/unit/utils/sign-in-country.test.js +0 -70
  835. package/dist/test/unit/utils/sign-in-country.test.js.map +0 -1
  836. package/dist/test/unit/utils/sign-in-devices.test.d.ts +0 -1
  837. package/dist/test/unit/utils/sign-in-devices.test.js +0 -105
  838. package/dist/test/unit/utils/sign-in-devices.test.js.map +0 -1
  839. package/dist/test/unit/utils/tenant-export-archive.test.d.ts +0 -1
  840. package/dist/test/unit/utils/tenant-export-archive.test.js +0 -138
  841. package/dist/test/unit/utils/tenant-export-archive.test.js.map +0 -1
  842. package/dist/test/unit/utils/tenant-instances.test.d.ts +0 -1
  843. package/dist/test/unit/utils/tenant-instances.test.js +0 -53
  844. package/dist/test/unit/utils/tenant-instances.test.js.map +0 -1
  845. package/dist/test/unit/utils/type-check.test.d.ts +0 -1
  846. package/dist/test/unit/utils/type-check.test.js +0 -143
  847. package/dist/test/unit/utils/type-check.test.js.map +0 -1
  848. package/dist/test/unit/utils/user-activity.test.d.ts +0 -1
  849. package/dist/test/unit/utils/user-activity.test.js +0 -77
  850. package/dist/test/unit/utils/user-activity.test.js.map +0 -1
  851. package/dist/test/unit/utils/value-parser.test.d.ts +0 -1
  852. package/dist/test/unit/utils/value-parser.test.js +0 -166
  853. package/dist/test/unit/utils/value-parser.test.js.map +0 -1
  854. package/dist/test/unit/utils/workspace-notifications.test.d.ts +0 -1
  855. package/dist/test/unit/utils/workspace-notifications.test.js +0 -32
  856. package/dist/test/unit/utils/workspace-notifications.test.js.map +0 -1
  857. package/dist/test/unit/validation/auth.schema.test.d.ts +0 -1
  858. package/dist/test/unit/validation/auth.schema.test.js +0 -77
  859. package/dist/test/unit/validation/auth.schema.test.js.map +0 -1
  860. package/dist/test/unit/validation/file.schema.test.d.ts +0 -1
  861. package/dist/test/unit/validation/file.schema.test.js +0 -140
  862. package/dist/test/unit/validation/file.schema.test.js.map +0 -1
  863. package/dist/test/unit/validation/member-invite.schema.test.d.ts +0 -1
  864. package/dist/test/unit/validation/member-invite.schema.test.js +0 -79
  865. package/dist/test/unit/validation/member-invite.schema.test.js.map +0 -1
  866. package/dist/test/unit/validation/onboarding/register-admin.schema.test.d.ts +0 -1
  867. package/dist/test/unit/validation/onboarding/register-admin.schema.test.js +0 -109
  868. package/dist/test/unit/validation/onboarding/register-admin.schema.test.js.map +0 -1
  869. package/dist/test/unit/validation/user-notification-preferences.schema.test.d.ts +0 -1
  870. package/dist/test/unit/validation/user-notification-preferences.schema.test.js +0 -41
  871. package/dist/test/unit/validation/user-notification-preferences.schema.test.js.map +0 -1
  872. package/frontend-vue/.prettierrc +0 -10
  873. package/frontend-vue/.vscode/settings.json +0 -42
  874. package/frontend-vue/eslint.config.mjs +0 -50
  875. package/frontend-vue/pnpm-lock.yaml +0 -8182
  876. package/frontend-vue/pnpm-workspace.yaml +0 -9
  877. package/frontend-vue/tests/accessibility-preferences.test.ts +0 -320
  878. package/frontend-vue/tests/activity-feed-days.test.ts +0 -139
  879. package/frontend-vue/tests/activity-feed-fill-height.test.ts +0 -115
  880. package/frontend-vue/tests/activity-feed-fold.test.ts +0 -119
  881. package/frontend-vue/tests/activity-feed-head.test.ts +0 -140
  882. package/frontend-vue/tests/admin-invite-email.test.ts +0 -86
  883. package/frontend-vue/tests/api-error-title.test.ts +0 -24
  884. package/frontend-vue/tests/api-message-i18n.test.ts +0 -46
  885. package/frontend-vue/tests/async-data-key-owners.test.ts +0 -74
  886. package/frontend-vue/tests/async-data-scope.test.ts +0 -121
  887. package/frontend-vue/tests/auth-middleware-error.test.ts +0 -58
  888. package/frontend-vue/tests/banner-block-fetch.test.ts +0 -165
  889. package/frontend-vue/tests/banner-tone-icon.test.ts +0 -55
  890. package/frontend-vue/tests/block-fetch-options-forwarding.test.ts +0 -108
  891. package/frontend-vue/tests/block-items-period-realtime.test.ts +0 -150
  892. package/frontend-vue/tests/block-not-found.test.ts +0 -234
  893. package/frontend-vue/tests/block-page-refresh.test.ts +0 -131
  894. package/frontend-vue/tests/block-route-params.test.ts +0 -241
  895. package/frontend-vue/tests/branding-defaults.test.ts +0 -34
  896. package/frontend-vue/tests/breadcrumb-target.test.ts +0 -60
  897. package/frontend-vue/tests/builtin-emails.test.ts +0 -162
  898. package/frontend-vue/tests/button-disabled-theme.test.ts +0 -21
  899. package/frontend-vue/tests/cascader.test.ts +0 -216
  900. package/frontend-vue/tests/category-nav-cards.test.ts +0 -105
  901. package/frontend-vue/tests/chart-absent-value.test.ts +0 -78
  902. package/frontend-vue/tests/chart-auto-y-range.test.ts +0 -131
  903. package/frontend-vue/tests/chart-click-payload.test.ts +0 -34
  904. package/frontend-vue/tests/chart-colors.browser.html +0 -157
  905. package/frontend-vue/tests/chart-colors.test.ts +0 -185
  906. package/frontend-vue/tests/chart-legend.test.ts +0 -133
  907. package/frontend-vue/tests/chart-live-pause.test.ts +0 -77
  908. package/frontend-vue/tests/chart-nested-donut.test.ts +0 -97
  909. package/frontend-vue/tests/chart-options.test.ts +0 -281
  910. package/frontend-vue/tests/chart-resize-after-animation.test.ts +0 -100
  911. package/frontend-vue/tests/chart-series-styles.test.ts +0 -131
  912. package/frontend-vue/tests/chart-type-defaults.test.ts +0 -128
  913. package/frontend-vue/tests/chart-value-precision.test.ts +0 -54
  914. package/frontend-vue/tests/chart-value-propagation.test.ts +0 -159
  915. package/frontend-vue/tests/check-list-marker.test.ts +0 -58
  916. package/frontend-vue/tests/chip-group.test.ts +0 -68
  917. package/frontend-vue/tests/choice-cards-columns.test.ts +0 -60
  918. package/frontend-vue/tests/code-block.test.ts +0 -183
  919. package/frontend-vue/tests/code-highlight.test.ts +0 -72
  920. package/frontend-vue/tests/color-mode-server-render.test.ts +0 -84
  921. package/frontend-vue/tests/color-mode-sync.test.ts +0 -320
  922. package/frontend-vue/tests/command-palette-assistant.test.ts +0 -344
  923. package/frontend-vue/tests/command-palette-search-text.test.ts +0 -118
  924. package/frontend-vue/tests/component-id.test.ts +0 -18
  925. package/frontend-vue/tests/composed-text-blocks.test.ts +0 -213
  926. package/frontend-vue/tests/composed-text-more-blocks.test.ts +0 -391
  927. package/frontend-vue/tests/composed-text.test.ts +0 -265
  928. package/frontend-vue/tests/confirm-action-errors.test.ts +0 -324
  929. package/frontend-vue/tests/confirm-dialog-fields.test.ts +0 -283
  930. package/frontend-vue/tests/confirm-from.test.ts +0 -101
  931. package/frontend-vue/tests/confirm-secondary-action.test.ts +0 -267
  932. package/frontend-vue/tests/confirm-typed-text.test.ts +0 -236
  933. package/frontend-vue/tests/context-links.test.ts +0 -220
  934. package/frontend-vue/tests/copy-feedback.test.ts +0 -48
  935. package/frontend-vue/tests/custom-action-confirm-from.test.ts +0 -85
  936. package/frontend-vue/tests/dev-reload-stream.test.ts +0 -139
  937. package/frontend-vue/tests/dev-reload.test.ts +0 -252
  938. package/frontend-vue/tests/download-action-target.test.ts +0 -172
  939. package/frontend-vue/tests/drawer-target-direction.test.ts +0 -206
  940. package/frontend-vue/tests/email-layout.test.ts +0 -186
  941. package/frontend-vue/tests/empty-state-late-slots.test.ts +0 -53
  942. package/frontend-vue/tests/error-page-message.test.ts +0 -121
  943. package/frontend-vue/tests/favicon.test.ts +0 -131
  944. package/frontend-vue/tests/favorite-page.test.ts +0 -104
  945. package/frontend-vue/tests/field-errors.test.ts +0 -247
  946. package/frontend-vue/tests/field-options-i18n.test.ts +0 -41
  947. package/frontend-vue/tests/field-row.test.ts +0 -115
  948. package/frontend-vue/tests/field-suffix-count.test.ts +0 -121
  949. package/frontend-vue/tests/file-constraints.test.ts +0 -72
  950. package/frontend-vue/tests/file-drop-prompt.test.ts +0 -72
  951. package/frontend-vue/tests/file-fields-ssr.test.ts +0 -145
  952. package/frontend-vue/tests/file-read-urls.test.ts +0 -246
  953. package/frontend-vue/tests/file-unavailable.test.ts +0 -117
  954. package/frontend-vue/tests/fixtures/TableCellLayout.vue +0 -73
  955. package/frontend-vue/tests/fixtures/chart-axes.html +0 -39
  956. package/frontend-vue/tests/fixtures/chart-axes.ts +0 -67
  957. package/frontend-vue/tests/fixtures/chart-precision.html +0 -37
  958. package/frontend-vue/tests/fixtures/chart-precision.ts +0 -118
  959. package/frontend-vue/tests/fixtures/dashboard-search-stub.ts +0 -91
  960. package/frontend-vue/tests/fixtures/dataEngine.ts +0 -44
  961. package/frontend-vue/tests/fixtures/theming/app/app.vue +0 -49
  962. package/frontend-vue/tests/fixtures/theming/base/app/app.config.ts +0 -1
  963. package/frontend-vue/tests/fixtures/theming/config.ts +0 -7
  964. package/frontend-vue/tests/fixtures/theming/consumer/app/app.config.ts +0 -15
  965. package/frontend-vue/tests/fixtures/theming/consumer/public/brand/dark.svg +0 -1
  966. package/frontend-vue/tests/fixtures/theming/consumer/public/brand/icon.svg +0 -1
  967. package/frontend-vue/tests/fixtures/theming/consumer/public/brand/light.svg +0 -1
  968. package/frontend-vue/tests/fixtures/theming/consumer.css +0 -19
  969. package/frontend-vue/tests/fixtures/theming/index.html +0 -11
  970. package/frontend-vue/tests/fixtures/theming/main.ts +0 -36
  971. package/frontend-vue/tests/fixtures/theming/runtime.ts +0 -12
  972. package/frontend-vue/tests/fixtures/theming/vite.config.ts +0 -36
  973. package/frontend-vue/tests/flow-canvas-delete-badge.test.ts +0 -88
  974. package/frontend-vue/tests/footer-config.test.ts +0 -135
  975. package/frontend-vue/tests/forgot-validation-resend.test.ts +0 -234
  976. package/frontend-vue/tests/form-action-reset.test.ts +0 -106
  977. package/frontend-vue/tests/form-actions.test.ts +0 -33
  978. package/frontend-vue/tests/form-control-error-state.test.ts +0 -164
  979. package/frontend-vue/tests/form-display-options.test.ts +0 -64
  980. package/frontend-vue/tests/form-enclosing-form.test.ts +0 -120
  981. package/frontend-vue/tests/form-entry-order.test.ts +0 -45
  982. package/frontend-vue/tests/form-footer-kind.test.ts +0 -101
  983. package/frontend-vue/tests/form-load-error.test.ts +0 -229
  984. package/frontend-vue/tests/form-page-url-fill.test.ts +0 -63
  985. package/frontend-vue/tests/form-redirect-placeholders.test.ts +0 -80
  986. package/frontend-vue/tests/form-required-fields.test.ts +0 -148
  987. package/frontend-vue/tests/form-required-legend.test.ts +0 -34
  988. package/frontend-vue/tests/form-required-validation.test.ts +0 -407
  989. package/frontend-vue/tests/form-reset.test.ts +0 -66
  990. package/frontend-vue/tests/form-saved-before-success.test.ts +0 -110
  991. package/frontend-vue/tests/form-section-nav-groups.test.ts +0 -177
  992. package/frontend-vue/tests/form-sections.test.ts +0 -94
  993. package/frontend-vue/tests/form-server-field-errors.test.ts +0 -204
  994. package/frontend-vue/tests/form-submit-clear.test.ts +0 -406
  995. package/frontend-vue/tests/form-submit-only-changed.test.ts +0 -195
  996. package/frontend-vue/tests/form-submit-target.test.ts +0 -28
  997. package/frontend-vue/tests/form-validation.test.ts +0 -213
  998. package/frontend-vue/tests/github-star-prompt.test.ts +0 -328
  999. package/frontend-vue/tests/grid-responsive-columns.test.ts +0 -180
  1000. package/frontend-vue/tests/guard.test.ts +0 -242
  1001. package/frontend-vue/tests/header-action-page-query.test.ts +0 -426
  1002. package/frontend-vue/tests/header-action-press-in-place.test.ts +0 -231
  1003. package/frontend-vue/tests/header-actions.test.ts +0 -237
  1004. package/frontend-vue/tests/helpers/api-data-runtime.ts +0 -77
  1005. package/frontend-vue/tests/image-hydration-ids.test.ts +0 -101
  1006. package/frontend-vue/tests/image-reference-preservation.test.ts +0 -266
  1007. package/frontend-vue/tests/input-number-adjust.test.ts +0 -190
  1008. package/frontend-vue/tests/input-number-range.test.ts +0 -135
  1009. package/frontend-vue/tests/input-tags.test.ts +0 -146
  1010. package/frontend-vue/tests/instant-save-badge.test.ts +0 -202
  1011. package/frontend-vue/tests/instant-save.test.ts +0 -217
  1012. package/frontend-vue/tests/invites-edit-modal.test.ts +0 -157
  1013. package/frontend-vue/tests/key-value-list-copy.test.ts +0 -117
  1014. package/frontend-vue/tests/key-value-rows.test.ts +0 -52
  1015. package/frontend-vue/tests/keyboard-platform.test.ts +0 -87
  1016. package/frontend-vue/tests/kpi-no-comparison.test.ts +0 -92
  1017. package/frontend-vue/tests/layout-banners.test.ts +0 -280
  1018. package/frontend-vue/tests/list-row-truncate.test.ts +0 -46
  1019. package/frontend-vue/tests/live-hold-banner.test.ts +0 -95
  1020. package/frontend-vue/tests/live-toggle.test.ts +0 -248
  1021. package/frontend-vue/tests/master-detail-layout.test.ts +0 -53
  1022. package/frontend-vue/tests/member-role-picker.test.ts +0 -255
  1023. package/frontend-vue/tests/menu-hidden-page.test.ts +0 -93
  1024. package/frontend-vue/tests/menu-navigation.test.ts +0 -135
  1025. package/frontend-vue/tests/menu-sync-reconnect.test.ts +0 -47
  1026. package/frontend-vue/tests/metadata-retry.test.ts +0 -202
  1027. package/frontend-vue/tests/meter-block-load-error.test.ts +0 -70
  1028. package/frontend-vue/tests/module-routing.test.ts +0 -155
  1029. package/frontend-vue/tests/module-store-catalog.test.ts +0 -371
  1030. package/frontend-vue/tests/modules-catalog.test.ts +0 -165
  1031. package/frontend-vue/tests/modules-listing-transfer.test.ts +0 -95
  1032. package/frontend-vue/tests/mono-cell-truncate.test.ts +0 -50
  1033. package/frontend-vue/tests/multi-account-validate.test.ts +0 -121
  1034. package/frontend-vue/tests/nav-badge-tones.test.ts +0 -337
  1035. package/frontend-vue/tests/nav-card-badge.test.ts +0 -73
  1036. package/frontend-vue/tests/nav-card-grid-empty-category.test.ts +0 -164
  1037. package/frontend-vue/tests/notification-counts-from-writes.test.ts +0 -223
  1038. package/frontend-vue/tests/notification-counts-transfer.test.ts +0 -88
  1039. package/frontend-vue/tests/notification-inbox-display.test.ts +0 -221
  1040. package/frontend-vue/tests/notification-popover-errors.test.ts +0 -320
  1041. package/frontend-vue/tests/notification-preferences-groups.test.ts +0 -268
  1042. package/frontend-vue/tests/notification-tone-contract.test.ts +0 -70
  1043. package/frontend-vue/tests/nuxt-ui-aria-labels.test.ts +0 -31
  1044. package/frontend-vue/tests/oauth-complete-handoff.test.ts +0 -209
  1045. package/frontend-vue/tests/onboarding-middleware.test.ts +0 -103
  1046. package/frontend-vue/tests/onboarding-register.test.ts +0 -155
  1047. package/frontend-vue/tests/onboarding-transfer.test.ts +0 -106
  1048. package/frontend-vue/tests/otp-input.test.ts +0 -97
  1049. package/frontend-vue/tests/page-data-refresh.test.ts +0 -141
  1050. package/frontend-vue/tests/page-fill-height.test.ts +0 -456
  1051. package/frontend-vue/tests/page-layout-registration.test.ts +0 -71
  1052. package/frontend-vue/tests/page-live-gate.test.ts +0 -241
  1053. package/frontend-vue/tests/page-live-parity.test.ts +0 -367
  1054. package/frontend-vue/tests/page-live-refresh.test.ts +0 -169
  1055. package/frontend-vue/tests/page-no-visible-blocks.test.ts +0 -212
  1056. package/frontend-vue/tests/page-realtime-remount.test.ts +0 -185
  1057. package/frontend-vue/tests/page-record-label.test.ts +0 -46
  1058. package/frontend-vue/tests/page-validation-redirect.test.ts +0 -231
  1059. package/frontend-vue/tests/password-input.test.ts +0 -122
  1060. package/frontend-vue/tests/password-strength-meter.test.ts +0 -33
  1061. package/frontend-vue/tests/period-day-rollover.test.ts +0 -80
  1062. package/frontend-vue/tests/period-draft.test.ts +0 -120
  1063. package/frontend-vue/tests/period-hydration-now.test.ts +0 -185
  1064. package/frontend-vue/tests/period-live-pause.test.ts +0 -110
  1065. package/frontend-vue/tests/period-max-days.test.ts +0 -114
  1066. package/frontend-vue/tests/period-presets.test.ts +0 -108
  1067. package/frontend-vue/tests/period-reader-zone.test.ts +0 -137
  1068. package/frontend-vue/tests/period-relative-refresh.test.ts +0 -61
  1069. package/frontend-vue/tests/period-scope-first-fetch.test.ts +0 -377
  1070. package/frontend-vue/tests/period-selector-parity.test.ts +0 -138
  1071. package/frontend-vue/tests/period-selector-url.test.ts +0 -382
  1072. package/frontend-vue/tests/period-ssr.test.ts +0 -195
  1073. package/frontend-vue/tests/period-url-query.test.ts +0 -403
  1074. package/frontend-vue/tests/permission-preview-partial.test.ts +0 -299
  1075. package/frontend-vue/tests/permission-preview-session.test.ts +0 -69
  1076. package/frontend-vue/tests/permission-preview.test.ts +0 -196
  1077. package/frontend-vue/tests/permission-veil-stable-content.test.ts +0 -191
  1078. package/frontend-vue/tests/permissions-transfer.test.ts +0 -194
  1079. package/frontend-vue/tests/post-login-redirect.test.ts +0 -92
  1080. package/frontend-vue/tests/preferences-cookie-size.test.ts +0 -311
  1081. package/frontend-vue/tests/profile-personal-info-ssr.test.ts +0 -150
  1082. package/frontend-vue/tests/profile-preferences-summary.test.ts +0 -538
  1083. package/frontend-vue/tests/profile-security-summary.test.ts +0 -121
  1084. package/frontend-vue/tests/quick-action-intent.test.ts +0 -74
  1085. package/frontend-vue/tests/quick-actions.test.ts +0 -55
  1086. package/frontend-vue/tests/realtime-auth-recovery.test.ts +0 -146
  1087. package/frontend-vue/tests/realtime-reconnect.test.ts +0 -234
  1088. package/frontend-vue/tests/record-card.test.ts +0 -73
  1089. package/frontend-vue/tests/regional-format.test.ts +0 -134
  1090. package/frontend-vue/tests/regional-preferences.test.ts +0 -209
  1091. package/frontend-vue/tests/relation-badges.test.ts +0 -32
  1092. package/frontend-vue/tests/relation-value.test.ts +0 -39
  1093. package/frontend-vue/tests/resolve-dms-component.test.ts +0 -47
  1094. package/frontend-vue/tests/response-warning-toast.test.ts +0 -57
  1095. package/frontend-vue/tests/revealed-backup-codes.test.ts +0 -58
  1096. package/frontend-vue/tests/role-permission-tree.test.ts +0 -564
  1097. package/frontend-vue/tests/role-permissions.test.ts +0 -661
  1098. package/frontend-vue/tests/roles-name-errors.test.ts +0 -294
  1099. package/frontend-vue/tests/route-param-filter-defaults.test.ts +0 -59
  1100. package/frontend-vue/tests/route-param-occurrences.test.ts +0 -118
  1101. package/frontend-vue/tests/row-side-panel.test.ts +0 -831
  1102. package/frontend-vue/tests/save-bar.test.ts +0 -167
  1103. package/frontend-vue/tests/save-status-error.test.ts +0 -66
  1104. package/frontend-vue/tests/scroll-to-block.test.ts +0 -171
  1105. package/frontend-vue/tests/search-input.test.ts +0 -91
  1106. package/frontend-vue/tests/section-description-only.test.ts +0 -33
  1107. package/frontend-vue/tests/security-email-panel.test.ts +0 -378
  1108. package/frontend-vue/tests/security-password-modal.test.ts +0 -128
  1109. package/frontend-vue/tests/security-password-panel.test.ts +0 -267
  1110. package/frontend-vue/tests/security-sessions-load-error.test.ts +0 -125
  1111. package/frontend-vue/tests/security-status-load-error.test.ts +0 -106
  1112. package/frontend-vue/tests/selection-scope.test.ts +0 -24
  1113. package/frontend-vue/tests/server-routes-vs-pages.test.ts +0 -26
  1114. package/frontend-vue/tests/server-routes.test.ts +0 -582
  1115. package/frontend-vue/tests/session-handoff.test.ts +0 -60
  1116. package/frontend-vue/tests/settings-navigation.test.ts +0 -170
  1117. package/frontend-vue/tests/settings-reads-ssr.test.ts +0 -232
  1118. package/frontend-vue/tests/settings-search-shortcuts.test.ts +0 -208
  1119. package/frontend-vue/tests/shortcuts-aggregate.test.ts +0 -48
  1120. package/frontend-vue/tests/side-panels.test.ts +0 -477
  1121. package/frontend-vue/tests/sidebar-footer-navigation.test.ts +0 -138
  1122. package/frontend-vue/tests/sidebar-search-hint.test.ts +0 -191
  1123. package/frontend-vue/tests/sidebar-widget-position.test.ts +0 -117
  1124. package/frontend-vue/tests/sign-in-exit-history.test.ts +0 -219
  1125. package/frontend-vue/tests/signup-invitation-link.test.ts +0 -247
  1126. package/frontend-vue/tests/site-layout-categories.test.ts +0 -42
  1127. package/frontend-vue/tests/site-layout-hydration.test.ts +0 -82
  1128. package/frontend-vue/tests/site-layout-refresh.test.ts +0 -131
  1129. package/frontend-vue/tests/site-layout-rendered.test.ts +0 -103
  1130. package/frontend-vue/tests/site-layout-resync.test.ts +0 -87
  1131. package/frontend-vue/tests/sse-stream.test.ts +0 -268
  1132. package/frontend-vue/tests/ssr-guard-preload.test.ts +0 -188
  1133. package/frontend-vue/tests/stat-cell-shared.test.ts +0 -64
  1134. package/frontend-vue/tests/stat-group-detail-lines.test.ts +0 -63
  1135. package/frontend-vue/tests/string-type-parser.test.ts +0 -50
  1136. package/frontend-vue/tests/tab-fit.test.ts +0 -99
  1137. package/frontend-vue/tests/tab-url-slot.test.ts +0 -150
  1138. package/frontend-vue/tests/tab-without-component-id.test.ts +0 -51
  1139. package/frontend-vue/tests/table-actions-column-width.test.ts +0 -135
  1140. package/frontend-vue/tests/table-actions-search-label.test.ts +0 -224
  1141. package/frontend-vue/tests/table-async-data-key.test.ts +0 -33
  1142. package/frontend-vue/tests/table-cell-sublines.test.ts +0 -481
  1143. package/frontend-vue/tests/table-cell-tones.test.ts +0 -211
  1144. package/frontend-vue/tests/table-cell-wrap.test.ts +0 -61
  1145. package/frontend-vue/tests/table-clear-filters.test.ts +0 -374
  1146. package/frontend-vue/tests/table-column-visibility.test.ts +0 -20
  1147. package/frontend-vue/tests/table-data-ssr.test.ts +0 -195
  1148. package/frontend-vue/tests/table-density-menu.test.ts +0 -108
  1149. package/frontend-vue/tests/table-list-data-requests.test.ts +0 -154
  1150. package/frontend-vue/tests/table-live-hold.test.ts +0 -340
  1151. package/frontend-vue/tests/table-metric-cells.test.ts +0 -165
  1152. package/frontend-vue/tests/table-page-size-options.test.ts +0 -20
  1153. package/frontend-vue/tests/table-pills-cell.test.ts +0 -126
  1154. package/frontend-vue/tests/table-retry-loading.test.ts +0 -37
  1155. package/frontend-vue/tests/table-row-action-errors.test.ts +0 -386
  1156. package/frontend-vue/tests/table-row-action-labels.test.ts +0 -181
  1157. package/frontend-vue/tests/table-row-hover.test.ts +0 -182
  1158. package/frontend-vue/tests/table-scroll-area.test.ts +0 -37
  1159. package/frontend-vue/tests/table-source-navigation.test.ts +0 -122
  1160. package/frontend-vue/tests/table-source-period-scope.test.ts +0 -171
  1161. package/frontend-vue/tests/table-url-filters.test.ts +0 -158
  1162. package/frontend-vue/tests/table-view-bulk-actions.test.ts +0 -154
  1163. package/frontend-vue/tests/table-view-bulk-drawer.test.ts +0 -451
  1164. package/frontend-vue/tests/table-view-card-props.test.ts +0 -215
  1165. package/frontend-vue/tests/table-view-cards-reorder.test.ts +0 -234
  1166. package/frontend-vue/tests/table-view-cards-reread.test.ts +0 -77
  1167. package/frontend-vue/tests/table-view-chrome.test.ts +0 -175
  1168. package/frontend-vue/tests/table-view-display-registry.test.ts +0 -59
  1169. package/frontend-vue/tests/table-view-escape-shortcut.test.ts +0 -141
  1170. package/frontend-vue/tests/table-view-expanded-band.test.ts +0 -143
  1171. package/frontend-vue/tests/table-view-expanded-row-details.test.ts +0 -88
  1172. package/frontend-vue/tests/table-view-expanded-rows.test.ts +0 -55
  1173. package/frontend-vue/tests/table-view-form-texts.test.ts +0 -124
  1174. package/frontend-vue/tests/table-view-grouped.test.ts +0 -222
  1175. package/frontend-vue/tests/table-view-hidden-filters-page.test.ts +0 -134
  1176. package/frontend-vue/tests/table-view-pagination-modes.test.ts +0 -48
  1177. package/frontend-vue/tests/table-view-pinned-rows.test.ts +0 -128
  1178. package/frontend-vue/tests/table-view-record-link.test.ts +0 -190
  1179. package/frontend-vue/tests/table-view-refresh.test.ts +0 -67
  1180. package/frontend-vue/tests/table-view-reorder.test.ts +0 -122
  1181. package/frontend-vue/tests/table-view-selection-footer-empty.test.ts +0 -379
  1182. package/frontend-vue/tests/table-view-sortable-columns.test.ts +0 -338
  1183. package/frontend-vue/tests/table-view-sources.test.ts +0 -222
  1184. package/frontend-vue/tests/table-view-url-tab.test.ts +0 -183
  1185. package/frontend-vue/tests/table-view-views.test.ts +0 -581
  1186. package/frontend-vue/tests/tag-values.test.ts +0 -32
  1187. package/frontend-vue/tests/template-tokens.test.ts +0 -235
  1188. package/frontend-vue/tests/time-span.test.ts +0 -37
  1189. package/frontend-vue/tests/tone.test.ts +0 -26
  1190. package/frontend-vue/tests/top-list-card-actions.test.ts +0 -94
  1191. package/frontend-vue/tests/top-list-card-period-badge-ssr.test.ts +0 -212
  1192. package/frontend-vue/tests/top-list-card-period-badge.test.ts +0 -79
  1193. package/frontend-vue/tests/top-list-card-value-suffix.test.ts +0 -110
  1194. package/frontend-vue/tests/trailing-deduper.test.ts +0 -96
  1195. package/frontend-vue/tests/trend-delta-format.test.ts +0 -24
  1196. package/frontend-vue/tests/unsaved-changes.test.ts +0 -184
  1197. package/frontend-vue/tests/upload-forbidden-headers.test.ts +0 -52
  1198. package/frontend-vue/tests/url-interpolation.test.ts +0 -51
  1199. package/frontend-vue/tests/use-api-data-update.test.ts +0 -119
  1200. package/frontend-vue/tests/use-api-data.test.ts +0 -410
  1201. package/frontend-vue/tests/user-language.test.ts +0 -61
  1202. package/frontend-vue/tests/widget-label-i18n.test.ts +0 -182
  1203. package/frontend-vue/vitest.config.ts +0 -36
  1204. package/skills/dms-dev/SKILL.md +0 -119
  1205. /package/frontend-vue/layers/dms-layout/{public → app/assets}/fonts/Geist-Italic-Variable.woff2 +0 -0
  1206. /package/frontend-vue/layers/dms-layout/{public → app/assets}/fonts/Geist-Variable.woff2 +0 -0
  1207. /package/frontend-vue/layers/dms-layout/{public → app/assets}/fonts/GeistMono-Italic-Variable.woff2 +0 -0
  1208. /package/frontend-vue/layers/dms-layout/{public → app/assets}/fonts/GeistMono-Variable.woff2 +0 -0
  1209. /package/frontend-vue/layers/dms-layout/{public → app/assets}/fonts/LICENSE.txt +0 -0
  1210. /package/skills/{dms-dev → dms-project}/scripts/dms-dev.sh +0 -0
@@ -0,0 +1,93 @@
1
+ # dms-best-practices — reference
2
+
3
+ Material for [SKILL.md](SKILL.md): mapping design elements to DMS blocks, the `PreviewBlocks` call with a sketch variant, the safe-mode question, and the text fallback. The block catalog is the source of truth: `ListBlockTypes()` from `@antelopejs/interface-dms/base/block-types`, or `docs/04.components/` (one page per block).
4
+
5
+ ## Design element → DMS block
6
+
7
+ | In the design | DMS block | Usual visible differences |
8
+ | ------------- | --------- | ------------------------- |
9
+ | Big number with a trend arrow | `KpiCard` (`variant: "stat"` for the compact look) | Sparkline is a line, not bars |
10
+ | Several small figures in a strip | `StatGroup` (`layout: "joined"` or `"cards"`) | One shared card vs separate tiles |
11
+ | Chart with a headline value | `ChartCard` + a chart (`ChartArea`, `ChartLine`, `ChartColumn`…) | Legend placement, comparison style |
12
+ | Bare chart | `ChartLine` / `ChartArea` / `ChartBar` / `ChartColumn` / `ChartDonut` / `ChartPie` / `ChartRadialBar` / `ChartHeatmap` / `ChartScatter` / `ChartRadar` / `ChartMixed` / `ChartRangeArea` / `ChartCandlestick` | Axis labels, tooltip look |
13
+ | Ranked list, leaderboard | `TopListCard` | Bar position, rank badge style |
14
+ | Date range picker | `PeriodSelector` (`variant: "segmented"` for pills) | Preset labels |
15
+ | Live / pause switch | `LiveToggle` | Pill vs segmented |
16
+ | Table, list with actions | `TableView` over a DataController (`displays` for cards / kanban) | Column widths, row height (`density`) |
17
+ | Detail facts of a record | `KeyValueList` | Value alignment |
18
+ | Recent events, audit log | `ActivityFeed` | Day separators vs relative times |
19
+ | Usage bar, quota | `Meter` | Bar thickness (`size`) |
20
+ | Notice, alert strip | `Banner` | Wash vs flat background |
21
+ | Empty / first-run screen | `EmptyState` (or `Guard` around blocks) | Illustration vs icon well |
22
+ | Links to sub-pages as cards | `NavCardGrid` | Card height |
23
+ | Code snippet | `CodeBlock` | Theme of the highlighting |
24
+ | Panel with a title and actions | `Card` | Head layout |
25
+ | Settings card with rows | `Section` + `FieldRow` | Label column width (`layout`) |
26
+ | Form, settings form | `Form` / `ResourceForm` | Field layout (`fieldsOrientation`, sections) |
27
+ | Tabs | `Tab` (`variant: "pill" \| "link"`) | Tab style |
28
+ | Columns / rows of panels | `Grid` + `GridRow`, `HStack` / `VStack` / `Spacer` | Exact gutters |
29
+
30
+ Nothing matches — a canvas, a map, a bespoke visualization — → a custom block, under the rules of SKILL.md.
31
+
32
+ ## `PreviewBlocks` (dms-ai only)
33
+
34
+ `PreviewBlocks({ title, description?, label?, tree?, sketch?, reference?, variants?: [{ label, tree?, sketch? }] })` — non-blocking; it shows an attachment card in the chat, and a click opens a modal rendering the real blocks next to the reference image, one tab for the main view (named by `label`, default "Proposed") and one per variant. Every view needs a `tree`, a `sketch` or both (both are drawn side by side). `reference` is `{ attachmentId?, url?, caption? }`: `attachmentId` is the file name of an image the user attached in the conversation, or `"latest"`; `url` is a same-origin path. `tree` is one `PreviewNode` or a list: `{ type, options?, children? }`, children also taking `id`, `slot` and `colSpan`. Use `static*` options (`staticValue`, `staticDataset`, `staticItems`, `items`) so the preview shows data without a route; URL options must be relative paths. `TableView` and `ResourceForm` need a backend class and render as a notice — describe them in the question instead.
35
+
36
+ A variant holds a `tree` (the DMS block with other options), a `sketch` (`{ html, css?, caption?, height? }`: static HTML and CSS standing for the custom block you would build, `height` in px from 80 to 1200, default 320), or both, so the user compares it with the DMS option before any Vue exists. Keep a sketch to the element alone: static markup with no script, event handler, `@import` or external URL (the tool refuses them with `invalid_sketch`), images as `data:` URLs, and the `--sketch-*` theme variables the tool describes for colors, so it follows light and dark mode.
37
+
38
+ ```ts
39
+ PreviewBlocks({
40
+ title: "Revenue tile",
41
+ description: "Your tile as a DMS KPI card, adjusted, and as a custom block",
42
+ label: "DMS KpiCard",
43
+ tree: { type: "KpiCard", options: { title: "Revenue", valueFormat: "currency", currencyCode: "EUR",
44
+ staticValue: 48200, staticDelta: 12.4, showDelta: true, showSparkline: true,
45
+ staticSparkline: [31, 34, 33, 38, 41, 39, 44, 48] } },
46
+ reference: { attachmentId: "latest", caption: "Your design" },
47
+ variants: [
48
+ { label: "DMS, compact", tree: { type: "KpiCard", options: { title: "Revenue", variant: "stat", staticValue: 48200 } } },
49
+ { label: "Custom sketch", sketch: {
50
+ html: "<div class='tile'><span>Revenue</span><strong>€48,200</strong><div class='bars'><i style='height:40%'></i><i style='height:70%'></i><i style='height:100%'></i></div></div>",
51
+ css: ".tile{padding:16px;border:1px solid;border-radius:8px}.bars{display:flex;gap:4px;height:32px;align-items:end}.bars i{width:8px;background:currentColor}",
52
+ caption: "Bars under the figure, as in your design" } },
53
+ ],
54
+ });
55
+ // then
56
+ AskUser({ questions: [{
57
+ header: "Revenue tile",
58
+ question: "Keep the DMS KPI card, adjust it, or build a custom block?",
59
+ options: [
60
+ { label: "Keep the DMS block", description: "KpiCard as previewed; themed, permissioned, editable in the builder" },
61
+ { label: "Adjust it through its options", description: "Same block, e.g. the compact variant; tell me what to change" },
62
+ { label: "Build a custom block", description: "A Vue component matching the sketch, declared with .meta(); the rest stays blocks" },
63
+ ],
64
+ }] });
65
+ ```
66
+
67
+ ## Safe mode: a custom block is out of reach
68
+
69
+ The Builder tools cannot write Vue. Show the closest composition with `PreviewBlocks`, then:
70
+
71
+ ```ts
72
+ AskUser({ questions: [{
73
+ header: "Seat map",
74
+ question: "Safe mode cannot build a custom block. Use the closest DMS composition, or switch to Code mode for this block only?",
75
+ options: [
76
+ { label: "Use the DMS composition", description: "A Grid of KpiCard per zone, as previewed" },
77
+ { label: "Switch to Code mode for this block", description: "Only the seat map becomes custom, with .meta(); then back to safe mode" },
78
+ ],
79
+ }] });
80
+ ```
81
+
82
+ ## Text fallback (no `PreviewBlocks`)
83
+
84
+ One table per batch of components, then one closed question per row:
85
+
86
+ | Your design | DMS block | Visible difference |
87
+ | ----------- | --------- | ------------------ |
88
+ | Revenue tile with bars under the figure | `KpiCard` with a sparkline | A line instead of bars |
89
+ | Orders table with avatars in the first column | `TableView` with `IdentityDisplay` | None beyond spacing — no question |
90
+
91
+ > Revenue tile: keep the DMS block, adjust it through its options, or build a custom block?
92
+
93
+ When the custom option is hard to picture, add its sketch as a short markup snippet under the table (a few lines of HTML, no styling detail). Leave rows whose only difference is theme-level (colors, spacing, fonts) out of the questions.
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: dms-best-practices
3
+ description: Enforces the rules for building AntelopeJS DMS pages — every page described backend-side as DMS blocks, custom code only for the missing block, `.meta()` on every custom block — decides when to leave DMS blocks and proposes that deviation to the user, and runs the design-fidelity protocol. Use when creating or changing any DMS page, dashboard or screen, before writing a CustomComponent or Vue for one, or when the user provides a design, mockup, Figma frame or screenshot to reproduce.
4
+ icon: i-ph-seal-check
5
+ category: dashboard
6
+ tags: [pages, blocks, custom-component, permissions, design, mockup]
7
+ ---
8
+
9
+ # DMS best practices
10
+
11
+ Three rules hold for every page, a path runs before any custom block, and a protocol runs whenever a design is involved. They keep each part of a screen a permission of its own, editable by the page builder, and driven by the theme. **dms-pages** has the APIs; this skill decides what to build.
12
+
13
+ ## The rules
14
+
15
+ 1. **A page is always blocks.** Describe every page on the backend as a tree of DMS blocks — `PeriodSelector`, `Grid` / `GridRow`, `KpiCard`, `TableView`, `Form`, … Each static field and each `.child()` is a line in the roles editor, a `.watch()` target, a `periodScope` subscriber and a node the builder can move. One block that draws the whole screen loses all of that.
16
+ 2. **Custom = the missing block only.** When a part has no DMS equivalent, build **that block** as a `CustomComponent` and keep everything around it — toolbar, filters, stats, tables — as DMS blocks on the backend.
17
+ 3. **Every custom block carries `.meta()`.** `.meta({ name, description, icon })` in its backend declaration, `name` and `description` as `$` i18n keys added to every locale file. Without it the roles editor shows the raw component name. Every other text (page names, titles, labels) is a `$` key too.
18
+
19
+ ```ts
20
+ // Good — blocks around the one custom block, which carries its metadata
21
+ static period = PeriodSelector({ id: "api" });
22
+ static kpis = Grid().child("row", GridRow()
23
+ .child("calls", KpiCard({ title: "$api.routes.calls", fetchUrl: "/api/routes/calls", periodScope: "api" })));
24
+ static graph = CustomComponent("ApiRouteGraph")
25
+ .options({ fetchUrl: "/api/routes/graph", periodScope: "api" })
26
+ .meta({ name: "$api.routes.graph.name", description: "$api.routes.graph.description", icon: "i-ph-graph" });
27
+
28
+ // Bad — one component draws the period picker, the KPIs and the graph; no .meta()
29
+ static screen = CustomComponent("ApiRoutesScreen");
30
+ ```
31
+
32
+ `CustomComponent` comes from `@antelopejs/interface-dms/base/custom` (not the `base` barrel); `.meta()` takes `Partial<ComponentMetadata>` (`name`, `description?`, `icon?`). Every DMS factory sets its own metadata; a custom block is the one place you must.
33
+
34
+ ## When to leave DMS blocks
35
+
36
+ A custom block is a deviation, and you **propose** it: the user decides, after the path below. It is worth proposing only when one of these holds:
37
+
38
+ | Leave DMS blocks when | Stay on DMS blocks when |
39
+ | --------------------- | ----------------------- |
40
+ | No block covers the need, even through its options or a composition of blocks | The difference is spacing, color, radius, font or a minor layout the theme or the block's options handle |
41
+ | The interaction model differs: a drag-and-drop canvas, real-time collaborative editing | The DMS block only "looks slightly different" from the mockup |
42
+ | The user asked for pixel perfect on **this** element | Another element of the page is custom: a custom block never pulls its neighbours along |
43
+ | A measured constraint (performance, data volume) the block cannot meet | The constraint is a guess, not a measurement |
44
+
45
+ ## Before any custom block
46
+
47
+ Run this path before writing a `CustomComponent` or its Vue, one element at a time:
48
+
49
+ 1. **Search the catalog.** In dms-ai with the Builder loaded, `BuilderCatalog`; otherwise the block catalog of the DMS (`GET /api/block-preview/types` on a running instance, or `docs-data/blocks.json` of AntelopeJS/dms); otherwise the exports of `@antelopejs/interface-dms/base`. Try the block's options first, then a composition of blocks (`Card` + `KeyValueList`, `ChartCard` + a chart, `Grid` of `KpiCard`).
50
+ 2. **Show the comparison.** In dms-ai, call `PreviewBlocks` with the closest DMS option as `tree`, the user's mockup as `reference`, and a **sketch variant** of the custom block (`label` naming the DMS tab, and `variants: [{ label, tree }, { label, sketch: { html, css?, caption?, height? } }]`). Elsewhere, write the text table of [REFERENCE.md](REFERENCE.md).
51
+ 3. **Ask.** One closed question (`AskUser` in dms-ai) with three options: *Keep the DMS block* / *Adjust it through its options* / *Build a custom block*.
52
+ 4. **Build.** On *Adjust*, change the block's options and preview again. Only on *Build a custom block*, build that block alone, under the rules above, with `.meta()`; the rest of the page stays blocks.
53
+
54
+ In **safe mode** (dms-ai, Builder tools only), step 4 is impossible: say so, offer the closest DMS composition, and ask with `AskUser` whether to switch to Code mode for that one block.
55
+
56
+ The path is done when the user has answered for the element. [REFERENCE.md](REFERENCE.md) has worked calls and the fallback table.
57
+
58
+ ## Design-fidelity protocol
59
+
60
+ Run it whenever the user hands you a design, mockup or screenshot.
61
+
62
+ 1. **Frame once.** Before building, ask **one** question (`AskUser` when available, else a closed question in chat):
63
+ - *Pixel perfect* — reproduce the design, custom blocks allowed where nothing matches;
64
+ - *DMS equivalents* — map every component to its closest DMS block silently; an element no block or composition covers still goes through the path;
65
+ - *Component by component* — **recommended**: decide each visible difference together.
66
+ 2. **Map** every component of the design to its closest DMS block ([REFERENCE.md](REFERENCE.md) has the mapping table). Differences the right-hand column of the grid lists never trigger a question.
67
+ 3. **Decide.** *Component by component*: run [the path](#before-any-custom-block) for each visible difference (layout, a missing element, another chart kind), batching several components in one preview and one question. *Pixel perfect* answers step 3 of the path for every element, so skip that question but still run step 1: only the parts no block or composition matches become custom.
68
+ 4. **Build** under the rules above.
69
+
70
+ The protocol is done when every visibly different component has an answer and every custom block in the page carries `.meta()`.
71
+
72
+ ## Checklist before handing back
73
+
74
+ - Every page field and child is a DMS block, except custom blocks the user chose through the path.
75
+ - Every `CustomComponent` has `.meta({ name, description, icon })` with `$` keys present in every locale file.
76
+ - Data comes from routes (`fetchUrl`) rather than options computed at registration; a custom block reads its route with `useApiData` (server-rendered, refreshed with the page) and writes with `$authFetch`.
77
+ - Verified live with **dms-project** (the build only typechecks `src/`).
@@ -21,6 +21,7 @@ first-party modules follow `dms-<name>` purely for discoverability.
21
21
  implementations/<name>/index.ts # implementation of the module's own interface
22
22
  frontend-vue/ # Vue module: dms.frontend.ts, app/, i18n/locales/,
23
23
  # package.json (engines: the loader releases it supports)
24
+ skills/<name>/SKILL.md # when and how agents use the module (antelopeJs.skills)
24
25
  package.json / tsconfig.json
25
26
  interface-<name>/ # the module's OWN interface, its own published package
26
27
  src/index.ts # (rare — many modules ship none)
@@ -34,7 +35,8 @@ first-party modules follow `dms-<name>` purely for discoverability.
34
35
  "main": "dist/index.js", "types": "dist/index.d.ts",
35
36
  "antelopeJs": {
36
37
  "baseUrl": "dist",
37
- "implements": ["<your-interface-package>"] // the interface THIS module provides (omit/[] if none)
38
+ "implements": ["<your-interface-package>"], // the interface THIS module provides (omit/[] if none)
39
+ "skills": ["./skills"] // skills/<name>/SKILL.md, synced to agents
38
40
  },
39
41
  "exports": {
40
42
  ".": { "types": "./dist/index.d.ts", "default": "./dist/index.js" },
@@ -50,7 +52,7 @@ subpath of the runtime package — it goes in the companion interface package, w
50
52
  ## Defining the module's own interface
51
53
 
52
54
  Interface authoring (`InterfaceFunction`, `RegisteringProxy`, implementation shape) is pure
53
- AntelopeJS — see the **antelopejs** plugin's author/consume skills. The DMS-specific parts:
55
+ AntelopeJS — see the **ajs-author-interface** and **ajs-consume-interface** skills. The DMS-specific parts:
54
56
 
55
57
  - **Define** in a companion package, `packages/interface-<name>/src/`, **implement** at
56
58
  `src/implementations/<name>/index.ts` in the module, **wire** with `ImplementInterface` in
@@ -75,12 +77,12 @@ AntelopeJS — see the **antelopejs** plugin's author/consume skills. The DMS-sp
75
77
  own interface published as a standalone `interface-*` package → `dms-automation`.
76
78
  3. **Scaffold the layout above**: `src/index.ts`, `src/pages/`, `src/routes/` (if it serves data),
77
79
  `packages/interface-<name>/` + `src/implementations/<name>/` (only if it exposes one),
78
- `frontend-vue/` (components registered from the root `dms.frontend.ts`), and the manifest
79
- (`antelopeJs` block, plus the interface package's `exports`).
80
+ `frontend-vue/` (components registered from the root `dms.frontend.ts`), `skills/<name>/SKILL.md`,
81
+ and the manifest (`antelopeJs` block with `skills`, plus the interface package's `exports`).
80
82
  4. **Wire the basics**: `RegisterModule({ id, title, icon, … })`, one `@RegisterPage()` page,
81
83
  the `AddFrontendModule` call. Add the `$dms_<name>.*` keys to **every** locale file under
82
84
  `frontend-vue/i18n/locales/`.
83
85
  5. **Load and verify**: add the module to a consumer project's `antelope.config.ts` (the
84
86
  backend's `playground` is the reference consumer) as a `package`/`git`/local-path module,
85
- then **full-restart via dms-dev** — don't rely on hot reload. Keep the repo conventions
87
+ then **full-restart via dms-project** — don't rely on hot reload. Keep the repo conventions
86
88
  (**dms**: pnpm only, `_id` rows, no `switch`/`case`, TSDoc-only comments).
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: dms-module
3
- description: Packages a DISTRIBUTABLE DMS extension module (a reusable module other projects install, like the official dms-* modules — the package name itself is free). Use when creating a publishable DMS module, editing its package.json antelopeJs.implements manifest, registering it with RegisterModule, or defining the module's own AntelopeJS interface. For an app that just USES the DMS, see dms-project instead.
3
+ description: Packages a distributable DMS extension module, one other projects install like the official dms-* modules. Use when creating a publishable DMS module, editing its package.json antelopeJs manifest (implements, skills), registering it with RegisterModule, or defining the module's own AntelopeJS interface package. For an app that only uses the DMS, use dms-project.
4
+ icon: i-ph-package
4
5
  category: packaging
5
6
  tags: [module, packaging, distribution, interfaces, frontend, inertia]
6
7
  ---
@@ -13,7 +14,7 @@ tags: [module, packaging, distribution, interfaces, frontend, inertia]
13
14
  > The page/component/auth APIs are identical to a project; only the packaging differs.
14
15
 
15
16
  For the mental model see the **dms** skill; for the framework underneath
16
- (`ImplementInterface`, the `ajs` CLI) see the **antelopejs** plugin. A DMS module is an
17
+ (`ImplementInterface`, the `ajs` CLI) see the **antelopejs** skill. A DMS module is an
17
18
  ordinary AntelopeJS module that (1) depends on **`@antelopejs/dms`**, (2) registers a
18
19
  module + pages on load, and (3) attaches a Vue 3 module via `AddFrontendModule` for any custom
19
20
  frontend. A consumer installs it and adds it to their `antelope.config.ts` as a
@@ -32,6 +33,11 @@ when they provide none (`dms-lang`, `dms-saas`); consumed interfaces are plain `
32
33
  `@antelopejs/interface-{core,api,api-util,auth,database,database-decorators}`. The frontend is
33
34
  attached at runtime by the `AddFrontendModule` call in `construct`; there is no manifest field for it.
34
35
 
36
+ **Ship a skill.** Add `skills/<module-name>/SKILL.md` (frontmatter `name`, a trigger-rich
37
+ `description`, `icon`, `category`, `tags`) saying when and how to use the module, list `"skills"` in
38
+ `files`, and declare `"antelopeJs": { "skills": ["./skills"] }`. The **antelopejs** plugin links it into
39
+ Claude Code and Codex projects and dms-ai loads it — `docs/08.ai-and-claude-code/7.module-skills.md`.
40
+
35
41
  ## The lifecycle entry (`src/index.ts`)
36
42
 
37
43
  The AntelopeJS loader calls four optional exports. Register everything in `construct`; start
@@ -107,7 +113,7 @@ in a **project** page instead.
107
113
 
108
114
  - `pnpm build` compiles `src/` only (`tsc`) — Vue template/compile errors surface only in the
109
115
  running frontend. When a change doesn't show — or `RegisterModule` throws "already
110
- registered" on rebuild — **full-restart via the dms-dev skill** (its pitfalls also cover
116
+ registered" on rebuild — **full-restart via the dms-project skill** (its pitfalls also cover
111
117
  stubbornly stale `~/.antelopejs/dms-frontend` workspaces).
112
118
 
113
119
  ## Scaffolding (no DMS-specific generator)
@@ -1,51 +1,51 @@
1
1
  # dms-pages — reference
2
2
 
3
- Deep material for [SKILL.md](SKILL.md): the full component builder catalog and the DataTypes
3
+ Deep material for [SKILL.md](SKILL.md): the block catalog, patterns by topic, and the DataTypes
4
4
  catalog.
5
5
 
6
- ## Component builders
7
-
8
- Main builders: `Form`; `TableView(controller, options)`; the charts (`ChartLine`,
9
- `ChartArea`, `ChartBar`, `ChartColumn`, `ChartDonut`, `ChartPie`, `ChartScatter`,
10
- `ChartMixed`, `ChartRadar`, `ChartRadialBar`, `ChartHeatmap`, `ChartCandlestick`, usually
11
- inside `ChartCard`); layout `Grid` + `GridRow`, `HStack` / `VStack` / `Spacer`, `Tab`,
12
- `Guard`, `Placeholder`; dashboard widgets `KpiCard`, `TopListCard`, `PeriodSelector`; display blocks
13
- `StatGroup`, `KeyValueList`, `NavCardGrid`, `EmptyState` (its `code` shows a snippet to
14
- start with), `Banner`, `Card`, and `CodeBlock` (read-only highlighted code with a copy
15
- button: `code` + `language`, or `fetchUrl` answering `{ code, language? }` — see
16
- `docs/04.components/11.display-blocks.md`); and
17
- `CustomComponent` (deep import from `@antelopejs/interface-dms/base/custom` — not in the barrel). Nest with
18
- `.child("key", builder)`; `Grid` children must be `GridRow`s. Builders also carry a
19
- behavioral DSL — permissioned `.action()`s and `.watch()` reactivity — see
20
- `docs/02.building/05.actions-and-reactivity.md`.
6
+ ## Block catalog
7
+
8
+ Every block is a registered type (`ListBlockTypes()` from `@antelopejs/interface-dms/base/block-types`
9
+ lists them with their option schemas); `docs/04.components/` has one page per block.
10
+
11
+ | Group | Blocks |
12
+ | --- | --- |
13
+ | Layout | `Grid` + `GridRow` (children must be rows; `{ colSpan }` child metadata), `HStack` / `VStack` / `Spacer`, `Card` (slots `actions`, `footer`), `Tab` (`{ slot }` per child), `Guard`, `Placeholder` |
14
+ | Charts & widgets | `KpiCard`, `ChartCard` (wraps one chart), `TopListCard`, `PeriodSelector`, `LiveToggle`; charts `ChartLine`, `ChartArea`, `ChartRangeArea`, `ChartBar`, `ChartColumn`, `ChartScatter`, `ChartMixed`, `ChartRadar`, `ChartCandlestick`, `ChartDonut`, `ChartPie`, `ChartRadialBar`, `ChartHeatmap` |
15
+ | Display | `StatGroup`, `KeyValueList`, `NavCardGrid`, `EmptyState` (its `code` shows a snippet), `Banner`, `CodeBlock` (`code` + `language`, or `fetchUrl` answering `{ code, language? }`) |
16
+ | Lists & settings | `ActivityFeed`, `Meter`, `Section` + `FieldRow` |
17
+ | Data | `Form`, `ResourceForm(controller, { mode: "new" \| "edit" \| "view" })` (from `/base/table-view`), `TableView(controller, options)` |
18
+ | Escape hatch | `CustomComponent(name)` (deep import from `@antelopejs/interface-dms/base/custom` — not in the barrel), always with `.meta()` — see **dms-best-practices** |
19
+
20
+ Nest with `.child("key", builder)`. Builders also carry a behavioral DSL — permissioned
21
+ `.action()`s and `.watch()` reactivity — see `docs/02.building/05.actions-and-reactivity.md`.
21
22
 
22
23
  `Guard({ fetchUrl, field?, when?, fallback? })` wraps any blocks and shows one `EmptyState`
23
24
  (`fallback`) in their place when the route says there is nothing: `when: "empty"` (default)
24
25
  checks the value at `field` (absent / `null` / `false` / `0` / `""` / `[]`), `when: "notFound"`
25
26
  a 404. The children show while loading and on any other failure; an `emptyState` in the
26
- answer is laid over `fallback` — `docs/04.components/03.layout-and-containers.md#guard`.
27
+ answer is laid over `fallback` — `docs/04.components/03.layout-and-containers/5.guard.md`.
27
28
  A block whose `fetchUrl` answers 404 shows its own "Not found" (no retry), the 404 body's
28
- `message` / `emptyState` over it; a `Guard` with `when: "notFound"` draws the same state once
29
- for the blocks it wraps — `docs/04.components/11.display-blocks.md#not-found`.
29
+ `message` / `emptyState` over it — `docs/04.components/02.block-fundamentals.md#not-found`.
30
30
 
31
31
  A `TableView` scoped by the page URL takes `queryParamFilters: { status: { field: "status" } }`
32
32
  (hidden filters read from `?status=`; `routeParamFilters` for slug params like `:id`). No
33
33
  glue is needed around it: an active query filter shows the `filtered` empty state, and a
34
34
  link changing its value sends the table back to page 1. A drawer or modal row action already
35
35
  gets `navigation` (J / K, `index` / `total` in the order shown) —
36
- `docs/04.components/06.tables/8.row-drawers.md`.
36
+ `docs/04.components/08.tables/8.row-drawers.md`.
37
37
 
38
38
  A page's `headerActions` follow its URL: a target URL takes `{{params.X}}` / `{{query.X}}`
39
39
  (`?workspace={{query.workspace}}`, a pair the page has no value for is dropped), a label's
40
40
  translation takes the page's route and query parameters (`"Download {locale}.json"`), and an
41
41
  `availability` reads `context.query`, asked again when the query changes — no need to build
42
42
  the header in Vue with `usePageHeaderActions` to carry the scope —
43
- `docs/07.interfaces/3.base/6.layout.md#buttons-that-follow-the-page-url`. An `availability`
43
+ `packages/interface-dms/docs/3.base/6.layout.md#buttons-that-follow-the-page-url`. An `availability`
44
44
  answering `{ hidden: true }` leaves the button out for that query (`{ reason }` only
45
45
  disables it): no Vue header to hide "Add key" on a read-only workspace. `order` on a
46
46
  header button and `usePageHeaderActions(render, { order })` interleave served buttons with a
47
47
  component's client-side ones (default `0`, served first on a tie: `order: -1` puts a Vue
48
- "Export" before a served "Add key") — `docs/07.interfaces/3.base/6.layout.md#ordering-the-header`.
48
+ "Export" before a served "Add key") — `packages/interface-dms/docs/3.base/6.layout.md#ordering-the-header`.
49
49
 
50
50
  A button or row action (`customButtons`, `rowActions.custom`, a page's `headerActions`)
51
51
  points at an `ActionTarget`. A `drawer` target opens from the bottom; give it
@@ -55,16 +55,102 @@ To read rows one after the other next to the table (a request log), use a `sideP
55
55
  target instead: a non-modal panel docked on the right whose header the DMS draws (title,
56
56
  `rowTitle` naming the row from its fields, `positionLabel` "x of y", previous / next, J / K, close), `?record=` kept by default (`deepLink: false` opts out), a "not found" state on a 404 (`notFound: { title, description }`) and the table's
57
57
  `rowClick: "single"` (a `TableView.fromSource` table reads a deep-linked row beyond its first page through `fetchRowUrl: "/api/x/{{row.id}}"`) — never bridge the table's DOM to build one —
58
- `docs/04.components/06.tables/8.row-drawers.md#side-panel`.
58
+ `docs/04.components/08.tables/8.row-drawers.md#side-panel`.
59
59
  A button downloading a file the user's session may read (`/api/...`) takes a `download`
60
60
  target, `{ url, filename? }`, with the same `{{row.field}}` / `{{query.X}}` tokens — never a Vue
61
- header button or an `api` target for it — `docs/07.interfaces/3.base/2.types.md`.
61
+ header button or an `api` target for it — `packages/interface-dms/docs/3.base/2.types.md`.
62
62
 
63
63
  A row that must stay on top of a table under any sort (a base language, a default
64
64
  workspace) takes `pinnedRows: { field: "isBase", equals: true }` — never sort on the
65
65
  server for it. A row action names its row with `{field}` braces in its `label`
66
66
  (`"Translate {name}"`), and `rowActions.menuLabel` (`"Actions for {name}"`) names the
67
- row's ⋯ button — `docs/04.components/06.tables/0.index.md#pinned-rows`.
67
+ row's ⋯ button — `docs/04.components/08.tables/0.index.md#pinned-rows`.
68
+
69
+ ## Patterns by topic
70
+
71
+ ### Data, URLs and refresh
72
+
73
+ - Every URL token is `{{<scope>.<key>}}`: `params` and `query` (the page URL, percent-encoded;
74
+ nothing is fetched while one is unresolved), `row` (an action's row), `response` (a form's
75
+ redirect). The same page tokens work in every URL and link option.
76
+ - `.watch(FormEvents.SUBMIT_SUCCESS, BlockFunctions.REFRESH_PAGE)` makes the page's data blocks
77
+ (table views included) re-fetch after a form saves.
78
+ - `periodScope` binds a card, chart, list block, `Meter` or `TableView.fromSource` to a
79
+ `PeriodSelector`, which keeps its period in the page URL (`?<id>.period=`).
80
+ - `realtimeTopic` re-fetches a chart, list block, `Meter`, `Tab` badges or `TableView` on each
81
+ `PublishMessage`.
82
+
83
+ ### Live pages
84
+
85
+ - A monitoring page that must not refetch on every event declares `live: { maxRate }` in its page
86
+ options (`slowRateAfter: { period: "7d", maxRate: 60 }` for long periods, `rememberKey: "<module>"`
87
+ to share the choice; `maxRate` is also the polling interval while the stream is down) and places a
88
+ `LiveToggle()` (Live / Pause, L key; `variant: "pill"`, `missedLabel` for "N new requests").
89
+ - `liveHold: true` keeps a table's rows while paused; `liveHold: { whileRowOpen, whileScrolled,
90
+ whileSearching, whileSorted }` also holds the table alone; `liveHold.missedLabel` words its "N new".
91
+ Paused, an event counts as its `payload.ids` rows or its `payload.count`, so a module may batch
92
+ publishes with `{ count }`. A hidden tab and `?live=0` pause the page too.
93
+ - A custom component follows that state with `usePageLive()` (`hold(reason)` / `release()`,
94
+ `setMissedDetail()`); one that reads its own data on a topic calls
95
+ `usePageLiveRefresh(refresh, { realtimeTopic, idleRefresh })` — never a throttle of its own.
96
+ `refreshPageBlocks()` (user actions) always reads; `refreshLivePageBlocks()` (timers, feeds) is
97
+ held while paused.
98
+
99
+ ### Texts
100
+
101
+ - A text naming values is a `ComposedText` — `{ key, params: { amount: { type: "money", value: 92200,
102
+ currency: "EUR" } } }` — written by the browser in the reader's language. StatGroup /
103
+ KeyValueList / Banner / NavCardGrid / ActivityFeed / Meter / TopListCard item texts, ActivityFeed
104
+ `params` (typed `count` for plurals), tab badges and layout banners (`RegisterLayoutBanner({ resolve })`
105
+ → `{ text, actions }`) take it. Never format text server-side.
106
+ - A status the backend computes (health, outage) is a `Banner({ fetchUrl })`: the route answers a
107
+ `BannerContent` (its buttons may run `api` / modal / quick-action targets with `confirm`) or
108
+ `null` for no banner.
109
+
110
+ ### Blocks
111
+
112
+ - `StatGroup` details and `NavCardGrid` card titles take up to two lines before their ellipsis.
113
+ - `ActivityFeed`: `wrap: true` for entries read whole (leave `fillHeight` off), `visibleItems: N`
114
+ for a "Show N more" fold.
115
+ - `KeyValueList` rows take `copy: true` or `copyValue` (the text to copy instead).
116
+ - `TopListCard({ actions })` puts link buttons in its head; `Tab({ fit: true })` keeps pill tabs to
117
+ their labels' width; with `persistState` the URL names the open tab by its slot (`?tab=tester`).
118
+ - A `ChartCard` plotting several series names them with `showSeriesLegend: true` (placed by the
119
+ chart's `legendPosition`) — never a raw Apex `legend` in `rawOptions`.
120
+
121
+ ### Tables
122
+
123
+ - A cell's secondary line is a row field holding text or a composed text (or `{ text, tone }`),
124
+ named by `StatusPillDisplay({ subField })`, `IdentityDisplay({ subtitleField })` or
125
+ `TwoLineDisplay({ subField })`; `IdentityDisplay({ emptyLabel, emptyIcon, iconField })`.
126
+ - `StatusPillDisplay({ toneField })`, `DurationDisplay({ toneField, format: "ms" })` and
127
+ `TextDisplay({ toneField })` read a tone from a row field; a `PillsDisplay` item may be
128
+ `{ label, tone?, variant: "soft" | "outline" }`.
129
+ - A `TableView` over a shared controller hides a column on one page with
130
+ `columns: { hidden: ["workspace"] }` — no view just to hide it.
131
+ - A table ordered by hand (`reorder: { field }`) moves rows on the grid and cards on the `cards`
132
+ display alike; a `card.component` receives a `reorder` prop and `v-bind`s `reorder.handle`.
133
+
134
+ ### Forms
135
+
136
+ - A unit after a number field is `NumberType({ suffix: "$…days" })`; a character counter is
137
+ `StringType({ maxLength, showCount: true })` — no custom `inputComponent` for either.
138
+ - A long sectioned `Form` groups its navigation with `FormSection.navGroup`, in the side list and
139
+ the `sectionNav: "jump"` chips alike.
140
+ - A module's own `inputComponent` submits its form, adds a validator and focuses a field with
141
+ `useEnclosingForm()` (never `closest("form")` / `requestSubmit()`); a link ending in `#<fieldId>`
142
+ opens the form on that field. `DmsInputNumber` emits `adjust` when it keeps another value than the
143
+ one typed — listen to it rather than forcing a remount.
144
+
145
+ ### Custom components
146
+
147
+ - Name the record at the end of the breadcrumb with
148
+ `usePageRecordLabel().setLabel(useDmsRoute().path, label)`.
149
+ - Format through `useRegionalFormat()`; `useRegionalFormat({ locale: "format" })` writes in the
150
+ locale of the DMS's texts (`en` → `en-GB`).
151
+ - Bring a block into view with `scrollToBlock("tabs.statistics")` — never a DOM query.
152
+ - Show code with `DmsCodeSnippet` (`language`, `title`, `maxLines` or `maxHeight`, `wrap`) — never a
153
+ `<pre>` and a copy button of your own.
68
154
 
69
155
  ## DataTypes
70
156
 
@@ -74,5 +160,5 @@ catalog (19 built in, `@antelopejs/interface-dms/base/data-types`): `String`, `N
74
160
  `Relation`, `CascaderRelation`, `Address`, `RichText`, `StringTime`,
75
161
  `File`, `Image` (each as `<Name>Type`), plus `StatusType` via the `data-types` barrel. The
76
162
  same types drive TableView columns and filters — options per type are in
77
- `docs/04.components/08.data-types.md`. Custom types: subclass `DataType`, decorate with
163
+ `docs/04.components/10.data-types.md`. Custom types: subclass `DataType`, decorate with
78
164
  `@RegisterDataType("id")` (frontend side: `docs/05.extending-the-dashboard/04.custom-data-types.md`).
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: dms-pages
3
- description: Declares admin pages and composes backend-driven UI on the AntelopeJS DMS. Use when adding a dashboard screen, writing a @RegisterPage / PageController class, composing Form / TableView / Chart / Grid builders imported from @antelopejs/interface-dms/base, or choosing DataTypes and wiring the routes and DataControllers that feed them.
3
+ description: Declares admin pages and composes backend-driven UI on the AntelopeJS DMS. Use when adding a dashboard screen, writing a @RegisterPage / PageController class, composing Form / TableView / Chart / Grid / KpiCard blocks imported from @antelopejs/interface-dms/base, or choosing DataTypes and wiring the routes and DataControllers that feed them.
4
+ icon: i-ph-layout
4
5
  category: dashboard
5
6
  tags: [pages, components, forms, tables, data-types, navigation]
6
7
  ---
@@ -9,9 +10,10 @@ tags: [pages, components, forms, tables, data-types, navigation]
9
10
 
10
11
  The DMS is backend-driven: you declare a **page** and attach **components** to it as static
11
12
  fields. The builders produce a serializable description that the shared Vue 3 + Inertia frontend
12
- renders — you write no Vue for standard screens. Depth: `docs/02.building/03.pages-and-components.md`
13
- (pages), `docs/02.building/04.navigation.md` (nav tree), and the `docs/04.components/`
14
- catalog (one chapter per component family).
13
+ renders — you write no Vue for standard screens. **Before composing a page, apply
14
+ dms-best-practices** (blocks only, custom for the missing block, `.meta()`, design fidelity). Depth:
15
+ `docs/02.building/03.pages-and-components.md` (pages), `docs/02.building/04.navigation.md` (nav
16
+ tree), and `docs/04.components/` (one page per block, with its options).
15
17
 
16
18
  ## Declaring a page
17
19
 
@@ -70,11 +72,10 @@ The full catalog — `Form`, `TableView`, the charts, layout containers, dashboa
70
72
  widgets, `CustomComponent` — plus nesting rules and the behavioral DSL (permissioned
71
73
  `.action()`s, `.watch()` reactivity) is in [REFERENCE.md](REFERENCE.md).
72
74
 
73
- **Custom UI: decompose, don't monolith.** Never build a whole screen as one full-page
74
- `CustomComponent` SFC — that silently opts out of per-component permissions,
75
- `.action()`/`.watch()` reactivity, `PeriodSelector` scoping, and backend-driven layout. Use
76
- built-in builders wherever they suffice and one small `CustomComponent` per part that
77
- genuinely needs Vue (`docs/04.components/04.custom-component.md`).
75
+ **Custom UI: only the missing block.** A screen is always a tree of DMS blocks; a part with no
76
+ DMS equivalent becomes one `CustomComponent` (from `@antelopejs/interface-dms/base/custom`) carrying
77
+ `.meta({ name, description, icon })` with `$` keys — the rules and the design-fidelity protocol are
78
+ in **dms-best-practices** (`docs/04.components/09.custom-component.md`).
78
79
 
79
80
  ## Feeding components with data
80
81
 
@@ -97,7 +98,7 @@ with `@RegisterDataController()` (both from `@antelopejs/interface-data-api`).
97
98
  class-level `@ColumnGroup(id, config)`), `@Listable` / `@Sortable` from
98
99
  `@antelopejs/interface-data-api/metadata`. Read a
99
100
  real one first: `@antelopejs/interface-dms/data-controllers` (`members`); guide in
100
- `docs/04.components/09.data-controller.md` (+ `06.tables/`). Database rows carry **`_id`**
101
+ `docs/04.components/11.data-controller.md` (+ `08.tables/`). Database rows carry **`_id`**
101
102
  as the primary key — return and type it as `_id`, never alias to `id`.
102
103
 
103
104
  ## DataTypes
@@ -109,6 +110,6 @@ built-in types and how to register custom ones.
109
110
  ## Verify in the browser
110
111
 
111
112
  The build only typechecks `src/` — it will not catch a Vue error in a custom component or a
112
- wrong URL. After editing pages, full-restart and click through (see **dms-dev**). A hand-written link
113
+ wrong URL. After editing pages, full-restart and click through (see **dms-project**). A hand-written link
113
114
  to a module page must include the `/modules/<moduleId>` prefix (or read `fullSlug` from the
114
115
  layout) — a missing prefix 404s through the frontend catch-all even though the build is clean.
@@ -0,0 +1,74 @@
1
+ # dms-project — dev servers reference
2
+
3
+ Details behind the **Running the dev servers** section of [SKILL.md](SKILL.md): resolving the
4
+ project path, choosing the process manager, what `stop` touches, and the failures that look like
5
+ bugs.
6
+
7
+ ## Resolve the backend path
8
+
9
+ `DMS_BACK_DIR` is the absolute path of the project's DMS backend package directory (the one whose
10
+ scripts start the AntelopeJS backend and the frontend loader). Resolve it before the first script
11
+ call of a session, in this order:
12
+
13
+ 1. **The current repository.** Use the project that `package.json`, `antelope.config.ts` and any
14
+ service configuration identify, when the path is unambiguous.
15
+ 2. **Project memory.** Read the reference memory named `dms-back-path`. Use it only if the
16
+ directory still exists and contains a `package.json`; otherwise treat it as stale.
17
+ 3. **The user**, when the path is still ambiguous: "Which AntelopeJS DMS project should I run?
18
+ Give me the absolute path to its DMS backend package directory." Verify the answer, then save it
19
+ as a reference memory so later sessions skip the question:
20
+
21
+ ```markdown
22
+ ---
23
+ name: dms-back-path
24
+ description: Absolute path to the DMS backend package directory for this project, used by the dms-project skill to run pnpm dev / pnpm frontend:dev.
25
+ metadata:
26
+ type: reference
27
+ ---
28
+
29
+ /absolute/path/to/the-backend-package
30
+ ```
31
+
32
+ Add the index line to `MEMORY.md`: `- [DMS backend path](dms-back-path.md) — where dms-project runs pnpm dev / pnpm frontend:dev`.
33
+
34
+ A saved path that no longer exists makes the script fail fast with a clear error: ask again and
35
+ overwrite the memory.
36
+
37
+ ## Choose the process manager
38
+
39
+ The script is for local shells. In an Amp orb, use the repository's `.amp/services.yaml` with
40
+ `amp orb services ensure`, or `amp orb service start` for a one-off service; check readiness with
41
+ service logs and HTTP checks and share the returned portal URL. Processes the script detaches do
42
+ not survive orb updates.
43
+
44
+ ## What `stop` and `restart` touch
45
+
46
+ Only the project in `DMS_BACK_DIR`. The script records the pids it starts in
47
+ `DMS_BACK_DIR/.antelope/dms-dev.pid`; without that file it matches only dev processes whose working
48
+ directory or command line lies under `DMS_BACK_DIR`. Each process gets SIGTERM, then SIGKILL after
49
+ `DMS_DEV_STOP_GRACE` seconds (default 10). Other projects' dev servers on the machine keep running,
50
+ which is why the script replaces `pkill` by name (`pkill -9 node`, `pkill -f antelope-runner`).
51
+
52
+ Run one `start` or `restart` at a time: a second concurrent call hits a port or lock conflict.
53
+
54
+ ## Pitfalls
55
+
56
+ - **Zombie frontend processes.** The frontend CLI spawns children. `stop` signals the whole
57
+ session and process tree it started. If `start` reports servers already running, run `stop`
58
+ and check that `status` shows `(none)` before starting again.
59
+ - **Backend exits with "Module already registered".** A previous instance still holds the
60
+ registration: `stop`, then `restart`.
61
+ - **A boot that never gets ready.** Read `back-log` / `front-log`. Common causes: "already
62
+ registered" (above), a port already in use (kill the listed pid), a missing dependency
63
+ (`pnpm install` in the offending module).
64
+ - **A 302 on `/modules/...` URLs is normal**: those admin routes require a login. The layer is
65
+ loaded; have the user log in rather than restarting.
66
+ - **A frontend still stale after restarts.** The loader serves layers from copies under
67
+ `~/.antelopejs/dms-frontend/<hash>/`. Reset them with `ajs dms clean --all` in the backend
68
+ package directory (bare `ajs dms clean` asks for `-b` or `--all`, and `-b <url>` misses
69
+ autodiscovered workspaces, which are keyed by project path), then `restart`.
70
+ - **`ajs dms` reports a refused credential (401), or the backend logs "no valid bootstrap
71
+ credential".** The frontend authenticates to the layer endpoints with the ephemeral secret a dev
72
+ backend publishes to `<project>/.antelope/dms-dev.json`. A 401 means that file is absent
73
+ (backend not in dev mode) or stale: it outlives the backend that wrote it. `restart` rewrites
74
+ it. A frontend running outside the project tree needs `DMS_BOOTSTRAP_SECRET`.