@abraca/nuxt 0.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/dist/module.d.mts +26 -0
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +51 -8
  4. package/dist/runtime/components/AAccountSwitcherModal.d.vue.ts +10 -0
  5. package/dist/runtime/components/AAccountSwitcherModal.vue +158 -0
  6. package/dist/runtime/components/AAccountSwitcherModal.vue.d.ts +10 -0
  7. package/dist/runtime/components/AClaimAccountModal.d.vue.ts +10 -0
  8. package/dist/runtime/components/AClaimAccountModal.vue +230 -0
  9. package/dist/runtime/components/AClaimAccountModal.vue.d.ts +10 -0
  10. package/dist/runtime/components/ACollaborationUsers.vue +1 -0
  11. package/dist/runtime/components/AColorPicker.vue +4 -2
  12. package/dist/runtime/components/ACommandPalette.vue +4 -2
  13. package/dist/runtime/components/AConnectServerModal.d.vue.ts +12 -0
  14. package/dist/runtime/components/AConnectServerModal.vue +200 -0
  15. package/dist/runtime/components/AConnectServerModal.vue.d.ts +12 -0
  16. package/dist/runtime/components/AConnectionStatus.vue +1 -0
  17. package/dist/runtime/components/ADocPickModal.d.vue.ts +13 -0
  18. package/dist/runtime/components/ADocPickModal.vue +71 -0
  19. package/dist/runtime/components/ADocPickModal.vue.d.ts +13 -0
  20. package/dist/runtime/components/ADocRenderer.d.vue.ts +1 -1
  21. package/dist/runtime/components/ADocRenderer.vue +6 -0
  22. package/dist/runtime/components/ADocRenderer.vue.d.ts +1 -1
  23. package/dist/runtime/components/ADocTypeSelect.vue +4 -3
  24. package/dist/runtime/components/ADocumentTree.d.vue.ts +3 -3
  25. package/dist/runtime/components/ADocumentTree.vue +118 -10
  26. package/dist/runtime/components/ADocumentTree.vue.d.ts +3 -3
  27. package/dist/runtime/components/AEditor.d.vue.ts +4 -4
  28. package/dist/runtime/components/AEditor.vue +16 -1
  29. package/dist/runtime/components/AEditor.vue.d.ts +4 -4
  30. package/dist/runtime/components/AFloatingWindow.d.vue.ts +54 -2
  31. package/dist/runtime/components/AFloatingWindow.vue +15 -14
  32. package/dist/runtime/components/AFloatingWindow.vue.d.ts +54 -2
  33. package/dist/runtime/components/AIconPicker.vue +2 -0
  34. package/dist/runtime/components/AInviteRedeemModal.d.vue.ts +10 -0
  35. package/dist/runtime/components/AInviteRedeemModal.vue +122 -0
  36. package/dist/runtime/components/AInviteRedeemModal.vue.d.ts +10 -0
  37. package/dist/runtime/components/ANodePanel.vue +10 -2
  38. package/dist/runtime/components/ANotifications.vue +3 -1
  39. package/dist/runtime/components/APermissionGuard.vue +1 -0
  40. package/dist/runtime/components/APresence.vue +1 -0
  41. package/dist/runtime/components/AProvider.d.vue.ts +0 -1
  42. package/dist/runtime/components/AProvider.vue +17 -4
  43. package/dist/runtime/components/AProvider.vue.d.ts +0 -1
  44. package/dist/runtime/components/ARoleBadge.vue +1 -0
  45. package/dist/runtime/components/ASpaceFormModal.d.vue.ts +16 -0
  46. package/dist/runtime/components/ASpaceFormModal.vue +182 -0
  47. package/dist/runtime/components/ASpaceFormModal.vue.d.ts +16 -0
  48. package/dist/runtime/components/AVoiceBar.vue +3 -1
  49. package/dist/runtime/components/AVoiceTile.vue +1 -0
  50. package/dist/runtime/components/AWindowLayer.vue +1 -0
  51. package/dist/runtime/components/aware/AArea.d.vue.ts +1 -1
  52. package/dist/runtime/components/aware/AArea.vue +2 -1
  53. package/dist/runtime/components/aware/AArea.vue.d.ts +1 -1
  54. package/dist/runtime/components/aware/AAvatar.vue +2 -0
  55. package/dist/runtime/components/aware/AButton.vue +2 -1
  56. package/dist/runtime/components/aware/ACursorLabel.vue +1 -0
  57. package/dist/runtime/components/aware/ADocBadge.vue +2 -0
  58. package/dist/runtime/components/aware/AFacepile.vue +2 -0
  59. package/dist/runtime/components/aware/AInput.vue +3 -2
  60. package/dist/runtime/components/aware/ASelect.vue +3 -2
  61. package/dist/runtime/components/aware/ATextarea.vue +3 -2
  62. package/dist/runtime/components/aware/AUserList.vue +2 -0
  63. package/dist/runtime/components/chat/AChatAgentStatus.d.vue.ts +15 -0
  64. package/dist/runtime/components/chat/AChatAgentStatus.vue +95 -0
  65. package/dist/runtime/components/chat/AChatAgentStatus.vue.d.ts +15 -0
  66. package/dist/runtime/components/chat/AChatDocLink.d.vue.ts +18 -0
  67. package/dist/runtime/components/chat/AChatDocLink.vue +29 -0
  68. package/dist/runtime/components/chat/AChatDocLink.vue.d.ts +18 -0
  69. package/dist/runtime/components/chat/AChatDocQuote.d.vue.ts +26 -0
  70. package/dist/runtime/components/chat/AChatDocQuote.vue +47 -0
  71. package/dist/runtime/components/chat/AChatDocQuote.vue.d.ts +26 -0
  72. package/dist/runtime/components/chat/AChatInput.d.vue.ts +45 -0
  73. package/dist/runtime/components/chat/AChatInput.vue +219 -0
  74. package/dist/runtime/components/chat/AChatInput.vue.d.ts +45 -0
  75. package/dist/runtime/components/chat/AChatList.d.vue.ts +59 -0
  76. package/dist/runtime/components/chat/AChatList.vue +184 -0
  77. package/dist/runtime/components/chat/AChatList.vue.d.ts +59 -0
  78. package/dist/runtime/components/chat/AChatMemberList.d.vue.ts +24 -0
  79. package/dist/runtime/components/chat/AChatMemberList.vue +97 -0
  80. package/dist/runtime/components/chat/AChatMemberList.vue.d.ts +24 -0
  81. package/dist/runtime/components/chat/AChatMessages.d.vue.ts +31 -0
  82. package/dist/runtime/components/chat/AChatMessages.vue +161 -0
  83. package/dist/runtime/components/chat/AChatMessages.vue.d.ts +31 -0
  84. package/dist/runtime/components/chat/AChatPanel.d.vue.ts +84 -0
  85. package/dist/runtime/components/chat/AChatPanel.vue +89 -0
  86. package/dist/runtime/components/chat/AChatPanel.vue.d.ts +84 -0
  87. package/dist/runtime/components/chat/AChatTypingIndicator.d.vue.ts +11 -0
  88. package/dist/runtime/components/chat/AChatTypingIndicator.vue +58 -0
  89. package/dist/runtime/components/chat/AChatTypingIndicator.vue.d.ts +11 -0
  90. package/dist/runtime/components/editor/AColorPalettePopover.d.vue.ts +23 -0
  91. package/dist/runtime/components/editor/AColorPalettePopover.vue +71 -0
  92. package/dist/runtime/components/editor/AColorPalettePopover.vue.d.ts +23 -0
  93. package/dist/runtime/components/editor/ADocLinkPopover.d.vue.ts +7 -0
  94. package/dist/runtime/components/editor/ADocLinkPopover.vue +74 -0
  95. package/dist/runtime/components/editor/ADocLinkPopover.vue.d.ts +7 -0
  96. package/dist/runtime/components/editor/AFileAudioPlayer.d.vue.ts +10 -0
  97. package/dist/runtime/components/editor/AFileAudioPlayer.vue +353 -0
  98. package/dist/runtime/components/editor/AFileAudioPlayer.vue.d.ts +10 -0
  99. package/dist/runtime/components/editor/AFileGlbViewer.d.vue.ts +13 -0
  100. package/dist/runtime/components/editor/AFileGlbViewer.vue +187 -0
  101. package/dist/runtime/components/editor/AFileGlbViewer.vue.d.ts +13 -0
  102. package/dist/runtime/components/editor/AFileVideoPlayer.d.vue.ts +7 -0
  103. package/dist/runtime/components/editor/AFileVideoPlayer.vue +62 -0
  104. package/dist/runtime/components/editor/AFileVideoPlayer.vue.d.ts +7 -0
  105. package/dist/runtime/components/editor/ALinkPopover.d.vue.ts +8 -0
  106. package/dist/runtime/components/editor/ALinkPopover.vue +149 -0
  107. package/dist/runtime/components/editor/ALinkPopover.vue.d.ts +8 -0
  108. package/dist/runtime/components/editor/ALocationPickerPopover.d.vue.ts +28 -0
  109. package/dist/runtime/components/editor/ALocationPickerPopover.vue +232 -0
  110. package/dist/runtime/components/editor/ALocationPickerPopover.vue.d.ts +28 -0
  111. package/dist/runtime/components/renderers/ACalendarRenderer.d.vue.ts +2 -0
  112. package/dist/runtime/components/renderers/ACalendarRenderer.vue +207 -327
  113. package/dist/runtime/components/renderers/ACalendarRenderer.vue.d.ts +2 -0
  114. package/dist/runtime/components/renderers/ACallRenderer.vue +3 -0
  115. package/dist/runtime/components/renderers/AChecklistRenderer.vue +1 -0
  116. package/dist/runtime/components/renderers/ADashboardRenderer.vue +14 -12
  117. package/dist/runtime/components/renderers/AGalleryRenderer.vue +120 -12
  118. package/dist/runtime/components/renderers/AGraphRenderer.vue +5 -2
  119. package/dist/runtime/components/renderers/AKanbanRenderer.vue +21 -5
  120. package/dist/runtime/components/renderers/AMapRenderer.vue +2 -0
  121. package/dist/runtime/components/renderers/AMediaRenderer.d.vue.ts +19 -0
  122. package/dist/runtime/components/renderers/AMediaRenderer.vue +224 -0
  123. package/dist/runtime/components/renderers/AMediaRenderer.vue.d.ts +19 -0
  124. package/dist/runtime/components/renderers/AOutlineRenderer.vue +1 -0
  125. package/dist/runtime/components/renderers/ASpatialRenderer.d.vue.ts +19 -0
  126. package/dist/runtime/components/renderers/ASpatialRenderer.vue +436 -0
  127. package/dist/runtime/components/renderers/ASpatialRenderer.vue.d.ts +19 -0
  128. package/dist/runtime/components/renderers/ATableRenderer.vue +65 -45
  129. package/dist/runtime/components/renderers/ATimelineRenderer.vue +282 -260
  130. package/dist/runtime/components/renderers/calendar/ACalendarDayCell.d.vue.ts +41 -0
  131. package/dist/runtime/components/renderers/calendar/ACalendarDayCell.vue +109 -0
  132. package/dist/runtime/components/renderers/calendar/ACalendarDayCell.vue.d.ts +41 -0
  133. package/dist/runtime/components/renderers/calendar/ACalendarDayView.d.vue.ts +49 -0
  134. package/dist/runtime/components/renderers/calendar/ACalendarDayView.vue +152 -0
  135. package/dist/runtime/components/renderers/calendar/ACalendarDayView.vue.d.ts +49 -0
  136. package/dist/runtime/components/renderers/calendar/ACalendarEventChip.d.vue.ts +39 -0
  137. package/dist/runtime/components/renderers/calendar/ACalendarEventChip.vue +101 -0
  138. package/dist/runtime/components/renderers/calendar/ACalendarEventChip.vue.d.ts +39 -0
  139. package/dist/runtime/components/renderers/calendar/ACalendarMonthView.d.vue.ts +43 -0
  140. package/dist/runtime/components/renderers/calendar/ACalendarMonthView.vue +87 -0
  141. package/dist/runtime/components/renderers/calendar/ACalendarMonthView.vue.d.ts +43 -0
  142. package/dist/runtime/components/renderers/calendar/ACalendarToolbar.d.vue.ts +38 -0
  143. package/dist/runtime/components/renderers/calendar/ACalendarToolbar.vue +206 -0
  144. package/dist/runtime/components/renderers/calendar/ACalendarToolbar.vue.d.ts +38 -0
  145. package/dist/runtime/components/renderers/calendar/ACalendarUnscheduled.d.vue.ts +28 -0
  146. package/dist/runtime/components/renderers/calendar/ACalendarUnscheduled.vue +33 -0
  147. package/dist/runtime/components/renderers/calendar/ACalendarUnscheduled.vue.d.ts +28 -0
  148. package/dist/runtime/components/renderers/calendar/ACalendarWeekView.d.vue.ts +50 -0
  149. package/dist/runtime/components/renderers/calendar/ACalendarWeekView.vue +188 -0
  150. package/dist/runtime/components/renderers/calendar/ACalendarWeekView.vue.d.ts +50 -0
  151. package/dist/runtime/components/renderers/media/MediaPlaylist.d.vue.ts +25 -0
  152. package/dist/runtime/components/renderers/media/MediaPlaylist.vue +115 -0
  153. package/dist/runtime/components/renderers/media/MediaPlaylist.vue.d.ts +25 -0
  154. package/dist/runtime/components/renderers/media/MediaSyncBar.d.vue.ts +21 -0
  155. package/dist/runtime/components/renderers/media/MediaSyncBar.vue +61 -0
  156. package/dist/runtime/components/renderers/media/MediaSyncBar.vue.d.ts +21 -0
  157. package/dist/runtime/components/renderers/media/MediaTransportBar.d.vue.ts +22 -0
  158. package/dist/runtime/components/renderers/media/MediaTransportBar.vue +98 -0
  159. package/dist/runtime/components/renderers/media/MediaTransportBar.vue.d.ts +22 -0
  160. package/dist/runtime/components/renderers/spatial/SpatialGround.d.vue.ts +20 -0
  161. package/dist/runtime/components/renderers/spatial/SpatialGround.vue +26 -0
  162. package/dist/runtime/components/renderers/spatial/SpatialGround.vue.d.ts +20 -0
  163. package/dist/runtime/components/renderers/spatial/SpatialObject.d.vue.ts +17 -0
  164. package/dist/runtime/components/renderers/spatial/SpatialObject.vue +257 -0
  165. package/dist/runtime/components/renderers/spatial/SpatialObject.vue.d.ts +17 -0
  166. package/dist/runtime/components/renderers/spatial/SpatialSceneBridge.d.vue.ts +15 -0
  167. package/dist/runtime/components/renderers/spatial/SpatialSceneBridge.vue +18 -0
  168. package/dist/runtime/components/renderers/spatial/SpatialSceneBridge.vue.d.ts +15 -0
  169. package/dist/runtime/components/renderers/spatial/SpatialUserAvatar.d.vue.ts +8 -0
  170. package/dist/runtime/components/renderers/spatial/SpatialUserAvatar.vue +53 -0
  171. package/dist/runtime/components/renderers/spatial/SpatialUserAvatar.vue.d.ts +8 -0
  172. package/dist/runtime/components/renderers/table/ATableColumnHeader.d.vue.ts +25 -0
  173. package/dist/runtime/components/renderers/table/ATableColumnHeader.vue +129 -0
  174. package/dist/runtime/components/renderers/table/ATableColumnHeader.vue.d.ts +25 -0
  175. package/dist/runtime/components/renderers/table/ATableFlatMode.d.vue.ts +21 -0
  176. package/dist/runtime/components/renderers/table/ATableFlatMode.vue +370 -0
  177. package/dist/runtime/components/renderers/table/ATableFlatMode.vue.d.ts +21 -0
  178. package/dist/runtime/components/renderers/table/ATableToolbar.d.vue.ts +22 -0
  179. package/dist/runtime/components/renderers/table/ATableToolbar.vue +106 -0
  180. package/dist/runtime/components/renderers/table/ATableToolbar.vue.d.ts +22 -0
  181. package/dist/runtime/components/renderers/table/cells/ATableCell.d.vue.ts +18 -0
  182. package/dist/runtime/components/renderers/table/cells/ATableCell.vue +54 -0
  183. package/dist/runtime/components/renderers/table/cells/ATableCell.vue.d.ts +18 -0
  184. package/dist/runtime/components/renderers/table/cells/ATableCellColor.d.vue.ts +14 -0
  185. package/dist/runtime/components/renderers/table/cells/ATableCellColor.vue +67 -0
  186. package/dist/runtime/components/renderers/table/cells/ATableCellColor.vue.d.ts +14 -0
  187. package/dist/runtime/components/renderers/table/cells/ATableCellDate.d.vue.ts +16 -0
  188. package/dist/runtime/components/renderers/table/cells/ATableCellDate.vue +91 -0
  189. package/dist/runtime/components/renderers/table/cells/ATableCellDate.vue.d.ts +16 -0
  190. package/dist/runtime/components/renderers/table/cells/ATableCellMembers.d.vue.ts +6 -0
  191. package/dist/runtime/components/renderers/table/cells/ATableCellMembers.vue +30 -0
  192. package/dist/runtime/components/renderers/table/cells/ATableCellMembers.vue.d.ts +6 -0
  193. package/dist/runtime/components/renderers/table/cells/ATableCellMultiSelect.d.vue.ts +17 -0
  194. package/dist/runtime/components/renderers/table/cells/ATableCellMultiSelect.vue +76 -0
  195. package/dist/runtime/components/renderers/table/cells/ATableCellMultiSelect.vue.d.ts +17 -0
  196. package/dist/runtime/components/renderers/table/cells/ATableCellNumber.d.vue.ts +17 -0
  197. package/dist/runtime/components/renderers/table/cells/ATableCellNumber.vue +54 -0
  198. package/dist/runtime/components/renderers/table/cells/ATableCellNumber.vue.d.ts +17 -0
  199. package/dist/runtime/components/renderers/table/cells/ATableCellRating.d.vue.ts +16 -0
  200. package/dist/runtime/components/renderers/table/cells/ATableCellRating.vue +35 -0
  201. package/dist/runtime/components/renderers/table/cells/ATableCellRating.vue.d.ts +16 -0
  202. package/dist/runtime/components/renderers/table/cells/ATableCellSelect.d.vue.ts +18 -0
  203. package/dist/runtime/components/renderers/table/cells/ATableCellSelect.vue +111 -0
  204. package/dist/runtime/components/renderers/table/cells/ATableCellSelect.vue.d.ts +18 -0
  205. package/dist/runtime/components/renderers/table/cells/ATableCellSlider.d.vue.ts +16 -0
  206. package/dist/runtime/components/renderers/table/cells/ATableCellSlider.vue +35 -0
  207. package/dist/runtime/components/renderers/table/cells/ATableCellSlider.vue.d.ts +16 -0
  208. package/dist/runtime/components/renderers/table/cells/ATableCellTags.d.vue.ts +15 -0
  209. package/dist/runtime/components/renderers/table/cells/ATableCellTags.vue +92 -0
  210. package/dist/runtime/components/renderers/table/cells/ATableCellTags.vue.d.ts +15 -0
  211. package/dist/runtime/components/renderers/table/cells/ATableCellText.d.vue.ts +15 -0
  212. package/dist/runtime/components/renderers/table/cells/ATableCellText.vue +44 -0
  213. package/dist/runtime/components/renderers/table/cells/ATableCellText.vue.d.ts +15 -0
  214. package/dist/runtime/components/renderers/table/cells/ATableCellToggle.d.vue.ts +14 -0
  215. package/dist/runtime/components/renderers/table/cells/ATableCellToggle.vue +31 -0
  216. package/dist/runtime/components/renderers/table/cells/ATableCellToggle.vue.d.ts +14 -0
  217. package/dist/runtime/components/renderers/table/cells/ATableCellUrl.d.vue.ts +15 -0
  218. package/dist/runtime/components/renderers/table/cells/ATableCellUrl.vue +63 -0
  219. package/dist/runtime/components/renderers/table/cells/ATableCellUrl.vue.d.ts +15 -0
  220. package/dist/runtime/components/renderers/timeline/ATimelineAxis.d.vue.ts +9 -0
  221. package/dist/runtime/components/renderers/timeline/ATimelineAxis.vue +53 -0
  222. package/dist/runtime/components/renderers/timeline/ATimelineAxis.vue.d.ts +9 -0
  223. package/dist/runtime/components/renderers/timeline/ATimelineBar.d.vue.ts +26 -0
  224. package/dist/runtime/components/renderers/timeline/ATimelineBar.vue +59 -0
  225. package/dist/runtime/components/renderers/timeline/ATimelineBar.vue.d.ts +26 -0
  226. package/dist/runtime/components/renderers/timeline/ATimelineBarArea.d.vue.ts +28 -0
  227. package/dist/runtime/components/renderers/timeline/ATimelineBarArea.vue +109 -0
  228. package/dist/runtime/components/renderers/timeline/ATimelineBarArea.vue.d.ts +28 -0
  229. package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.d.vue.ts +43 -0
  230. package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.vue +168 -0
  231. package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.vue.d.ts +43 -0
  232. package/dist/runtime/components/renderers/timeline/ATimelineMilestone.d.vue.ts +24 -0
  233. package/dist/runtime/components/renderers/timeline/ATimelineMilestone.vue +46 -0
  234. package/dist/runtime/components/renderers/timeline/ATimelineMilestone.vue.d.ts +24 -0
  235. package/dist/runtime/components/renderers/timeline/ATimelineToolbar.d.vue.ts +34 -0
  236. package/dist/runtime/components/renderers/timeline/ATimelineToolbar.vue +193 -0
  237. package/dist/runtime/components/renderers/timeline/ATimelineToolbar.vue.d.ts +34 -0
  238. package/dist/runtime/components/settings/ASettingsAdminPanel.d.vue.ts +3 -0
  239. package/dist/runtime/components/settings/ASettingsAdminPanel.vue +159 -0
  240. package/dist/runtime/components/settings/ASettingsAdminPanel.vue.d.ts +3 -0
  241. package/dist/runtime/components/settings/ASettingsConnectionPanel.d.vue.ts +3 -0
  242. package/dist/runtime/components/settings/ASettingsConnectionPanel.vue +146 -0
  243. package/dist/runtime/components/settings/ASettingsConnectionPanel.vue.d.ts +3 -0
  244. package/dist/runtime/components/settings/ASettingsInvitesPanel.d.vue.ts +3 -0
  245. package/dist/runtime/components/settings/ASettingsInvitesPanel.vue +157 -0
  246. package/dist/runtime/components/settings/ASettingsInvitesPanel.vue.d.ts +3 -0
  247. package/dist/runtime/components/settings/ASettingsMembersPanel.d.vue.ts +3 -0
  248. package/dist/runtime/components/settings/ASettingsMembersPanel.vue +134 -0
  249. package/dist/runtime/components/settings/ASettingsMembersPanel.vue.d.ts +3 -0
  250. package/dist/runtime/components/settings/ASettingsModal.d.vue.ts +3 -0
  251. package/dist/runtime/components/settings/ASettingsModal.vue +176 -0
  252. package/dist/runtime/components/settings/ASettingsModal.vue.d.ts +3 -0
  253. package/dist/runtime/components/settings/ASettingsOfflinePanel.d.vue.ts +3 -0
  254. package/dist/runtime/components/settings/ASettingsOfflinePanel.vue +170 -0
  255. package/dist/runtime/components/settings/ASettingsOfflinePanel.vue.d.ts +3 -0
  256. package/dist/runtime/components/settings/ASettingsPluginsPanel.d.vue.ts +3 -0
  257. package/dist/runtime/components/settings/ASettingsPluginsPanel.vue +96 -0
  258. package/dist/runtime/components/settings/ASettingsPluginsPanel.vue.d.ts +3 -0
  259. package/dist/runtime/components/settings/ASettingsProfilePanel.d.vue.ts +3 -0
  260. package/dist/runtime/components/settings/ASettingsProfilePanel.vue +223 -0
  261. package/dist/runtime/components/settings/ASettingsProfilePanel.vue.d.ts +3 -0
  262. package/dist/runtime/components/settings/ASettingsSecurityPanel.d.vue.ts +3 -0
  263. package/dist/runtime/components/settings/ASettingsSecurityPanel.vue +312 -0
  264. package/dist/runtime/components/settings/ASettingsSecurityPanel.vue.d.ts +3 -0
  265. package/dist/runtime/components/settings/ASettingsSpacesPanel.d.vue.ts +3 -0
  266. package/dist/runtime/components/settings/ASettingsSpacesPanel.vue +195 -0
  267. package/dist/runtime/components/settings/ASettingsSpacesPanel.vue.d.ts +3 -0
  268. package/dist/runtime/components/settings/ASettingsTrashPanel.d.vue.ts +3 -0
  269. package/dist/runtime/components/settings/ASettingsTrashPanel.vue +135 -0
  270. package/dist/runtime/components/settings/ASettingsTrashPanel.vue.d.ts +3 -0
  271. package/dist/runtime/components/shell/AChildContextMenu.d.vue.ts +30 -0
  272. package/dist/runtime/components/shell/AChildContextMenu.vue +48 -0
  273. package/dist/runtime/components/shell/AChildContextMenu.vue.d.ts +30 -0
  274. package/dist/runtime/components/shell/ACursorOverlay.d.vue.ts +11 -0
  275. package/dist/runtime/components/shell/ACursorOverlay.vue +55 -0
  276. package/dist/runtime/components/shell/ACursorOverlay.vue.d.ts +11 -0
  277. package/dist/runtime/components/shell/ADocDragGhost.d.vue.ts +3 -0
  278. package/dist/runtime/components/shell/ADocDragGhost.vue +58 -0
  279. package/dist/runtime/components/shell/ADocDragGhost.vue.d.ts +3 -0
  280. package/dist/runtime/components/shell/ADocPanelSettings.d.vue.ts +111 -0
  281. package/dist/runtime/components/shell/ADocPanelSettings.vue +621 -0
  282. package/dist/runtime/components/shell/ADocPanelSettings.vue.d.ts +111 -0
  283. package/dist/runtime/components/shell/AFavoritesList.d.vue.ts +27 -0
  284. package/dist/runtime/components/shell/AFavoritesList.vue +83 -0
  285. package/dist/runtime/components/shell/AFavoritesList.vue.d.ts +27 -0
  286. package/dist/runtime/components/shell/ANodeContextMenu.d.vue.ts +17 -0
  287. package/dist/runtime/components/shell/ANodeContextMenu.vue +14 -0
  288. package/dist/runtime/components/shell/ANodeContextMenu.vue.d.ts +17 -0
  289. package/dist/runtime/components/shell/ASidebar.d.vue.ts +54 -0
  290. package/dist/runtime/components/shell/ASidebar.vue +92 -0
  291. package/dist/runtime/components/shell/ASidebar.vue.d.ts +54 -0
  292. package/dist/runtime/components/shell/ASidebarToggle.d.vue.ts +7 -0
  293. package/dist/runtime/components/shell/ASidebarToggle.vue +23 -0
  294. package/dist/runtime/components/shell/ASidebarToggle.vue.d.ts +7 -0
  295. package/dist/runtime/components/shell/ASpaceSwitcher.d.vue.ts +32 -0
  296. package/dist/runtime/components/shell/ASpaceSwitcher.vue +63 -0
  297. package/dist/runtime/components/shell/ASpaceSwitcher.vue.d.ts +32 -0
  298. package/dist/runtime/components/shell/ASyncStatus.d.vue.ts +25 -0
  299. package/dist/runtime/components/shell/ASyncStatus.vue +96 -0
  300. package/dist/runtime/components/shell/ASyncStatus.vue.d.ts +25 -0
  301. package/dist/runtime/components/shell/AUserMenu.d.vue.ts +28 -0
  302. package/dist/runtime/components/shell/AUserMenu.vue +79 -0
  303. package/dist/runtime/components/shell/AUserMenu.vue.d.ts +28 -0
  304. package/dist/runtime/components/shell/AUserProfilePopover.d.vue.ts +54 -0
  305. package/dist/runtime/components/shell/AUserProfilePopover.vue +176 -0
  306. package/dist/runtime/components/shell/AUserProfilePopover.vue.d.ts +54 -0
  307. package/dist/runtime/components/shell/AWelcomeScreen.d.vue.ts +96 -0
  308. package/dist/runtime/components/shell/AWelcomeScreen.vue +422 -0
  309. package/dist/runtime/components/shell/AWelcomeScreen.vue.d.ts +96 -0
  310. package/dist/runtime/composables/useAAField.js +2 -0
  311. package/dist/runtime/composables/useAbraLocale.js +1 -0
  312. package/dist/runtime/composables/useAbracadabra.js +1 -0
  313. package/dist/runtime/composables/useAbracadabraAuth.d.ts +3 -4
  314. package/dist/runtime/composables/useAbracadabraAuth.js +4 -0
  315. package/dist/runtime/composables/useAwareness.js +1 -0
  316. package/dist/runtime/composables/useAwarenessPeers.js +1 -0
  317. package/dist/runtime/composables/useBackgroundSync.d.ts +5 -0
  318. package/dist/runtime/composables/useBackgroundSync.js +24 -3
  319. package/dist/runtime/composables/useCalendarView.d.ts +86 -0
  320. package/dist/runtime/composables/useCalendarView.js +316 -0
  321. package/dist/runtime/composables/useChat.d.ts +2 -1
  322. package/dist/runtime/composables/useChat.js +17 -10
  323. package/dist/runtime/composables/useChatUsers.js +1 -0
  324. package/dist/runtime/composables/useChildTree.d.ts +4 -2
  325. package/dist/runtime/composables/useChildTree.js +31 -21
  326. package/dist/runtime/composables/useCommandPalette.js +16 -17
  327. package/dist/runtime/composables/useConnectionStatus.d.ts +1 -1
  328. package/dist/runtime/composables/useConnectionStatus.js +1 -1
  329. package/dist/runtime/composables/useCrossWindowSync.d.ts +11 -0
  330. package/dist/runtime/composables/useCrossWindowSync.js +38 -0
  331. package/dist/runtime/composables/useDashboard.js +17 -9
  332. package/dist/runtime/composables/useDevicePairing.js +2 -0
  333. package/dist/runtime/composables/useDocDragBus.d.ts +28 -0
  334. package/dist/runtime/composables/useDocDragBus.js +22 -0
  335. package/dist/runtime/composables/useDocDropZone.d.ts +51 -0
  336. package/dist/runtime/composables/useDocDropZone.js +84 -0
  337. package/dist/runtime/composables/useDocExport.js +2 -0
  338. package/dist/runtime/composables/useDocImport.js +1 -0
  339. package/dist/runtime/composables/useDocLabels.d.ts +22 -0
  340. package/dist/runtime/composables/useDocLabels.js +11 -0
  341. package/dist/runtime/composables/useDocLinkPick.d.ts +18 -0
  342. package/dist/runtime/composables/useDocLinkPick.js +22 -0
  343. package/dist/runtime/composables/useDocSeo.js +3 -2
  344. package/dist/runtime/composables/useDocSlugs.js +3 -0
  345. package/dist/runtime/composables/useDocTree.d.ts +1 -0
  346. package/dist/runtime/composables/useDocTree.js +6 -2
  347. package/dist/runtime/composables/useEditor.js +1 -0
  348. package/dist/runtime/composables/useEditorDragHandle.js +2 -0
  349. package/dist/runtime/composables/useEditorEmojis.d.ts +22 -0
  350. package/dist/runtime/composables/useEditorEmojis.js +57 -0
  351. package/dist/runtime/composables/useEditorMentions.d.ts +10 -3
  352. package/dist/runtime/composables/useEditorMentions.js +31 -3
  353. package/dist/runtime/composables/useEditorSuggestions.d.ts +2 -2
  354. package/dist/runtime/composables/useEditorSuggestions.js +27 -19
  355. package/dist/runtime/composables/useEditorToolbar.d.ts +1 -1
  356. package/dist/runtime/composables/useEditorToolbar.js +3 -0
  357. package/dist/runtime/composables/useFavorites.d.ts +13 -0
  358. package/dist/runtime/composables/useFavorites.js +42 -0
  359. package/dist/runtime/composables/useFileIndex.js +2 -0
  360. package/dist/runtime/composables/useFileTransfer.js +13 -1
  361. package/dist/runtime/composables/useFollowUser.js +2 -0
  362. package/dist/runtime/composables/useIdentityDoc.d.ts +89 -0
  363. package/dist/runtime/composables/useIdentityDoc.js +349 -0
  364. package/dist/runtime/composables/useInstalledPlugins.d.ts +31 -0
  365. package/dist/runtime/composables/useInstalledPlugins.js +58 -0
  366. package/dist/runtime/composables/useInvites.js +1 -0
  367. package/dist/runtime/composables/useJoinLink.d.ts +25 -0
  368. package/dist/runtime/composables/useJoinLink.js +58 -0
  369. package/dist/runtime/composables/useMediaExtractor.d.ts +31 -0
  370. package/dist/runtime/composables/useMediaExtractor.js +46 -0
  371. package/dist/runtime/composables/useMediaPlayback.d.ts +43 -0
  372. package/dist/runtime/composables/useMediaPlayback.js +465 -0
  373. package/dist/runtime/composables/useNodeContextMenu.d.ts +26 -0
  374. package/dist/runtime/composables/useNodeContextMenu.js +99 -0
  375. package/dist/runtime/composables/useNodePanel.d.ts +7 -1
  376. package/dist/runtime/composables/useNodePanel.js +45 -8
  377. package/dist/runtime/composables/useNodePanelFollow.d.ts +2 -0
  378. package/dist/runtime/composables/useNodePanelFollow.js +37 -0
  379. package/dist/runtime/composables/useNotifications.d.ts +1 -0
  380. package/dist/runtime/composables/useNotifications.js +7 -2
  381. package/dist/runtime/composables/usePluginRegistry.js +1 -0
  382. package/dist/runtime/composables/useRendererBase.d.ts +16 -1
  383. package/dist/runtime/composables/useRendererBase.js +10 -1
  384. package/dist/runtime/composables/useSearchIndex.js +2 -0
  385. package/dist/runtime/composables/useSettingsModal.d.ts +18 -0
  386. package/dist/runtime/composables/useSettingsModal.js +30 -0
  387. package/dist/runtime/composables/useSlideoverSwipe.d.ts +39 -0
  388. package/dist/runtime/composables/useSlideoverSwipe.js +48 -0
  389. package/dist/runtime/composables/useSlugRoute.js +2 -0
  390. package/dist/runtime/composables/useSpaces.js +2 -0
  391. package/dist/runtime/composables/useSpatialCamera.d.ts +16 -0
  392. package/dist/runtime/composables/useSpatialCamera.js +175 -0
  393. package/dist/runtime/composables/useSpatialDrag.d.ts +14 -0
  394. package/dist/runtime/composables/useSpatialDrag.js +137 -0
  395. package/dist/runtime/composables/useTableView.d.ts +29 -0
  396. package/dist/runtime/composables/useTableView.js +184 -0
  397. package/dist/runtime/composables/useTimelineView.d.ts +55 -0
  398. package/dist/runtime/composables/useTimelineView.js +434 -0
  399. package/dist/runtime/composables/useTiptapDragState.d.ts +8 -0
  400. package/dist/runtime/composables/useTiptapDragState.js +5 -0
  401. package/dist/runtime/composables/useTouchDrag.d.ts +2 -0
  402. package/dist/runtime/composables/useTouchDrag.js +3 -0
  403. package/dist/runtime/composables/useTrash.d.ts +4 -0
  404. package/dist/runtime/composables/useTrash.js +6 -3
  405. package/dist/runtime/composables/useTreeUndoManager.d.ts +22 -0
  406. package/dist/runtime/composables/useTreeUndoManager.js +45 -0
  407. package/dist/runtime/composables/useUndoRedo.d.ts +37 -0
  408. package/dist/runtime/composables/useUndoRedo.js +115 -0
  409. package/dist/runtime/composables/useVoice.js +2 -0
  410. package/dist/runtime/composables/useWebRTC.js +2 -0
  411. package/dist/runtime/composables/useWindowManager.d.ts +2 -0
  412. package/dist/runtime/composables/useWindowManager.js +63 -1
  413. package/dist/runtime/extensions/code-preview.d.ts +2 -0
  414. package/dist/runtime/extensions/code-preview.js +17 -0
  415. package/dist/runtime/extensions/code-tree.d.ts +2 -0
  416. package/dist/runtime/extensions/code-tree.js +33 -0
  417. package/dist/runtime/extensions/doc-embed.d.ts +12 -0
  418. package/dist/runtime/extensions/doc-embed.js +63 -0
  419. package/dist/runtime/extensions/doc-link-drop.d.ts +3 -0
  420. package/dist/runtime/extensions/doc-link-drop.js +63 -0
  421. package/dist/runtime/extensions/document-header.js +1 -1
  422. package/dist/runtime/extensions/field.d.ts +3 -0
  423. package/dist/runtime/extensions/field.js +53 -0
  424. package/dist/runtime/extensions/mention-drop.d.ts +8 -0
  425. package/dist/runtime/extensions/mention-drop.js +47 -0
  426. package/dist/runtime/extensions/meta-field.js +2 -0
  427. package/dist/runtime/extensions/selection-drag.d.ts +13 -0
  428. package/dist/runtime/extensions/selection-drag.js +126 -0
  429. package/dist/runtime/extensions/views/AccordionItemView.vue +1 -0
  430. package/dist/runtime/extensions/views/BadgeView.vue +1 -0
  431. package/dist/runtime/extensions/views/CardView.vue +1 -0
  432. package/dist/runtime/extensions/views/CodeCollapseView.vue +1 -0
  433. package/dist/runtime/extensions/views/CodeGroupView.vue +1 -0
  434. package/dist/runtime/extensions/views/CodePreviewView.d.vue.ts +4 -0
  435. package/dist/runtime/extensions/views/CodePreviewView.vue +48 -0
  436. package/dist/runtime/extensions/views/CodePreviewView.vue.d.ts +4 -0
  437. package/dist/runtime/extensions/views/CodeTreeView.d.vue.ts +4 -0
  438. package/dist/runtime/extensions/views/CodeTreeView.vue +88 -0
  439. package/dist/runtime/extensions/views/CodeTreeView.vue.d.ts +4 -0
  440. package/dist/runtime/extensions/views/CollapsibleView.vue +1 -0
  441. package/dist/runtime/extensions/views/DocEmbedView.d.vue.ts +4 -0
  442. package/dist/runtime/extensions/views/DocEmbedView.vue +198 -0
  443. package/dist/runtime/extensions/views/DocEmbedView.vue.d.ts +4 -0
  444. package/dist/runtime/extensions/views/FieldGroupView.d.vue.ts +4 -0
  445. package/dist/runtime/extensions/views/FieldGroupView.vue +25 -0
  446. package/dist/runtime/extensions/views/FieldGroupView.vue.d.ts +4 -0
  447. package/dist/runtime/extensions/views/FieldView.d.vue.ts +4 -0
  448. package/dist/runtime/extensions/views/FieldView.vue +53 -0
  449. package/dist/runtime/extensions/views/FieldView.vue.d.ts +4 -0
  450. package/dist/runtime/extensions/views/FileNodeView.vue +2 -0
  451. package/dist/runtime/extensions/views/KbdView.vue +1 -0
  452. package/dist/runtime/extensions/views/MetaFieldView.vue +68 -2
  453. package/dist/runtime/extensions/views/ProseIconView.vue +1 -0
  454. package/dist/runtime/extensions/views/StepsView.vue +1 -0
  455. package/dist/runtime/extensions/views/TabsView.vue +1 -0
  456. package/dist/runtime/locale.d.ts +65 -0
  457. package/dist/runtime/locale.js +67 -2
  458. package/dist/runtime/middleware/abracadabra-auth.d.ts +1 -10
  459. package/dist/runtime/middleware/abracadabra-auth.js +2 -0
  460. package/dist/runtime/plugin-abracadabra.client.d.ts +1 -1
  461. package/dist/runtime/plugin-abracadabra.client.js +99 -53
  462. package/dist/runtime/plugin-abracadabra.server.d.ts +1 -1
  463. package/dist/runtime/plugin-abracadabra.server.js +2 -0
  464. package/dist/runtime/plugin-shared-globals.client.d.ts +1 -1
  465. package/dist/runtime/plugin-shared-globals.client.js +1 -0
  466. package/dist/runtime/plugins/core.plugin.js +40 -4
  467. package/dist/runtime/server/api/_abracadabra/render/[docId].get.d.ts +19 -17
  468. package/dist/runtime/server/api/_abracadabra/render/[docId].get.js +4 -0
  469. package/dist/runtime/server/api/_abracadabra/resolve/[...slug].get.d.ts +11 -1
  470. package/dist/runtime/server/api/_abracadabra/resolve/[...slug].get.js +1 -0
  471. package/dist/runtime/server/api/_abracadabra/slugs.get.js +1 -0
  472. package/dist/runtime/server/api/_abracadabra/spaces.get.d.ts +1 -10
  473. package/dist/runtime/server/api/_abracadabra/spaces.get.js +3 -0
  474. package/dist/runtime/server/plugins/abracadabra-service.js +24 -12
  475. package/dist/runtime/server/utils/docCache.d.ts +8 -6
  476. package/dist/runtime/server/utils/docCache.js +3 -3
  477. package/dist/runtime/server/utils/serverPluginLoader.d.ts +20 -0
  478. package/dist/runtime/server/utils/serverPluginLoader.js +42 -0
  479. package/dist/runtime/server/utils/serverRunner.d.ts +11 -2
  480. package/dist/runtime/server/utils/serverRunner.js +21 -10
  481. package/dist/runtime/server/utils/spaceManager.d.ts +25 -0
  482. package/dist/runtime/server/utils/spaceManager.js +188 -0
  483. package/dist/runtime/types.d.ts +128 -30
  484. package/dist/runtime/types.js +17 -17
  485. package/dist/runtime/utils/chatContent.d.ts +41 -0
  486. package/dist/runtime/utils/chatContent.js +65 -0
  487. package/dist/runtime/utils/colorPalettes.js +12 -6
  488. package/dist/runtime/utils/coverCache.d.ts +12 -0
  489. package/dist/runtime/utils/coverCache.js +14 -0
  490. package/dist/runtime/utils/docReferenceEdges.d.ts +26 -0
  491. package/dist/runtime/utils/docReferenceEdges.js +122 -0
  492. package/dist/runtime/utils/docTypes.d.ts +6 -1
  493. package/dist/runtime/utils/duplicateDocContent.d.ts +19 -0
  494. package/dist/runtime/utils/duplicateDocContent.js +68 -0
  495. package/dist/runtime/utils/extractFileMetadata.d.ts +13 -0
  496. package/dist/runtime/utils/extractFileMetadata.js +94 -0
  497. package/dist/runtime/utils/getMetaColor.d.ts +6 -0
  498. package/dist/runtime/utils/getMetaColor.js +12 -0
  499. package/dist/runtime/utils/htmlToYjs.d.ts +19 -0
  500. package/dist/runtime/utils/htmlToYjs.js +235 -0
  501. package/dist/runtime/utils/markdownToYjs.js +3 -3
  502. package/dist/runtime/utils/metaFieldDefinitions.js +9 -0
  503. package/dist/runtime/utils/notificationRenderers.d.ts +13 -0
  504. package/dist/runtime/utils/notificationRenderers.js +41 -0
  505. package/dist/runtime/utils/sdkRef.d.ts +12 -2
  506. package/dist/types.d.mts +12 -0
  507. package/package.json +26 -27
@@ -1,4 +1,5 @@
1
1
  import { shallowRef, ref, computed, watch } from "vue";
2
+ import { defineNuxtPlugin, useRuntimeConfig, useAppConfig, navigateTo } from "#imports";
2
3
  import * as Y from "yjs";
3
4
  import { PluginRegistry } from "./plugin-registry.js";
4
5
  import { corePlugin } from "./plugins/core.plugin.js";
@@ -14,6 +15,7 @@ import {
14
15
  } from "./composables/useBackgroundSync.js";
15
16
  import {
16
17
  _initFileBlobStore,
18
+ _getFileBlobStore,
17
19
  _destroyFileBlobStore
18
20
  } from "./composables/useFileBlobStore.js";
19
21
  import {
@@ -189,8 +191,9 @@ export default defineNuxtPlugin({
189
191
  }
190
192
  } catch (e) {
191
193
  console.error(`[abracadabra] Failed to load plugin from ${entry.url}:`, e);
194
+ const errMsg = e instanceof Error ? e.message : String(e);
192
195
  const updated = storedExternal.map(
193
- (en) => en.url === entry.url ? { ...en, error: e?.message ?? String(e) } : en
196
+ (en) => en.url === entry.url ? { ...en, error: errMsg } : en
194
197
  );
195
198
  localStorage.setItem(STORAGE_KEY_EXTERNAL_PLUGINS, JSON.stringify(updated));
196
199
  }
@@ -209,13 +212,18 @@ export default defineNuxtPlugin({
209
212
  const isReady = ref(false);
210
213
  const publicKeyB64 = ref("");
211
214
  const connectionError = ref(null);
212
- const isClaimed = ref(false);
213
- const identityLost = ref(false);
214
- const needsReauth = ref(false);
215
+ const identityState = ref("initializing");
216
+ let _identityStateBeforeBlock = "initializing";
217
+ const isClaimed = computed(() => identityState.value === "claimed");
218
+ const identityLost = computed(() => identityState.value === "identityLost");
219
+ const needsReauth = computed(() => identityState.value === "needsReauth");
220
+ const isConnectionBlocked = computed(() => identityState.value === "connectionBlocked");
215
221
  const requirePasskeyOnLogin = ref(false);
216
- const isConnectionBlocked = ref(false);
217
222
  const userCount = ref(1);
218
223
  const pendingInviteCode = ref(null);
224
+ const effectiveRole = ref(null);
225
+ const unsyncedChanges = ref(0);
226
+ const spaceDocId = ref(null);
219
227
  const userName = ref(localStorage.getItem("abracadabra_username") || randomName(abraConfig));
220
228
  const userColor = ref("hsl(217, 70%, 75%)");
221
229
  const userColorName = ref("blue");
@@ -230,7 +238,10 @@ export default defineNuxtPlugin({
230
238
  let lastClientIds = /* @__PURE__ */ new Set();
231
239
  const clientNameCache = /* @__PURE__ */ new Map();
232
240
  function addLog(message, type = "system") {
233
- logs.value = [...logs.value.slice(-200), { time: ts(), message, type }];
241
+ logs.value.push({ time: ts(), message, type });
242
+ if (logs.value.length > 250) {
243
+ logs.value = logs.value.slice(-200);
244
+ }
234
245
  }
235
246
  function loadServers() {
236
247
  if (_serversLoaded) return;
@@ -344,7 +355,9 @@ export default defineNuxtPlugin({
344
355
  function reconnect() {
345
356
  if (!_wsp) return;
346
357
  authFailureCount = 0;
347
- isConnectionBlocked.value = false;
358
+ if (identityState.value === "connectionBlocked") {
359
+ identityState.value = _identityStateBeforeBlock;
360
+ }
348
361
  connectionError.value = null;
349
362
  _wsp.connect();
350
363
  }
@@ -358,7 +371,6 @@ export default defineNuxtPlugin({
358
371
  provider.value.destroy();
359
372
  } catch {
360
373
  }
361
- ;
362
374
  provider.value = null;
363
375
  }
364
376
  client.value = null;
@@ -366,7 +378,9 @@ export default defineNuxtPlugin({
366
378
  isReady.value = false;
367
379
  synced.value = false;
368
380
  status.value = "disconnected";
369
- isConnectionBlocked.value = false;
381
+ if (identityState.value === "connectionBlocked") {
382
+ identityState.value = _identityStateBeforeBlock;
383
+ }
370
384
  connectionError.value = null;
371
385
  authFailureCount = 0;
372
386
  lastClientIds = /* @__PURE__ */ new Set();
@@ -394,9 +408,9 @@ export default defineNuxtPlugin({
394
408
  _initPromise = init(url);
395
409
  await _initPromise;
396
410
  }
397
- async function switchSpace(serverUrl, spaceDocId) {
411
+ async function switchSpace(serverUrl, spaceDocId2) {
398
412
  if (serverUrl !== currentServerUrl.value) await switchServer(serverUrl);
399
- await navigateTo(`${abraConfig.docBasePath ?? "/doc"}/${spaceDocId}`);
413
+ await navigateTo(`${abraConfig.docBasePath ?? "/doc"}/${spaceDocId2}`);
400
414
  }
401
415
  async function claimAccount() {
402
416
  if (!client.value || !keystore.value) {
@@ -416,15 +430,14 @@ export default defineNuxtPlugin({
416
430
  deviceName: "Hardware Auth (" + (navigator.platform || "Device") + ")"
417
431
  });
418
432
  publicKeyB64.value = newPubKey;
419
- isClaimed.value = true;
420
- identityLost.value = false;
433
+ identityState.value = "claimed";
421
434
  localStorage.removeItem("abracadabra_privkey");
422
435
  localStorage.setItem(CLAIMED_FLAG_KEY, "1");
423
436
  localStorage.setItem(PUBKEY_KEY, newPubKey);
424
437
  addLog("Account protected by hardware/biometrics", "auth");
425
438
  return true;
426
439
  } catch (e) {
427
- addLog(`Claim failed: ${e.message}`, "auth");
440
+ addLog(`Claim failed: ${e instanceof Error ? e.message : String(e)}`, "auth");
428
441
  throw e;
429
442
  }
430
443
  }
@@ -446,9 +459,8 @@ export default defineNuxtPlugin({
446
459
  pubKey = hasPk ? await keystore.value.getPublicKey() : null;
447
460
  }
448
461
  if (!hasPk || !pubKey) throw new Error("No passkey found on this device.");
449
- if (identityLost.value) {
450
- identityLost.value = false;
451
- isClaimed.value = true;
462
+ if (identityState.value === "identityLost") {
463
+ identityState.value = "claimed";
452
464
  localStorage.setItem(CLAIMED_FLAG_KEY, "1");
453
465
  localStorage.setItem(PUBKEY_KEY, pubKey);
454
466
  addLog("Identity recovered via hardware key \u2014 reinitializing", "auth");
@@ -462,8 +474,7 @@ export default defineNuxtPlugin({
462
474
  const oldPubKey = publicKeyB64.value;
463
475
  await client.value.loginWithKey(pubKey, (ch) => keystore.value.sign(ch));
464
476
  publicKeyB64.value = pubKey;
465
- isClaimed.value = true;
466
- needsReauth.value = false;
477
+ identityState.value = "claimed";
467
478
  localStorage.setItem(CLAIMED_FLAG_KEY, "1");
468
479
  localStorage.setItem(PUBKEY_KEY, pubKey);
469
480
  addLog("Re-authenticated via hardware key", "auth");
@@ -478,7 +489,7 @@ export default defineNuxtPlugin({
478
489
  }
479
490
  return true;
480
491
  } catch (e) {
481
- addLog(`Hardware login failed: ${e.message}`, "auth");
492
+ addLog(`Hardware login failed: ${e instanceof Error ? e.message : String(e)}`, "auth");
482
493
  throw e;
483
494
  }
484
495
  }
@@ -532,6 +543,31 @@ export default defineNuxtPlugin({
532
543
  if (!client.value) throw new Error("Not connected");
533
544
  return client.value.revokeInvite(code);
534
545
  }
546
+ async function recoverIdentity() {
547
+ if (identityState.value !== "identityLost" && identityState.value !== "needsReauth") {
548
+ return false;
549
+ }
550
+ if (keystore.value) {
551
+ try {
552
+ const hasPk = await keystore.value.hasIdentity();
553
+ if (hasPk) {
554
+ const result = await loginWithHardware();
555
+ return result;
556
+ }
557
+ } catch (e) {
558
+ addLog(`Silent passkey recovery failed: ${e instanceof Error ? e.message : String(e)}`, "auth");
559
+ }
560
+ }
561
+ return false;
562
+ }
563
+ function unblockConnection() {
564
+ authFailureCount = 0;
565
+ if (identityState.value === "connectionBlocked") {
566
+ identityState.value = _identityStateBeforeBlock;
567
+ }
568
+ connectionError.value = null;
569
+ if (_wsp) _wsp.connect();
570
+ }
535
571
  async function init(serverUrl) {
536
572
  currentServerUrl.value = serverUrl;
537
573
  addLog("Initializing Abracadabra...", "system");
@@ -555,7 +591,7 @@ export default defineNuxtPlugin({
555
591
  import("@noble/hashes/sha512")
556
592
  ]);
557
593
  setSdkModule(sdkModule);
558
- const { AbracadabraClient, AbracadabraProvider, HocuspocusProviderWebsocket, CryptoIdentityKeystore } = sdkModule;
594
+ const { AbracadabraClient, AbracadabraProvider, AbracadabraWS, CryptoIdentityKeystore } = sdkModule;
559
595
  ed.hashes.sha512 = (m) => sha512(m);
560
596
  const ks = new CryptoIdentityKeystore();
561
597
  keystore.value = ks;
@@ -569,12 +605,10 @@ export default defineNuxtPlugin({
569
605
  requirePasskeyOnLogin.value = localStorage.getItem(REQUIRE_PASSKEY_KEY) === "1";
570
606
  if (wasPreviouslyClaimed && storedPubKey) {
571
607
  pubKey = storedPubKey;
572
- isClaimed.value = true;
573
- identityLost.value = false;
608
+ identityState.value = "claimed";
574
609
  addLog("Restored claimed identity from cache", "auth");
575
610
  } else if (wasPreviouslyClaimed && !storedPubKey) {
576
- identityLost.value = true;
577
- isClaimed.value = false;
611
+ identityState.value = "identityLost";
578
612
  addLog("Previously claimed account \u2014 cached key missing, waiting for recovery", "auth");
579
613
  publicKeyB64.value = "";
580
614
  return;
@@ -584,12 +618,11 @@ export default defineNuxtPlugin({
584
618
  privKey = fromBase64Url(storedPrivKey);
585
619
  addLog("Using guest identity (soft key)", "auth");
586
620
  } else {
587
- privKey = ed.utils.randomPrivateKey();
621
+ privKey = ed.utils.randomSecretKey();
588
622
  localStorage.setItem("abracadabra_privkey", toBase64Url(privKey));
589
623
  addLog("Created new guest identity (soft key)", "auth");
590
624
  }
591
- isClaimed.value = false;
592
- identityLost.value = false;
625
+ identityState.value = "guest";
593
626
  const pubKeyBytes = ed.getPublicKey(privKey);
594
627
  pubKey = toBase64Url(pubKeyBytes);
595
628
  }
@@ -630,13 +663,12 @@ export default defineNuxtPlugin({
630
663
  const _client = new AbracadabraClient({ url: serverUrl, persistAuth, storageKey: authStorageKey });
631
664
  client.value = _client;
632
665
  addLog(`Server: ${serverUrl}`, "connection");
633
- if (_client.isAuthenticated && isClaimed.value) {
666
+ if (_client.isTokenValid() && identityState.value === "claimed") {
634
667
  addLog("Resumed session from persisted token", "auth");
635
- } else if (isClaimed.value && !requirePasskeyOnLogin.value) {
636
- needsReauth.value = true;
668
+ } else if (identityState.value === "claimed" && !requirePasskeyOnLogin.value) {
669
+ identityState.value = "needsReauth";
637
670
  addLog("Session expired \u2014 passkey sign-in available", "auth");
638
671
  } else {
639
- needsReauth.value = false;
640
672
  try {
641
673
  await _client.registerWithKey({
642
674
  publicKey: pubKey,
@@ -649,14 +681,15 @@ export default defineNuxtPlugin({
649
681
  pendingInviteCode.value = null;
650
682
  }
651
683
  } catch (e) {
652
- if (!e.message?.includes("already exists")) addLog(`Register: ${e.message}`, "auth");
684
+ const msg = e instanceof Error ? e.message : String(e);
685
+ if (!msg.includes("already exists")) addLog(`Register: ${msg}`, "auth");
653
686
  }
654
687
  try {
655
688
  const token = await _client.loginWithKey(pubKey, (ch) => signChallengeFn(ch));
656
689
  addLog("Authenticated via Ed25519 challenge-response", "auth");
657
690
  addLog(`JWT obtained (${token.slice(0, 12)}...)`, "auth");
658
691
  } catch (e) {
659
- addLog(`Login failed: ${e.message}`, "auth");
692
+ addLog(`Login failed: ${e instanceof Error ? e.message : String(e)}`, "auth");
660
693
  }
661
694
  }
662
695
  _client.updateMe({ displayName: userName.value }).catch(() => {
@@ -685,16 +718,17 @@ export default defineNuxtPlugin({
685
718
  connectionError.value = "No entry document found. Configure entryDocId or ensure the server has spaces or an index document.";
686
719
  addLog("No entry document \u2014 cannot connect", "system");
687
720
  try {
688
- const { useToast } = await import("#imports");
689
- useToast().add({ title: "Server not configured", description: "No entry document found. Set entryDocId in your abracadabra module config.", color: "error" });
721
+ const imports = await import("#imports");
722
+ imports.useToast().add({ title: "Server not configured", description: "No entry document found. Set entryDocId in your abracadabra module config.", color: "error" });
690
723
  } catch {
691
724
  }
692
725
  return;
693
726
  }
694
727
  addLog(`Using document: ${docId}`, "data");
728
+ spaceDocId.value = docId;
695
729
  const wsUrl = _client.wsUrl;
696
730
  addLog(`WebSocket: ${wsUrl}`, "connection");
697
- const wsp = new HocuspocusProviderWebsocket({
731
+ const wsp = new AbracadabraWS({
698
732
  url: wsUrl,
699
733
  delay: 1e3,
700
734
  minDelay: 1e3,
@@ -733,8 +767,8 @@ export default defineNuxtPlugin({
733
767
  if (wasConnected && !wasSynced) {
734
768
  addLog("Reconnected", "connection");
735
769
  try {
736
- import("#imports").then(({ useToast }) => {
737
- useToast().add({ title: "Reconnected", color: "success", duration: 2e3 });
770
+ import("#imports").then((imports) => {
771
+ imports.useToast().add({ title: "Reconnected", color: "success", duration: 2e3 });
738
772
  }).catch(() => {
739
773
  });
740
774
  } catch {
@@ -744,8 +778,9 @@ export default defineNuxtPlugin({
744
778
  if (!wasSynced && features.backgroundSync !== false) {
745
779
  import("@abraca/dabra").then(({ BackgroundSyncManager }) => {
746
780
  if (_client && _provider) {
747
- const manager = new BackgroundSyncManager(_client, _provider);
781
+ const manager = new BackgroundSyncManager(_provider, _client, _getFileBlobStore());
748
782
  _initBackgroundSync(manager);
783
+ manager.syncAll().catch(() => null);
749
784
  if (features.search !== false) {
750
785
  _initSearchIndex(serverUrl);
751
786
  _initFileIndex();
@@ -778,11 +813,13 @@ export default defineNuxtPlugin({
778
813
  const cutoff = Date.now() - purgeDays * 24 * 60 * 60 * 1e3;
779
814
  const expired = [];
780
815
  trashMap.forEach((val, key) => {
781
- if (val?.deletedAt < cutoff) expired.push(key);
782
- });
783
- if (expired.length) _doc.transact(() => {
784
- for (const id of expired) trashMap.delete(id);
816
+ if (val && typeof val === "object" && "deletedAt" in val && typeof val.deletedAt === "number" && val.deletedAt < cutoff) expired.push(key);
785
817
  });
818
+ if (expired.length) {
819
+ _doc.transact(() => {
820
+ for (const id of expired) trashMap.delete(id);
821
+ });
822
+ }
786
823
  }
787
824
  } catch {
788
825
  }
@@ -790,6 +827,7 @@ export default defineNuxtPlugin({
790
827
  },
791
828
  onAuthenticated({ scope }) {
792
829
  addLog(`Scope: ${scope}`, "auth");
830
+ effectiveRole.value = scope;
793
831
  connectionError.value = null;
794
832
  authFailureCount = 0;
795
833
  },
@@ -798,7 +836,8 @@ export default defineNuxtPlugin({
798
836
  const msg = reason || "Authentication failed";
799
837
  const isPermanent = /disabled|not allowed|forbidden|revoked/i.test(msg);
800
838
  if (isPermanent || authFailureCount >= AUTH_FAILURE_LIMIT) {
801
- isConnectionBlocked.value = true;
839
+ _identityStateBeforeBlock = identityState.value;
840
+ identityState.value = "connectionBlocked";
802
841
  connectionError.value = `${msg} \u2014 reconnection paused`;
803
842
  addLog(`Auth denied \u2014 pausing reconnect: ${msg}`, "auth");
804
843
  wsp.disconnect();
@@ -834,23 +873,24 @@ export default defineNuxtPlugin({
834
873
  }
835
874
  });
836
875
  _provider.setAwarenessField("user", { name: userName.value, color: userColor.value, publicKey: publicKeyB64.value });
876
+ _provider.on("unsyncedChanges", ({ number }) => {
877
+ unsyncedChanges.value = number;
878
+ });
837
879
  _provider.attach();
838
880
  provider.value = _provider;
839
881
  try {
840
882
  const { FileBlobStore } = await import("@abraca/dabra");
841
- const blobStore = new FileBlobStore(_client);
883
+ const blobStore = new FileBlobStore(serverUrl, _client);
842
884
  _initFileBlobStore(blobStore);
843
885
  } catch {
844
886
  }
845
887
  _initServerInfo(_client);
846
888
  _initNotifications(publicKeyB64);
847
889
  _initChat(publicKeyB64, userName);
848
- if (_provider.onStateless !== void 0) {
849
- _provider.onStateless = (payload) => {
850
- _handleStatelessNotification(payload);
851
- _handleStatelessChat(payload);
852
- };
853
- }
890
+ _provider.on("stateless", ({ payload }) => {
891
+ _handleStatelessNotification(payload);
892
+ _handleStatelessChat(payload);
893
+ });
854
894
  _provider.ready.then(() => {
855
895
  isReady.value = true;
856
896
  }, () => null);
@@ -863,12 +903,13 @@ export default defineNuxtPlugin({
863
903
  );
864
904
  addLog("Provider attached, connecting...", "connection");
865
905
  } catch (e) {
866
- addLog(`Error: ${e.message}`, "system");
906
+ addLog(`Error: ${e instanceof Error ? e.message : String(e)}`, "system");
867
907
  console.error("[abracadabra] init error:", e);
868
908
  }
869
909
  }
870
910
  const abra = {
871
911
  doc,
912
+ spaceDocId,
872
913
  provider,
873
914
  client,
874
915
  keystore,
@@ -883,9 +924,12 @@ export default defineNuxtPlugin({
883
924
  userCount,
884
925
  publicKeyB64,
885
926
  connectionError,
927
+ identityState,
886
928
  isClaimed,
887
929
  identityLost,
888
930
  needsReauth,
931
+ effectiveRole,
932
+ unsyncedChanges,
889
933
  requirePasskeyOnLogin,
890
934
  isConnectionBlocked,
891
935
  currentServerUrl,
@@ -915,6 +959,8 @@ export default defineNuxtPlugin({
915
959
  createInvite,
916
960
  listInvites,
917
961
  revokeInvite,
962
+ recoverIdentity,
963
+ unblockConnection,
918
964
  broadcastSyncActive: useBroadcastSync().isActive,
919
965
  init
920
966
  };
@@ -1,2 +1,2 @@
1
- declare const _default: any;
1
+ declare const _default: import("#app").Plugin<Record<string, unknown>> & import("#app").ObjectPlugin<Record<string, unknown>>;
2
2
  export default _default;
@@ -1,4 +1,5 @@
1
1
  import { shallowRef, ref, computed } from "vue";
2
+ import { defineNuxtPlugin } from "#imports";
2
3
  import { PluginRegistry } from "./plugin-registry.js";
3
4
  export default defineNuxtPlugin({
4
5
  name: "abracadabra:server-stub",
@@ -13,6 +14,7 @@ export default defineNuxtPlugin({
13
14
  nuxtApp.provide("abracadabra", {
14
15
  // CRDT objects — null on server
15
16
  doc: shallowRef(null),
17
+ spaceDocId: ref(null),
16
18
  provider: shallowRef(null),
17
19
  client: shallowRef(null),
18
20
  keystore: shallowRef(null),
@@ -1,2 +1,2 @@
1
- declare const _default: any;
1
+ declare const _default: import("#app").Plugin<Record<string, unknown>> & import("#app").ObjectPlugin<Record<string, unknown>>;
2
2
  export default _default;
@@ -1,5 +1,6 @@
1
1
  import * as Vue from "vue";
2
2
  import * as Yjs from "yjs";
3
+ import { defineNuxtPlugin } from "#imports";
3
4
  export default defineNuxtPlugin({
4
5
  name: "abracadabra:shared-globals",
5
6
  enforce: "pre",
@@ -33,7 +33,14 @@ async function loadClientExtensions() {
33
33
  { Kbd },
34
34
  { ProseIcon },
35
35
  { FileBlock },
36
- { MetaField }
36
+ { MetaField },
37
+ { DocEmbed },
38
+ { DocLinkDrop },
39
+ { MentionDrop },
40
+ { SelectionDrag },
41
+ { Field, FieldGroup },
42
+ { CodePreview },
43
+ { CodeTree }
37
44
  ] = await Promise.all([
38
45
  import("@tiptap/extension-task-list"),
39
46
  import("@tiptap/extension-task-item"),
@@ -67,10 +74,17 @@ async function loadClientExtensions() {
67
74
  import("../extensions/kbd.js"),
68
75
  import("../extensions/prose-icon.js"),
69
76
  import("../extensions/file-block.js"),
70
- import("../extensions/meta-field.js")
77
+ import("../extensions/meta-field.js"),
78
+ import("../extensions/doc-embed.js"),
79
+ import("../extensions/doc-link-drop.js"),
80
+ import("../extensions/mention-drop.js"),
81
+ import("../extensions/selection-drag.js"),
82
+ import("../extensions/field.js"),
83
+ import("../extensions/code-preview.js"),
84
+ import("../extensions/code-tree.js")
71
85
  ]);
72
86
  const lowlight = createLowlight(common);
73
- return [
87
+ const extensions = [
74
88
  TaskList,
75
89
  TaskItem.configure({ nested: true }),
76
90
  Table.configure({ resizable: true }),
@@ -112,8 +126,29 @@ async function loadClientExtensions() {
112
126
  // File block
113
127
  FileBlock,
114
128
  // Meta field chips (inline properties in documentMeta)
115
- MetaField
129
+ MetaField,
130
+ // Document embeds & linking
131
+ DocEmbed,
132
+ DocLinkDrop,
133
+ MentionDrop,
134
+ SelectionDrag,
135
+ // Structured data fields
136
+ Field,
137
+ FieldGroup,
138
+ // Advanced code blocks
139
+ CodePreview,
140
+ CodeTree
116
141
  ];
142
+ try {
143
+ const emojiPkg = "@tiptap/extension-emoji";
144
+ const { Emoji } = await import(
145
+ /* @vite-ignore */
146
+ emojiPkg
147
+ );
148
+ if (Emoji) extensions.push(Emoji);
149
+ } catch {
150
+ }
151
+ return extensions;
117
152
  }
118
153
  async function loadServerExtensions() {
119
154
  const [
@@ -136,6 +171,7 @@ async function loadServerExtensions() {
136
171
  const lowlight = createLowlight(common);
137
172
  return [
138
173
  StarterKit.configure({
174
+ // @ts-expect-error StarterKit accepts history option at runtime
139
175
  history: false,
140
176
  codeBlock: false,
141
177
  document: false
@@ -1,18 +1,20 @@
1
- /**
2
- * GET /api/_abracadabra/render/:docId
3
- *
4
- * SSR-friendly endpoint that returns document HTML + metadata.
5
- *
6
- * Strategy (fastest first):
7
- * 1. CRDT cache — if the service provider is running, documents are kept
8
- * pre-rendered in Nitro storage with 2s debounce on each update.
9
- * This path is effectively instant and always fresh.
10
- * 2. REST fallback — fetches HTML + metadata from the Abracadabra REST API.
11
- * Used when the service provider is not configured or for uncached docs.
12
- *
13
- * Usage in a Nuxt page:
14
- * const { data } = await useFetch(`/api/_abracadabra/render/${docId}`)
15
- * // data.value: { html, title, type, meta, description, ogImage, docId, source }
16
- */
17
- declare const _default: any;
1
+ declare const _default: import("h3").EventHandler<Omit<import("h3").EventHandlerRequest, "body">, Promise<{
2
+ docId: string;
3
+ html: string;
4
+ title: any;
5
+ type: any;
6
+ meta: any;
7
+ description: any;
8
+ ogImage: any;
9
+ source: "crdt-cache";
10
+ } | {
11
+ docId: string;
12
+ html: string;
13
+ title: string;
14
+ type: string;
15
+ meta: Record<string, unknown>;
16
+ description: any;
17
+ ogImage: any;
18
+ source: "rest";
19
+ }>>;
18
20
  export default _default;
@@ -1,3 +1,7 @@
1
+ import { createError, getRouterParam, getHeader } from "h3";
2
+ import { defineCachedEventHandler } from "nitropack/runtime";
3
+ import { useRuntimeConfig } from "nitropack/runtime/config";
4
+ import { useStorage } from "nitropack/runtime/storage";
1
5
  function extractFirstParagraph(html) {
2
6
  if (!html) return "";
3
7
  const pMatch = html.match(/<p[^>]*>(.*?)<\/p>/is);
@@ -1,2 +1,12 @@
1
- declare const _default: any;
1
+ declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<{
2
+ docId: string;
3
+ slug: string;
4
+ html: string;
5
+ title: any;
6
+ type: any;
7
+ meta: any;
8
+ description: any;
9
+ ogImage: any;
10
+ source: "none" | "crdt-cache";
11
+ }>>;
2
12
  export default _default;
@@ -1,3 +1,4 @@
1
+ import { defineEventHandler, getRouterParam, createError } from "h3";
1
2
  import { getDocIdFromSlug } from "../../../utils/slugMap.js";
2
3
  import { getCachedHTML, getCachedJSON } from "../../../utils/docCache.js";
3
4
  function extractFirstParagraph(html) {
@@ -1,4 +1,5 @@
1
1
  import { getSlugMapData } from "../../utils/slugMap.js";
2
+ import { defineCachedEventHandler } from "#imports";
2
3
  export default defineCachedEventHandler(async () => {
3
4
  return getSlugMapData();
4
5
  }, {
@@ -1,11 +1,2 @@
1
- /**
2
- * GET /api/_abracadabra/spaces
3
- *
4
- * Proxies the Abracadabra REST space list endpoint.
5
- * Enables app devs to server-side render space navigation.
6
- *
7
- * Usage:
8
- * const { data } = await useFetch('/api/_abracadabra/spaces')
9
- */
10
- declare const _default: any;
1
+ declare const _default: import("h3").EventHandler<Omit<import("h3").EventHandlerRequest, "body">, Promise<never[] | unknown[]>>;
11
2
  export default _default;
@@ -1,3 +1,6 @@
1
+ import { createError, getHeader } from "h3";
2
+ import { defineCachedEventHandler } from "nitropack/runtime";
3
+ import { useRuntimeConfig } from "nitropack/runtime/config";
1
4
  export default defineCachedEventHandler(async (event) => {
2
5
  const config = useRuntimeConfig();
3
6
  const baseUrl = config.public?.abracadabra?.url;