@arbidocs/blocks 0.5.91 → 0.5.92

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 (238) hide show
  1. package/dist/{ConnectedCallDock-PJE7EZ6T.js → ConnectedCallDock-H5ABOXNR.js} +13 -13
  2. package/dist/{ConnectedCallDock-PJE7EZ6T.js.map → ConnectedCallDock-H5ABOXNR.js.map} +1 -1
  3. package/dist/{ConnectedCallDock-ZRSZYSLO.cjs → ConnectedCallDock-XF56C2JA.cjs} +22 -22
  4. package/dist/{ConnectedCallDock-ZRSZYSLO.cjs.map → ConnectedCallDock-XF56C2JA.cjs.map} +1 -1
  5. package/dist/{ConnectedCallRoom-XK2RPNO6.cjs → ConnectedCallRoom-EEI2ZVTS.cjs} +14 -14
  6. package/dist/{ConnectedCallRoom-XK2RPNO6.cjs.map → ConnectedCallRoom-EEI2ZVTS.cjs.map} +1 -1
  7. package/dist/{ConnectedCallRoom-S7DO2MP6.js → ConnectedCallRoom-N6DUEV4S.js} +13 -13
  8. package/dist/{ConnectedCallRoom-S7DO2MP6.js.map → ConnectedCallRoom-N6DUEV4S.js.map} +1 -1
  9. package/dist/{ConnectedMailInviteCard-YYPLRL6G.js → ConnectedMailInviteCard-2TXUPVV7.js} +4 -4
  10. package/dist/{ConnectedMailInviteCard-YYPLRL6G.js.map → ConnectedMailInviteCard-2TXUPVV7.js.map} +1 -1
  11. package/dist/{ConnectedMailInviteCard-OBDYWUFM.cjs → ConnectedMailInviteCard-RSNELYZX.cjs} +5 -5
  12. package/dist/{ConnectedMailInviteCard-OBDYWUFM.cjs.map → ConnectedMailInviteCard-RSNELYZX.cjs.map} +1 -1
  13. package/dist/{ConnectedNativeDocxComparison-2RIERXLW.js → ConnectedNativeDocxComparison-P6GG3ODF.js} +18 -18
  14. package/dist/ConnectedNativeDocxComparison-P6GG3ODF.js.map +1 -0
  15. package/dist/{ConnectedNativeDocxComparison-46C7LYGT.cjs → ConnectedNativeDocxComparison-QHAV3K7N.cjs} +19 -19
  16. package/dist/ConnectedNativeDocxComparison-QHAV3K7N.cjs.map +1 -0
  17. package/dist/{ConnectedNativeDocxEditor-6XMB2XT7.cjs → ConnectedNativeDocxEditor-6HQD3MHT.cjs} +19 -19
  18. package/dist/ConnectedNativeDocxEditor-6HQD3MHT.cjs.map +1 -0
  19. package/dist/{ConnectedNativeDocxEditor-K6X63CPL.js → ConnectedNativeDocxEditor-CWDRJHXN.js} +17 -17
  20. package/dist/ConnectedNativeDocxEditor-CWDRJHXN.js.map +1 -0
  21. package/dist/{ConnectedProductionSetDialog-JXQLGDIH.js → ConnectedProductionSetDialog-2SM3ZNBF.js} +3 -3
  22. package/dist/{ConnectedProductionSetDialog-JXQLGDIH.js.map → ConnectedProductionSetDialog-2SM3ZNBF.js.map} +1 -1
  23. package/dist/{ConnectedProductionSetDialog-T3Q32XPJ.cjs → ConnectedProductionSetDialog-XNGMUGB6.cjs} +3 -3
  24. package/dist/{ConnectedProductionSetDialog-T3Q32XPJ.cjs.map → ConnectedProductionSetDialog-XNGMUGB6.cjs.map} +1 -1
  25. package/dist/{ConnectedStreamedWordArtifact-6UMLSR3G.js → ConnectedStreamedWordArtifact-4SU4FVZE.js} +18 -18
  26. package/dist/ConnectedStreamedWordArtifact-4SU4FVZE.js.map +1 -0
  27. package/dist/{ConnectedStreamedWordArtifact-GFFLCGF7.cjs → ConnectedStreamedWordArtifact-5V7VRTEY.cjs} +19 -19
  28. package/dist/ConnectedStreamedWordArtifact-5V7VRTEY.cjs.map +1 -0
  29. package/dist/{DocumentReviewCard-SAKLHM4Y.js → DocumentReviewCard-LP33IGEL.js} +18 -18
  30. package/dist/{DocumentReviewCard-SAKLHM4Y.js.map → DocumentReviewCard-LP33IGEL.js.map} +1 -1
  31. package/dist/{DocumentReviewCard-XGYMO5YS.cjs → DocumentReviewCard-QV3CM7YP.cjs} +23 -23
  32. package/dist/{DocumentReviewCard-XGYMO5YS.cjs.map → DocumentReviewCard-QV3CM7YP.cjs.map} +1 -1
  33. package/dist/{FilesViewerDialog-HNBRY7RQ.js → FilesViewerDialog-FZYXO3MS.js} +29 -29
  34. package/dist/{FilesViewerDialog-HNBRY7RQ.js.map → FilesViewerDialog-FZYXO3MS.js.map} +1 -1
  35. package/dist/{FilesViewerDialog-3C6JUMVS.cjs → FilesViewerDialog-JKNA25Q3.cjs} +31 -31
  36. package/dist/{FilesViewerDialog-3C6JUMVS.cjs.map → FilesViewerDialog-JKNA25Q3.cjs.map} +1 -1
  37. package/dist/{WorkspaceTableView-DFN4WGRI.js → WorkspaceTableView-IFXCT6AJ.js} +10 -10
  38. package/dist/{WorkspaceTableView-DFN4WGRI.js.map → WorkspaceTableView-IFXCT6AJ.js.map} +1 -1
  39. package/dist/{WorkspaceTableView-UOP3EB2F.cjs → WorkspaceTableView-PZVCHSOP.cjs} +12 -12
  40. package/dist/{WorkspaceTableView-UOP3EB2F.cjs.map → WorkspaceTableView-PZVCHSOP.cjs.map} +1 -1
  41. package/dist/agents/index.cjs +353 -353
  42. package/dist/agents/index.js +14 -14
  43. package/dist/calendar/index.cjs +116 -116
  44. package/dist/calendar/index.js +1 -1
  45. package/dist/calls/index.cjs +154 -154
  46. package/dist/calls/index.js +13 -13
  47. package/dist/chat/index.cjs +18 -18
  48. package/dist/chat/index.js +2 -2
  49. package/dist/{chunk-B7RAN4DM.js → chunk-26RAAEFP.js} +3 -3
  50. package/dist/{chunk-B7RAN4DM.js.map → chunk-26RAAEFP.js.map} +1 -1
  51. package/dist/{chunk-GUGSUCIK.js → chunk-2A5QNDV2.js} +3 -3
  52. package/dist/{chunk-GUGSUCIK.js.map → chunk-2A5QNDV2.js.map} +1 -1
  53. package/dist/{chunk-WWMVVAA5.js → chunk-2AEWXS4X.js} +8 -8
  54. package/dist/{chunk-WWMVVAA5.js.map → chunk-2AEWXS4X.js.map} +1 -1
  55. package/dist/{chunk-HMS3GRMI.cjs → chunk-2Q7LETQX.cjs} +6 -6
  56. package/dist/{chunk-HMS3GRMI.cjs.map → chunk-2Q7LETQX.cjs.map} +1 -1
  57. package/dist/{chunk-OZS7THEB.js → chunk-2RDH5PVJ.js} +3 -3
  58. package/dist/{chunk-OZS7THEB.js.map → chunk-2RDH5PVJ.js.map} +1 -1
  59. package/dist/{chunk-6XOHTWDR.cjs → chunk-2XTU5H2U.cjs} +69 -69
  60. package/dist/{chunk-6XOHTWDR.cjs.map → chunk-2XTU5H2U.cjs.map} +1 -1
  61. package/dist/{chunk-JIFXHVO4.js → chunk-3BSFHBHY.js} +4 -4
  62. package/dist/{chunk-JIFXHVO4.js.map → chunk-3BSFHBHY.js.map} +1 -1
  63. package/dist/{chunk-SK6BAW7L.js → chunk-46IG4KY7.js} +103 -104
  64. package/dist/chunk-46IG4KY7.js.map +1 -0
  65. package/dist/{chunk-BLAWERIU.cjs → chunk-4P553YX2.cjs} +36 -36
  66. package/dist/{chunk-BLAWERIU.cjs.map → chunk-4P553YX2.cjs.map} +1 -1
  67. package/dist/{chunk-UAF2J7P7.cjs → chunk-5HEMXXHR.cjs} +103 -104
  68. package/dist/chunk-5HEMXXHR.cjs.map +1 -0
  69. package/dist/{chunk-A4MBPDLX.cjs → chunk-5S52732U.cjs} +6 -6
  70. package/dist/{chunk-A4MBPDLX.cjs.map → chunk-5S52732U.cjs.map} +1 -1
  71. package/dist/{chunk-4RFNQRUD.js → chunk-5SUIQS75.js} +16 -16
  72. package/dist/{chunk-4RFNQRUD.js.map → chunk-5SUIQS75.js.map} +1 -1
  73. package/dist/{chunk-Y2FPWPDB.js → chunk-5XB3H2TJ.js} +3 -3
  74. package/dist/{chunk-Y2FPWPDB.js.map → chunk-5XB3H2TJ.js.map} +1 -1
  75. package/dist/{chunk-NZQZ2HFU.cjs → chunk-64KZM3RZ.cjs} +3 -3
  76. package/dist/{chunk-NZQZ2HFU.cjs.map → chunk-64KZM3RZ.cjs.map} +1 -1
  77. package/dist/{chunk-YIJ4MFYM.js → chunk-6U6IY7DB.js} +3 -3
  78. package/dist/{chunk-YIJ4MFYM.js.map → chunk-6U6IY7DB.js.map} +1 -1
  79. package/dist/{chunk-K6UKLIRR.js → chunk-AS3HX7LL.js} +3 -3
  80. package/dist/{chunk-K6UKLIRR.js.map → chunk-AS3HX7LL.js.map} +1 -1
  81. package/dist/{chunk-LBRJA4ZJ.cjs → chunk-AZVKR4JO.cjs} +3 -3
  82. package/dist/{chunk-LBRJA4ZJ.cjs.map → chunk-AZVKR4JO.cjs.map} +1 -1
  83. package/dist/{chunk-RIBQCTBQ.js → chunk-B2NHC2KC.js} +3 -3
  84. package/dist/{chunk-RIBQCTBQ.js.map → chunk-B2NHC2KC.js.map} +1 -1
  85. package/dist/{chunk-IXA534S4.js → chunk-BCYFZIG6.js} +13 -13
  86. package/dist/{chunk-IXA534S4.js.map → chunk-BCYFZIG6.js.map} +1 -1
  87. package/dist/{chunk-VJLW3UPL.cjs → chunk-BDTPWXUW.cjs} +7 -7
  88. package/dist/{chunk-VJLW3UPL.cjs.map → chunk-BDTPWXUW.cjs.map} +1 -1
  89. package/dist/{chunk-EXZPKMMP.js → chunk-BSTVTI5G.js} +14 -14
  90. package/dist/{chunk-EXZPKMMP.js.map → chunk-BSTVTI5G.js.map} +1 -1
  91. package/dist/{chunk-OTODKLR3.cjs → chunk-C5CWKZ5D.cjs} +3 -3
  92. package/dist/{chunk-OTODKLR3.cjs.map → chunk-C5CWKZ5D.cjs.map} +1 -1
  93. package/dist/{chunk-LPGBRMYS.js → chunk-CHQMVIHR.js} +36 -36
  94. package/dist/chunk-CHQMVIHR.js.map +1 -0
  95. package/dist/{chunk-Z6NX57CU.js → chunk-CPOFZYKH.js} +4 -4
  96. package/dist/{chunk-Z6NX57CU.js.map → chunk-CPOFZYKH.js.map} +1 -1
  97. package/dist/{chunk-Q4ORI364.cjs → chunk-DBGN4M4F.cjs} +19 -19
  98. package/dist/{chunk-Q4ORI364.cjs.map → chunk-DBGN4M4F.cjs.map} +1 -1
  99. package/dist/{chunk-3TECBO75.cjs → chunk-DCYVHUSU.cjs} +54 -54
  100. package/dist/{chunk-3TECBO75.cjs.map → chunk-DCYVHUSU.cjs.map} +1 -1
  101. package/dist/{chunk-PZXEXHKB.cjs → chunk-DIE5ENQC.cjs} +28 -28
  102. package/dist/{chunk-PZXEXHKB.cjs.map → chunk-DIE5ENQC.cjs.map} +1 -1
  103. package/dist/{chunk-TVLY7FTU.js → chunk-DW7LSBIW.js} +3 -3
  104. package/dist/{chunk-TVLY7FTU.js.map → chunk-DW7LSBIW.js.map} +1 -1
  105. package/dist/{chunk-RCOJ7JG5.cjs → chunk-EBNY3RTL.cjs} +4 -4
  106. package/dist/{chunk-RCOJ7JG5.cjs.map → chunk-EBNY3RTL.cjs.map} +1 -1
  107. package/dist/{chunk-FEBLYTME.js → chunk-ER36PSS7.js} +5 -5
  108. package/dist/{chunk-FEBLYTME.js.map → chunk-ER36PSS7.js.map} +1 -1
  109. package/dist/{chunk-VIRQYEFL.cjs → chunk-F5T4W2R2.cjs} +140 -140
  110. package/dist/chunk-F5T4W2R2.cjs.map +1 -0
  111. package/dist/{chunk-RQNNHO44.cjs → chunk-GE2O6S44.cjs} +4 -4
  112. package/dist/{chunk-RQNNHO44.cjs.map → chunk-GE2O6S44.cjs.map} +1 -1
  113. package/dist/{chunk-4UMSQ67B.js → chunk-H57PBOFE.js} +3 -3
  114. package/dist/{chunk-4UMSQ67B.js.map → chunk-H57PBOFE.js.map} +1 -1
  115. package/dist/{chunk-7OPOPYV6.cjs → chunk-H5OLHP2U.cjs} +3 -3
  116. package/dist/{chunk-7OPOPYV6.cjs.map → chunk-H5OLHP2U.cjs.map} +1 -1
  117. package/dist/{chunk-VK5Q5JXU.cjs → chunk-HDPT7D6F.cjs} +3 -3
  118. package/dist/{chunk-VK5Q5JXU.cjs.map → chunk-HDPT7D6F.cjs.map} +1 -1
  119. package/dist/{chunk-HU7MB33Q.js → chunk-HLVLPDDD.js} +3 -3
  120. package/dist/{chunk-HU7MB33Q.js.map → chunk-HLVLPDDD.js.map} +1 -1
  121. package/dist/{chunk-CLPDKHSP.cjs → chunk-HYDIQEDT.cjs} +12 -12
  122. package/dist/{chunk-CLPDKHSP.cjs.map → chunk-HYDIQEDT.cjs.map} +1 -1
  123. package/dist/{chunk-HUE76NAI.cjs → chunk-I6SPGHFY.cjs} +2 -2
  124. package/dist/{chunk-HUE76NAI.cjs.map → chunk-I6SPGHFY.cjs.map} +1 -1
  125. package/dist/{chunk-M6XUGXCY.cjs → chunk-IHJ7BEI5.cjs} +741 -741
  126. package/dist/chunk-IHJ7BEI5.cjs.map +1 -0
  127. package/dist/{chunk-WLQAD6ZY.js → chunk-IL6OWGAU.js} +744 -744
  128. package/dist/chunk-IL6OWGAU.js.map +1 -0
  129. package/dist/{chunk-KXRGVY3M.cjs → chunk-ILLWGL7Q.cjs} +4 -4
  130. package/dist/{chunk-KXRGVY3M.cjs.map → chunk-ILLWGL7Q.cjs.map} +1 -1
  131. package/dist/{chunk-WFNEZT7S.cjs → chunk-IOCEKN44.cjs} +4 -4
  132. package/dist/{chunk-WFNEZT7S.cjs.map → chunk-IOCEKN44.cjs.map} +1 -1
  133. package/dist/{chunk-MFEJKCCZ.js → chunk-JGA2JJEL.js} +3 -3
  134. package/dist/{chunk-MFEJKCCZ.js.map → chunk-JGA2JJEL.js.map} +1 -1
  135. package/dist/{chunk-UCQ3VXRB.js → chunk-JM7Z3QNS.js} +5 -5
  136. package/dist/{chunk-UCQ3VXRB.js.map → chunk-JM7Z3QNS.js.map} +1 -1
  137. package/dist/{chunk-3KNKAZ5D.cjs → chunk-K3C4WECV.cjs} +5 -5
  138. package/dist/{chunk-3KNKAZ5D.cjs.map → chunk-K3C4WECV.cjs.map} +1 -1
  139. package/dist/{chunk-DGG35TPO.cjs → chunk-KB2FH26M.cjs} +4 -4
  140. package/dist/{chunk-DGG35TPO.cjs.map → chunk-KB2FH26M.cjs.map} +1 -1
  141. package/dist/{chunk-MB3IQLNN.cjs → chunk-L4USMBHU.cjs} +18 -18
  142. package/dist/chunk-L4USMBHU.cjs.map +1 -0
  143. package/dist/{chunk-XIEX3HO3.js → chunk-L4YGZJYR.js} +3 -3
  144. package/dist/{chunk-XIEX3HO3.js.map → chunk-L4YGZJYR.js.map} +1 -1
  145. package/dist/{chunk-KNC77LZZ.cjs → chunk-LMOLE5PS.cjs} +3 -3
  146. package/dist/{chunk-KNC77LZZ.cjs.map → chunk-LMOLE5PS.cjs.map} +1 -1
  147. package/dist/{chunk-PYLG3M6G.js → chunk-LTRFQ2IC.js} +2 -2
  148. package/dist/{chunk-PYLG3M6G.js.map → chunk-LTRFQ2IC.js.map} +1 -1
  149. package/dist/{chunk-636KUL53.js → chunk-NSJUMOLN.js} +5 -5
  150. package/dist/{chunk-636KUL53.js.map → chunk-NSJUMOLN.js.map} +1 -1
  151. package/dist/{chunk-7SJXYEZI.cjs → chunk-OAIOOVFN.cjs} +36 -36
  152. package/dist/chunk-OAIOOVFN.cjs.map +1 -0
  153. package/dist/{chunk-FKPFKSDT.js → chunk-PA2I7GLY.js} +6 -6
  154. package/dist/{chunk-FKPFKSDT.js.map → chunk-PA2I7GLY.js.map} +1 -1
  155. package/dist/{chunk-4KARJ4CC.js → chunk-PCAWLVHE.js} +3 -3
  156. package/dist/{chunk-4KARJ4CC.js.map → chunk-PCAWLVHE.js.map} +1 -1
  157. package/dist/{chunk-7QDLONHA.js → chunk-PPFTNP6J.js} +11 -11
  158. package/dist/chunk-PPFTNP6J.js.map +1 -0
  159. package/dist/{chunk-2FPBFLOX.cjs → chunk-Q4X5RK4A.cjs} +9 -3
  160. package/dist/chunk-Q4X5RK4A.cjs.map +1 -0
  161. package/dist/{chunk-4VUKYB32.cjs → chunk-Q5TOUT2C.cjs} +4 -4
  162. package/dist/{chunk-4VUKYB32.cjs.map → chunk-Q5TOUT2C.cjs.map} +1 -1
  163. package/dist/{chunk-DU3H4WC6.cjs → chunk-QIEUKIBH.cjs} +4 -4
  164. package/dist/{chunk-DU3H4WC6.cjs.map → chunk-QIEUKIBH.cjs.map} +1 -1
  165. package/dist/{chunk-5YBH5CQD.cjs → chunk-QJNHVQUQ.cjs} +26 -26
  166. package/dist/{chunk-5YBH5CQD.cjs.map → chunk-QJNHVQUQ.cjs.map} +1 -1
  167. package/dist/{chunk-C33VIPE2.js → chunk-QZ6XGYGW.js} +9 -3
  168. package/dist/chunk-QZ6XGYGW.js.map +1 -0
  169. package/dist/{chunk-YRVE6RX5.cjs → chunk-RB6MAAS7.cjs} +4 -4
  170. package/dist/{chunk-YRVE6RX5.cjs.map → chunk-RB6MAAS7.cjs.map} +1 -1
  171. package/dist/{chunk-KPD7WAXP.js → chunk-S6QBLVPP.js} +3 -3
  172. package/dist/{chunk-KPD7WAXP.js.map → chunk-S6QBLVPP.js.map} +1 -1
  173. package/dist/{chunk-TIQZ7CXZ.js → chunk-SOLSDXOZ.js} +83 -83
  174. package/dist/chunk-SOLSDXOZ.js.map +1 -0
  175. package/dist/{chunk-ZZE3ORJS.js → chunk-SOZIHPO2.js} +3 -3
  176. package/dist/{chunk-ZZE3ORJS.js.map → chunk-SOZIHPO2.js.map} +1 -1
  177. package/dist/{chunk-TSP5JJ56.js → chunk-VUXWBUZ7.js} +11 -11
  178. package/dist/{chunk-TSP5JJ56.js.map → chunk-VUXWBUZ7.js.map} +1 -1
  179. package/dist/{chunk-NZ26UYEQ.cjs → chunk-VWX36C4Y.cjs} +67 -67
  180. package/dist/{chunk-NZ26UYEQ.cjs.map → chunk-VWX36C4Y.cjs.map} +1 -1
  181. package/dist/{chunk-YACOI5ZU.cjs → chunk-WA2U4G43.cjs} +62 -62
  182. package/dist/{chunk-YACOI5ZU.cjs.map → chunk-WA2U4G43.cjs.map} +1 -1
  183. package/dist/{chunk-PSJAFPMH.js → chunk-WLWZAS7J.js} +4 -4
  184. package/dist/{chunk-PSJAFPMH.js.map → chunk-WLWZAS7J.js.map} +1 -1
  185. package/dist/{chunk-GNKQVCMW.cjs → chunk-WVEYUH6C.cjs} +6 -6
  186. package/dist/{chunk-GNKQVCMW.cjs.map → chunk-WVEYUH6C.cjs.map} +1 -1
  187. package/dist/{chunk-2F65OOU3.js → chunk-YB2P5Y52.js} +7 -7
  188. package/dist/{chunk-2F65OOU3.js.map → chunk-YB2P5Y52.js.map} +1 -1
  189. package/dist/collaboration/index.cjs +1 -1
  190. package/dist/collaboration/index.js +1 -1
  191. package/dist/connect/docx.cjs +22 -22
  192. package/dist/connect/docx.js +18 -18
  193. package/dist/connect/index.cjs +1176 -1176
  194. package/dist/connect/index.js +87 -87
  195. package/dist/connect/viewer.cjs +28 -28
  196. package/dist/connect/viewer.js +27 -27
  197. package/dist/dashboards/index.cjs +1 -1
  198. package/dist/dashboards/index.js +1 -1
  199. package/dist/embed/index.cjs +42 -42
  200. package/dist/embed/index.js +36 -36
  201. package/dist/facts/index.cjs +44 -44
  202. package/dist/facts/index.js +3 -3
  203. package/dist/files/index.cjs +226 -226
  204. package/dist/files/index.js +5 -5
  205. package/dist/index.cjs +1631 -1631
  206. package/dist/index.js +47 -47
  207. package/dist/settings/index.cjs +153 -153
  208. package/dist/settings/index.js +4 -4
  209. package/dist/shell/Sidebar.d.ts +4 -2
  210. package/dist/shell/index.cjs +89 -89
  211. package/dist/shell/index.js +10 -10
  212. package/dist/shell/use-sidebar-controller.d.ts +3 -3
  213. package/dist/studio/index.cjs +18 -18
  214. package/dist/studio/index.js +15 -15
  215. package/dist/workflow-canvas/index.cjs +66 -66
  216. package/dist/workflow-canvas/index.js +42 -42
  217. package/dist/workspaces/index.cjs +20 -20
  218. package/dist/workspaces/index.js +3 -3
  219. package/node_modules/@arbidocs/coedit/package.json +1 -1
  220. package/package.json +5 -5
  221. package/dist/ConnectedNativeDocxComparison-2RIERXLW.js.map +0 -1
  222. package/dist/ConnectedNativeDocxComparison-46C7LYGT.cjs.map +0 -1
  223. package/dist/ConnectedNativeDocxEditor-6XMB2XT7.cjs.map +0 -1
  224. package/dist/ConnectedNativeDocxEditor-K6X63CPL.js.map +0 -1
  225. package/dist/ConnectedStreamedWordArtifact-6UMLSR3G.js.map +0 -1
  226. package/dist/ConnectedStreamedWordArtifact-GFFLCGF7.cjs.map +0 -1
  227. package/dist/chunk-2FPBFLOX.cjs.map +0 -1
  228. package/dist/chunk-7QDLONHA.js.map +0 -1
  229. package/dist/chunk-7SJXYEZI.cjs.map +0 -1
  230. package/dist/chunk-C33VIPE2.js.map +0 -1
  231. package/dist/chunk-LPGBRMYS.js.map +0 -1
  232. package/dist/chunk-M6XUGXCY.cjs.map +0 -1
  233. package/dist/chunk-MB3IQLNN.cjs.map +0 -1
  234. package/dist/chunk-SK6BAW7L.js.map +0 -1
  235. package/dist/chunk-TIQZ7CXZ.js.map +0 -1
  236. package/dist/chunk-UAF2J7P7.cjs.map +0 -1
  237. package/dist/chunk-VIRQYEFL.cjs.map +0 -1
  238. package/dist/chunk-WLQAD6ZY.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkHUE76NAI_cjs = require('./chunk-HUE76NAI.cjs');
4
+ var chunkI6SPGHFY_cjs = require('./chunk-I6SPGHFY.cjs');
5
5
  var chunkQUMUAJ2P_cjs = require('./chunk-QUMUAJ2P.cjs');
6
6
  var chunkUIXY4HKM_cjs = require('./chunk-UIXY4HKM.cjs');
7
7
  var react$1 = require('react');
@@ -24,11 +24,11 @@ function ConnectedMailInviteCard({
24
24
  onOpenEvent
25
25
  }) {
26
26
  const { notify } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
27
- const part = attachments.find(chunkHUE76NAI_cjs.isCalendarAttachment);
27
+ const part = attachments.find(chunkI6SPGHFY_cjs.isCalendarAttachment);
28
28
  const { data: settings } = react.useCalendarSettings(!!part);
29
29
  const zone = chunkQUMUAJ2P_cjs.safeZone(settings?.time_zone, chunkQUMUAJ2P_cjs.detectTimeZone());
30
30
  const { data: ics } = react.useMailAttachmentText(accountId, messageId, part, { enabled: isOnline });
31
- const invite = ics ? chunkHUE76NAI_cjs.parseIcsInvite(ics, zone) : null;
31
+ const invite = ics ? chunkI6SPGHFY_cjs.parseIcsInvite(ics, zone) : null;
32
32
  const lookup = react.useCalendarEventByUid(invite?.uid && invite.method !== "REPLY" ? invite.uid : null);
33
33
  const respond = react.useRespondToEvent();
34
34
  const [partstat, setPartstat] = react$1.useState(null);
@@ -36,7 +36,7 @@ function ConnectedMailInviteCard({
36
36
  react$1.useEffect(() => setPartstat(event?.my_partstat ?? null), [event?.my_partstat]);
37
37
  if (!part || !invite) return null;
38
38
  const cancelled = invite.method === "CANCEL" || invite.status === "CANCELLED";
39
- const when = invite.startUtc && invite.endUtc ? chunkHUE76NAI_cjs.formatEventWhen(
39
+ const when = invite.startUtc && invite.endUtc ? chunkI6SPGHFY_cjs.formatEventWhen(
40
40
  {
41
41
  all_day: invite.allDay,
42
42
  start_utc: invite.startUtc,
@@ -132,5 +132,5 @@ function ConnectedMailInviteCard({
132
132
  }
133
133
 
134
134
  exports.ConnectedMailInviteCard = ConnectedMailInviteCard;
135
- //# sourceMappingURL=chunk-GNKQVCMW.cjs.map
136
- //# sourceMappingURL=chunk-GNKQVCMW.cjs.map
135
+ //# sourceMappingURL=chunk-WVEYUH6C.cjs.map
136
+ //# sourceMappingURL=chunk-WVEYUH6C.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/connection/calendar/ConnectedMailInviteCard.tsx"],"names":["useBlocksEnvironment","isCalendarAttachment","useCalendarSettings","safeZone","detectTimeZone","useMailAttachmentText","parseIcsInvite","useCalendarEventByUid","useRespondToEvent","useState","useEffect","formatEventWhen","isQueuedCalendarWrite","jsxs","jsx","CalendarDays","cn","Fragment","Button"],"mappings":"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","file":"chunk-GNKQVCMW.cjs","sourcesContent":["/**\n * Invitation card in the Mail message view: when the message carries an iCalendar part, show the event\n * (parsed client-side) and, if it is in my calendar (GET /lookup?uid=), Accept / Maybe / Decline and\n * Open in calendar. Self-contained so the mail view only mounts it.\n */\nimport { useEffect, useState } from 'react'\nimport { CalendarDays } from 'lucide-react'\nimport { Button, cn } from '@arbidocs/react/ui'\nimport {\n isQueuedCalendarWrite,\n useCalendarEventByUid,\n useCalendarSettings,\n useMailAttachmentText,\n useRespondToEvent,\n type MailAttachment,\n} from '@arbidocs/react'\nimport {\n detectTimeZone,\n formatEventWhen,\n isCalendarAttachment,\n parseIcsInvite,\n safeZone,\n} from '../../calendar'\nimport { useBlocksEnvironment } from '../../provider/environment'\n\nexport interface ConnectedMailInviteCardProps {\n accountId: string\n messageId: string\n attachments: MailAttachment[]\n isOnline: boolean\n /** Open the event in the host's calendar (\"Open in calendar\"); without it the button is hidden. */\n onOpenEvent?: (event: { id: string }) => void\n}\n\nconst PARTSTAT_TEXT: Record<string, string> = {\n accepted: 'You accepted',\n declined: 'You declined',\n tentative: 'You said maybe',\n needs_action: 'Not answered yet',\n}\n\nexport function ConnectedMailInviteCard({\n accountId,\n messageId,\n attachments,\n isOnline,\n onOpenEvent,\n}: ConnectedMailInviteCardProps) {\n const { notify } = useBlocksEnvironment()\n const part = attachments.find(isCalendarAttachment)\n const { data: settings } = useCalendarSettings(!!part)\n const zone = safeZone(settings?.time_zone, detectTimeZone())\n const { data: ics } = useMailAttachmentText(accountId, messageId, part, { enabled: isOnline })\n const invite = ics ? parseIcsInvite(ics, zone) : null\n const lookup = useCalendarEventByUid(invite?.uid && invite.method !== 'REPLY' ? invite.uid : null)\n const respond = useRespondToEvent()\n const [partstat, setPartstat] = useState<string | null>(null)\n const event = lookup.data ?? null\n useEffect(() => setPartstat(event?.my_partstat ?? null), [event?.my_partstat])\n\n if (!part || !invite) return null\n const cancelled = invite.method === 'CANCEL' || invite.status === 'CANCELLED'\n const when =\n invite.startUtc && invite.endUtc\n ? formatEventWhen(\n {\n all_day: invite.allDay,\n start_utc: invite.startUtc,\n end_utc: invite.endUtc,\n start: { date: invite.startDate },\n end: { date: invite.endDate },\n },\n zone\n )\n : ''\n const canRespond = !!event && !event.is_organizer && event.my_partstat != null && !cancelled\n\n const answer = (p: 'accepted' | 'tentative' | 'declined') =>\n event &&\n respond.mutate(\n { id: event.id, partstat: p },\n {\n onSuccess: (updated) =>\n setPartstat(isQueuedCalendarWrite(updated) ? p : (updated.my_partstat ?? p)),\n onError: (err) => notify(`Could not send your response: ${err.message}`, 'error'),\n }\n )\n\n return (\n <div\n className=\"mb-4 flex gap-3 rounded-lg border border-border bg-muted/20 p-3\"\n data-testid=\"mail-invite-card\"\n >\n <CalendarDays className=\"mt-0.5 size-5 shrink-0 text-primary\" aria-hidden />\n <div className=\"min-w-0 flex-1 space-y-1.5\">\n <div\n className={cn('font-medium', cancelled && 'line-through')}\n data-testid=\"mail-invite-title\"\n >\n {invite.title || 'Untitled event'}\n </div>\n <div className=\"text-sm text-muted-foreground\">{when}</div>\n {invite.location && <div className=\"text-sm text-muted-foreground\">{invite.location}</div>}\n {invite.organizer && (\n <div className=\"text-xs text-muted-foreground\">\n Organiser: {invite.organizer.name || invite.organizer.email}\n </div>\n )}\n {cancelled && <div className=\"text-sm text-destructive\">This event was cancelled.</div>}\n {invite.method === 'REPLY' && (\n <div className=\"text-sm text-muted-foreground\">A guest replied to your invitation.</div>\n )}\n {!cancelled && invite.method !== 'REPLY' && !lookup.isLoading && !event && isOnline && (\n <div className=\"text-xs text-muted-foreground\">Not in your calendar yet.</div>\n )}\n {canRespond && partstat && (\n <div className=\"text-xs text-muted-foreground\" data-testid=\"mail-invite-status\">\n {PARTSTAT_TEXT[partstat] ?? partstat}\n </div>\n )}\n <div className=\"flex flex-wrap gap-1.5 pt-1\">\n {canRespond && (\n <>\n <Button\n size=\"sm\"\n variant={partstat === 'accepted' ? 'default' : 'outline'}\n disabled={!isOnline || respond.isPending}\n onClick={() => answer('accepted')}\n data-testid=\"mail-invite-accept\"\n >\n Accept\n </Button>\n <Button\n size=\"sm\"\n variant={partstat === 'tentative' ? 'default' : 'outline'}\n disabled={!isOnline || respond.isPending}\n onClick={() => answer('tentative')}\n >\n Maybe\n </Button>\n <Button\n size=\"sm\"\n variant={partstat === 'declined' ? 'default' : 'outline'}\n disabled={!isOnline || respond.isPending}\n onClick={() => answer('declined')}\n >\n Decline\n </Button>\n </>\n )}\n {event && onOpenEvent && (\n <Button\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => onOpenEvent({ id: event.id })}\n data-testid=\"mail-invite-open\"\n >\n Open in calendar\n </Button>\n )}\n </div>\n </div>\n </div>\n )\n}\n"]}
1
+ {"version":3,"sources":["../src/connection/calendar/ConnectedMailInviteCard.tsx"],"names":["useBlocksEnvironment","isCalendarAttachment","useCalendarSettings","safeZone","detectTimeZone","useMailAttachmentText","parseIcsInvite","useCalendarEventByUid","useRespondToEvent","useState","useEffect","formatEventWhen","isQueuedCalendarWrite","jsxs","jsx","CalendarDays","cn","Fragment","Button"],"mappings":";;;;;;;;;;;AAkCA,IAAM,aAAA,GAAwC;AAAA,EAC5C,QAAA,EAAU,cAAA;AAAA,EACV,QAAA,EAAU,cAAA;AAAA,EACV,SAAA,EAAW,gBAAA;AAAA,EACX,YAAA,EAAc;AAChB,CAAA;AAEO,SAAS,uBAAA,CAAwB;AAAA,EACtC,SAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAAiC;AAC/B,EAAA,MAAM,EAAE,MAAA,EAAO,GAAIA,sCAAA,EAAqB;AACxC,EAAA,MAAM,IAAA,GAAO,WAAA,CAAY,IAAA,CAAKC,sCAAoB,CAAA;AAClD,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,KAAaC,yBAAA,CAAoB,CAAC,CAAC,IAAI,CAAA;AACrD,EAAA,MAAM,IAAA,GAAOC,0BAAA,CAAS,QAAA,EAAU,SAAA,EAAWC,kCAAgB,CAAA;AAC3D,EAAA,MAAM,EAAE,IAAA,EAAM,GAAA,EAAI,GAAIC,2BAAA,CAAsB,SAAA,EAAW,SAAA,EAAW,IAAA,EAAM,EAAE,OAAA,EAAS,QAAA,EAAU,CAAA;AAC7F,EAAA,MAAM,MAAA,GAAS,GAAA,GAAMC,gCAAA,CAAe,GAAA,EAAK,IAAI,CAAA,GAAI,IAAA;AACjD,EAAA,MAAM,MAAA,GAASC,4BAAsB,MAAA,EAAQ,GAAA,IAAO,OAAO,MAAA,KAAW,OAAA,GAAU,MAAA,CAAO,GAAA,GAAM,IAAI,CAAA;AACjG,EAAA,MAAM,UAAUC,uBAAA,EAAkB;AAClC,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIC,iBAAwB,IAAI,CAAA;AAC5D,EAAA,MAAM,KAAA,GAAQ,OAAO,IAAA,IAAQ,IAAA;AAC7B,EAAAC,iBAAA,CAAU,MAAM,YAAY,KAAA,EAAO,WAAA,IAAe,IAAI,CAAA,EAAG,CAAC,KAAA,EAAO,WAAW,CAAC,CAAA;AAE7E,EAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,MAAA,EAAQ,OAAO,IAAA;AAC7B,EAAA,MAAM,SAAA,GAAY,MAAA,CAAO,MAAA,KAAW,QAAA,IAAY,OAAO,MAAA,KAAW,WAAA;AAClE,EAAA,MAAM,IAAA,GACJ,MAAA,CAAO,QAAA,IAAY,MAAA,CAAO,MAAA,GACtBC,iCAAA;AAAA,IACE;AAAA,MACE,SAAS,MAAA,CAAO,MAAA;AAAA,MAChB,WAAW,MAAA,CAAO,QAAA;AAAA,MAClB,SAAS,MAAA,CAAO,MAAA;AAAA,MAChB,KAAA,EAAO,EAAE,IAAA,EAAM,MAAA,CAAO,SAAA,EAAU;AAAA,MAChC,GAAA,EAAK,EAAE,IAAA,EAAM,MAAA,CAAO,OAAA;AAAQ,KAC9B;AAAA,IACA;AAAA,GACF,GACA,EAAA;AACN,EAAA,MAAM,UAAA,GAAa,CAAC,CAAC,KAAA,IAAS,CAAC,MAAM,YAAA,IAAgB,KAAA,CAAM,WAAA,IAAe,IAAA,IAAQ,CAAC,SAAA;AAEnF,EAAA,MAAM,MAAA,GAAS,CAAC,CAAA,KACd,KAAA,IACA,OAAA,CAAQ,MAAA;AAAA,IACN,EAAE,EAAA,EAAI,KAAA,CAAM,EAAA,EAAI,UAAU,CAAA,EAAE;AAAA,IAC5B;AAAA,MACE,SAAA,EAAW,CAAC,OAAA,KACV,WAAA,CAAYC,2BAAA,CAAsB,OAAO,CAAA,GAAI,CAAA,GAAK,OAAA,CAAQ,WAAA,IAAe,CAAE,CAAA;AAAA,MAC7E,OAAA,EAAS,CAAC,GAAA,KAAQ,MAAA,CAAO,iCAAiC,GAAA,CAAI,OAAO,IAAI,OAAO;AAAA;AAClF,GACF;AAEF,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,iEAAA;AAAA,MACV,aAAA,EAAY,kBAAA;AAAA,MAEZ,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAACC,wBAAA,EAAA,EAAa,SAAA,EAAU,qCAAA,EAAsC,aAAA,EAAW,IAAA,EAAC,CAAA;AAAA,wBAC1EF,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4BAAA,EACb,QAAA,EAAA;AAAA,0BAAAC,cAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAWE,KAAA,CAAG,aAAA,EAAe,SAAA,IAAa,cAAc,CAAA;AAAA,cACxD,aAAA,EAAY,mBAAA;AAAA,cAEX,iBAAO,KAAA,IAAS;AAAA;AAAA,WACnB;AAAA,0BACAF,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+BAAA,EAAiC,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,UACpD,OAAO,QAAA,oBAAYA,cAAA,CAAC,SAAI,SAAA,EAAU,+BAAA,EAAiC,iBAAO,QAAA,EAAS,CAAA;AAAA,UACnF,MAAA,CAAO,SAAA,oBACND,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,+BAAA,EAAgC,QAAA,EAAA;AAAA,YAAA,aAAA;AAAA,YACjC,MAAA,CAAO,SAAA,CAAU,IAAA,IAAQ,MAAA,CAAO,SAAA,CAAU;AAAA,WAAA,EACxD,CAAA;AAAA,UAED,SAAA,oBAAaC,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4BAA2B,QAAA,EAAA,2BAAA,EAAyB,CAAA;AAAA,UAChF,OAAO,MAAA,KAAW,OAAA,mCAChB,KAAA,EAAA,EAAI,SAAA,EAAU,iCAAgC,QAAA,EAAA,qCAAA,EAAmC,CAAA;AAAA,UAEnF,CAAC,SAAA,IAAa,MAAA,CAAO,MAAA,KAAW,WAAW,CAAC,MAAA,CAAO,SAAA,IAAa,CAAC,SAAS,QAAA,oBACzEA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iCAAgC,QAAA,EAAA,2BAAA,EAAyB,CAAA;AAAA,UAEzE,UAAA,IAAc,QAAA,oBACbA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+BAAA,EAAgC,aAAA,EAAY,oBAAA,EACxD,QAAA,EAAA,aAAA,CAAc,QAAQ,CAAA,IAAK,QAAA,EAC9B,CAAA;AAAA,0BAEFD,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6BAAA,EACZ,QAAA,EAAA;AAAA,YAAA,UAAA,oBACCA,eAAA,CAAAI,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,8BAAAH,cAAA;AAAA,gBAACI,SAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,IAAA;AAAA,kBACL,OAAA,EAAS,QAAA,KAAa,UAAA,GAAa,SAAA,GAAY,SAAA;AAAA,kBAC/C,QAAA,EAAU,CAAC,QAAA,IAAY,OAAA,CAAQ,SAAA;AAAA,kBAC/B,OAAA,EAAS,MAAM,MAAA,CAAO,UAAU,CAAA;AAAA,kBAChC,aAAA,EAAY,oBAAA;AAAA,kBACb,QAAA,EAAA;AAAA;AAAA,eAED;AAAA,8BACAJ,cAAA;AAAA,gBAACI,SAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,IAAA;AAAA,kBACL,OAAA,EAAS,QAAA,KAAa,WAAA,GAAc,SAAA,GAAY,SAAA;AAAA,kBAChD,QAAA,EAAU,CAAC,QAAA,IAAY,OAAA,CAAQ,SAAA;AAAA,kBAC/B,OAAA,EAAS,MAAM,MAAA,CAAO,WAAW,CAAA;AAAA,kBAClC,QAAA,EAAA;AAAA;AAAA,eAED;AAAA,8BACAJ,cAAA;AAAA,gBAACI,SAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,IAAA;AAAA,kBACL,OAAA,EAAS,QAAA,KAAa,UAAA,GAAa,SAAA,GAAY,SAAA;AAAA,kBAC/C,QAAA,EAAU,CAAC,QAAA,IAAY,OAAA,CAAQ,SAAA;AAAA,kBAC/B,OAAA,EAAS,MAAM,MAAA,CAAO,UAAU,CAAA;AAAA,kBACjC,QAAA,EAAA;AAAA;AAAA;AAED,aAAA,EACF,CAAA;AAAA,YAED,SAAS,WAAA,oBACRJ,cAAA;AAAA,cAACI,SAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,IAAA;AAAA,gBACL,OAAA,EAAQ,OAAA;AAAA,gBACR,SAAS,MAAM,WAAA,CAAY,EAAE,EAAA,EAAI,KAAA,CAAM,IAAI,CAAA;AAAA,gBAC3C,aAAA,EAAY,kBAAA;AAAA,gBACb,QAAA,EAAA;AAAA;AAAA;AAED,WAAA,EAEJ;AAAA,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ","file":"chunk-WVEYUH6C.cjs","sourcesContent":["/**\n * Invitation card in the Mail message view: when the message carries an iCalendar part, show the event\n * (parsed client-side) and, if it is in my calendar (GET /lookup?uid=), Accept / Maybe / Decline and\n * Open in calendar. Self-contained so the mail view only mounts it.\n */\nimport { useEffect, useState } from 'react'\nimport { CalendarDays } from 'lucide-react'\nimport { Button, cn } from '@arbidocs/react/ui'\nimport {\n isQueuedCalendarWrite,\n useCalendarEventByUid,\n useCalendarSettings,\n useMailAttachmentText,\n useRespondToEvent,\n type MailAttachment,\n} from '@arbidocs/react'\nimport {\n detectTimeZone,\n formatEventWhen,\n isCalendarAttachment,\n parseIcsInvite,\n safeZone,\n} from '../../calendar'\nimport { useBlocksEnvironment } from '../../provider/environment'\n\nexport interface ConnectedMailInviteCardProps {\n accountId: string\n messageId: string\n attachments: MailAttachment[]\n isOnline: boolean\n /** Open the event in the host's calendar (\"Open in calendar\"); without it the button is hidden. */\n onOpenEvent?: (event: { id: string }) => void\n}\n\nconst PARTSTAT_TEXT: Record<string, string> = {\n accepted: 'You accepted',\n declined: 'You declined',\n tentative: 'You said maybe',\n needs_action: 'Not answered yet',\n}\n\nexport function ConnectedMailInviteCard({\n accountId,\n messageId,\n attachments,\n isOnline,\n onOpenEvent,\n}: ConnectedMailInviteCardProps) {\n const { notify } = useBlocksEnvironment()\n const part = attachments.find(isCalendarAttachment)\n const { data: settings } = useCalendarSettings(!!part)\n const zone = safeZone(settings?.time_zone, detectTimeZone())\n const { data: ics } = useMailAttachmentText(accountId, messageId, part, { enabled: isOnline })\n const invite = ics ? parseIcsInvite(ics, zone) : null\n const lookup = useCalendarEventByUid(invite?.uid && invite.method !== 'REPLY' ? invite.uid : null)\n const respond = useRespondToEvent()\n const [partstat, setPartstat] = useState<string | null>(null)\n const event = lookup.data ?? null\n useEffect(() => setPartstat(event?.my_partstat ?? null), [event?.my_partstat])\n\n if (!part || !invite) return null\n const cancelled = invite.method === 'CANCEL' || invite.status === 'CANCELLED'\n const when =\n invite.startUtc && invite.endUtc\n ? formatEventWhen(\n {\n all_day: invite.allDay,\n start_utc: invite.startUtc,\n end_utc: invite.endUtc,\n start: { date: invite.startDate },\n end: { date: invite.endDate },\n },\n zone\n )\n : ''\n const canRespond = !!event && !event.is_organizer && event.my_partstat != null && !cancelled\n\n const answer = (p: 'accepted' | 'tentative' | 'declined') =>\n event &&\n respond.mutate(\n { id: event.id, partstat: p },\n {\n onSuccess: (updated) =>\n setPartstat(isQueuedCalendarWrite(updated) ? p : (updated.my_partstat ?? p)),\n onError: (err) => notify(`Could not send your response: ${err.message}`, 'error'),\n }\n )\n\n return (\n <div\n className=\"mb-4 flex gap-3 rounded-lg border border-border bg-muted/20 p-3\"\n data-testid=\"mail-invite-card\"\n >\n <CalendarDays className=\"mt-0.5 size-5 shrink-0 text-primary\" aria-hidden />\n <div className=\"min-w-0 flex-1 space-y-1.5\">\n <div\n className={cn('font-medium', cancelled && 'line-through')}\n data-testid=\"mail-invite-title\"\n >\n {invite.title || 'Untitled event'}\n </div>\n <div className=\"text-sm text-muted-foreground\">{when}</div>\n {invite.location && <div className=\"text-sm text-muted-foreground\">{invite.location}</div>}\n {invite.organizer && (\n <div className=\"text-xs text-muted-foreground\">\n Organiser: {invite.organizer.name || invite.organizer.email}\n </div>\n )}\n {cancelled && <div className=\"text-sm text-destructive\">This event was cancelled.</div>}\n {invite.method === 'REPLY' && (\n <div className=\"text-sm text-muted-foreground\">A guest replied to your invitation.</div>\n )}\n {!cancelled && invite.method !== 'REPLY' && !lookup.isLoading && !event && isOnline && (\n <div className=\"text-xs text-muted-foreground\">Not in your calendar yet.</div>\n )}\n {canRespond && partstat && (\n <div className=\"text-xs text-muted-foreground\" data-testid=\"mail-invite-status\">\n {PARTSTAT_TEXT[partstat] ?? partstat}\n </div>\n )}\n <div className=\"flex flex-wrap gap-1.5 pt-1\">\n {canRespond && (\n <>\n <Button\n size=\"sm\"\n variant={partstat === 'accepted' ? 'default' : 'outline'}\n disabled={!isOnline || respond.isPending}\n onClick={() => answer('accepted')}\n data-testid=\"mail-invite-accept\"\n >\n Accept\n </Button>\n <Button\n size=\"sm\"\n variant={partstat === 'tentative' ? 'default' : 'outline'}\n disabled={!isOnline || respond.isPending}\n onClick={() => answer('tentative')}\n >\n Maybe\n </Button>\n <Button\n size=\"sm\"\n variant={partstat === 'declined' ? 'default' : 'outline'}\n disabled={!isOnline || respond.isPending}\n onClick={() => answer('declined')}\n >\n Decline\n </Button>\n </>\n )}\n {event && onOpenEvent && (\n <Button\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => onOpenEvent({ id: event.id })}\n data-testid=\"mail-invite-open\"\n >\n Open in calendar\n </Button>\n )}\n </div>\n </div>\n </div>\n )\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import { DocumentUser } from './chunk-ZZE3ORJS.js';
2
+ import { DocumentUser } from './chunk-SOZIHPO2.js';
3
3
  import { useOpenWorkflow } from './chunk-K2U5BCQ2.js';
4
- import { ThreadCallLogCard, RecordingCard } from './chunk-TIQZ7CXZ.js';
5
- import { parseCallLogDetail } from './chunk-SK6BAW7L.js';
6
- import { useOptionalConnection } from './chunk-JVJOIZNN.js';
7
- import { latestMessageTime, isSupersededStop, fromPlanSteps, compactThreadActivity, unnotifiedMentions, AssistantEntity, notifiedLabel, linkedRunsFromActivity } from './chunk-RIBQCTBQ.js';
4
+ import { latestMessageTime, isSupersededStop, fromPlanSteps, compactThreadActivity, unnotifiedMentions, AssistantEntity, notifiedLabel, linkedRunsFromActivity } from './chunk-B2NHC2KC.js';
8
5
  import { stepKindOf, STEP_KIND_ICONS } from './chunk-U6C4R6J4.js';
9
6
  import { splitDocRef } from './chunk-MMSBCSGH.js';
7
+ import { ThreadCallLogCard, RecordingCard } from './chunk-SOLSDXOZ.js';
8
+ import { parseCallLogDetail } from './chunk-46IG4KY7.js';
9
+ import { useOptionalConnection } from './chunk-JVJOIZNN.js';
10
10
  import { useBlocksEnvironment } from './chunk-3KA6GZUW.js';
11
11
  import { getDocumentTitle, getUserDisplayName, formatFriendlyDate, formatRelativeTime } from '@arbidocs/react/ui';
12
12
  import { Clock } from 'lucide-react';
@@ -213,5 +213,5 @@ function useSelectWorkspace() {
213
213
  }
214
214
 
215
215
  export { useConnectedThreadActivity, useSelectWorkspace };
216
- //# sourceMappingURL=chunk-2F65OOU3.js.map
217
- //# sourceMappingURL=chunk-2F65OOU3.js.map
216
+ //# sourceMappingURL=chunk-YB2P5Y52.js.map
217
+ //# sourceMappingURL=chunk-YB2P5Y52.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/connection/tasks/useConnectedThreadActivity.tsx","../src/connection/useSelectWorkspace.ts"],"names":[],"mappings":"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","file":"chunk-2F65OOU3.js","sourcesContent":["import {\n formatFriendlyDate,\n getDocumentTitle,\n getUserDisplayName,\n formatRelativeTime,\n} from '@arbidocs/react/ui'\nimport { Clock } from 'lucide-react'\nimport {\n useConversationActivity,\n useWorkflows,\n useDocuments,\n useWorkspaceUsers,\n useArbiSessionState,\n useConversationData,\n useConversationItems,\n} from '@arbidocs/react'\nimport { STEP_KIND_ICONS, stepKindOf } from '../../agents/workflows/stepKinds'\nimport { compactThreadActivity } from '../../agents/tasks/compact-thread-activity'\nimport { fromPlanSteps, type TaskPlanStep } from '../../agents/workflows/planSteps'\nimport { splitDocRef, type WorkflowStepPhase } from '../../agents/workflows/run'\nimport { type WorkflowStep } from '../../agents/workflows/types'\nimport { linkedRunsFromActivity } from '../../agents/tasks/linkedRuns'\nimport { type TaskActivityEvent } from '../../agents/tasks/TaskActivityTimeline'\nimport {\n type WorkflowThreadOrigin,\n type WorkflowThreadSignal,\n} from '../../agents/tasks/WorkflowThreadStrip'\nimport { ThreadCallLogCard } from '../../calls/connected/ThreadCallLogCard'\nimport { RecordingCard } from '../../calls/connected/RecordingCard'\nimport { parseCallLogDetail } from '../../calls/call-cards'\nimport { AssistantEntity } from '../../agents/tasks/AssistantEntity'\nimport {\n isSupersededStop,\n latestMessageTime,\n notifiedLabel,\n unnotifiedMentions,\n} from '../../agents/tasks/taskHelpers'\nimport { useBlocksEnvironment } from '../../provider/environment'\nimport { useOpenWorkflow } from '../workflows/useOpenWorkflow'\nimport { DocumentUser } from '../files/fields/DocumentUser'\n\n/** The phase a step event puts its step in, for its chip in the transcript. */\nconst STEP_EVENT_PHASES: Record<string, WorkflowStepPhase> = {\n // A past \"started\" is not still running: the step's own chip (on the bar) says where it is now.\n step_started: 'ready',\n step_waiting: 'waiting',\n step_progress: 'waiting',\n step_done: 'done',\n step_skipped: 'skipped',\n step_failed: 'failed',\n step_sent_back: 'ready',\n}\n\n/** A step event's chip in the transcript: its step's kind and icon, the phase the event set. */\nfunction stepChipOf(\n step: WorkflowStep,\n eventKind: string,\n document?: { name: string; onOpen: () => void }\n) {\n const phase = STEP_EVENT_PHASES[eventKind]\n if (!phase) return undefined\n const kind = stepKindOf(step)\n const KindIcon = STEP_KIND_ICONS[kind]\n return { kind, phase, icon: <KindIcon />, document }\n}\n\n/**\n * A thread's persisted history, as its top bar's ribbon and its transcript show it: each entry with\n * its actor, its step chip, the document or email it is about and where a click goes; the threads\n * linked to it (what started it, what it starts); the signals its steps raised. Documents,\n * threads, email drafts and workflows open through the host's environment.\n */\nexport function useConnectedThreadActivity(conversationId: string | null | undefined) {\n const { data: workflows = [] } = useWorkflows()\n const { conversations } = useConversationItems()\n const { data: members = [] } = useWorkspaceUsers()\n const { data: docs = [] } = useDocuments()\n const activity = useConversationActivity(conversationId ?? undefined, { live: true })\n const { messageHistory } = useConversationData()\n const environment = useBlocksEnvironment()\n const { openDocument, openMail } = environment\n const navigateToConversation = (id: string, messageId?: string) =>\n environment.openConversation(id, messageId ? { messageId } : undefined)\n // The host's Workflows page, while it has one (absent: a workflow has nowhere to open).\n const openWorkflow = useOpenWorkflow()\n const workspaceExtId = useArbiSessionState((s) => s.workspaceId)\n const task = conversations.find((c) => c.external_id === conversationId)\n const latestMessageAt = latestMessageTime(messageHistory)\n const events = ((activity.data ?? []) as TaskActivityEvent[]).filter(\n (event) => !isSupersededStop(event, latestMessageAt)\n )\n const personName = (extId: string) => {\n const person = members.find((m) => m.user.external_id === extId)?.user\n return person ? getUserDisplayName(person) : 'someone'\n }\n // The run's steps, from its plan: step events are named after their step and drawn as its chip.\n const planSteps = fromPlanSteps((task?.plan?.steps ?? []) as TaskPlanStep[])\n const entries = compactThreadActivity(events, (id) => planSteps.find((s) => s.id === id)?.title)\n const items = entries.map(({ event, label, recipients }) => {\n const messageActivity = [\n 'created',\n 'participant_joined',\n 'assistant_responded',\n 'assistant_stopped',\n ].includes(event.kind)\n // A stop is about the assistant's turn (the event names no actor), so it is shown as ARBI's.\n const eventStep =\n event.kind.startsWith('step_') && typeof event.detail?.step === 'string'\n ? planSteps.find((s) => s.id === event.detail?.step)\n : undefined\n // A finished step's document (its latest version), one click from its chip in the transcript.\n const stepDocRef =\n event.kind === 'step_done' && Array.isArray(event.detail?.documents)\n ? (event.detail.documents as string[]).at(-1)\n : undefined\n const stepDocId = stepDocRef ? splitDocRef(stepDocRef).id : undefined\n const stepDocRecord = stepDocId ? docs.find((d) => d.external_id === stepDocId) : undefined\n const stepDocument = stepDocId\n ? {\n name: stepDocRecord ? getDocumentTitle(stepDocRecord) : stepDocId,\n onOpen: () => openDocument(stepDocId),\n }\n : undefined\n // An AI step's progress is ARBI's, whoever started the run.\n const assistant =\n event.kind === 'assistant_responded' ||\n event.kind === 'assistant_stopped' ||\n event.detail?.assistant === true ||\n eventStep?.kind === 'agent'\n const member = members.find(\n (m) =>\n m.user.external_id ===\n (event.actor_ext_id ?? (event.kind === 'created' ? task?.created_by_ext_id : undefined))\n )?.user\n const name = assistant ? 'ARBI' : member ? getUserDisplayName(member) : 'System'\n const docId = typeof event.detail?.doc_ext_id === 'string' ? event.detail.doc_ext_id : undefined\n const sourceMessage =\n typeof event.detail?.message_ext_id === 'string' ? event.detail.message_ext_id : undefined\n const messageId =\n sourceMessage ??\n [...messageHistory]\n .reverse()\n .find((message) => Date.parse(message.created_at ?? '') <= Date.parse(event.created_at))\n ?.external_id ??\n messageHistory[0]?.external_id\n const doc = docId ? docs.find((d) => d.external_id === docId) : undefined\n // A draft email an agent left in the user's native mailbox: the entry opens it in Mail.\n const mailDraftId =\n event.kind === 'notified' &&\n event.detail?.event === 'mail_draft_ready' &&\n typeof event.detail?.mail_id === 'string'\n ? event.detail.mail_id\n : undefined\n // Say who a batch reached, and name any @mentioned person it did not, so nobody has to guess.\n const missed =\n event.kind === 'notified' && recipients.length\n ? unnotifiedMentions(\n messageHistory.find((message) => message.external_id === sourceMessage)?.mentions,\n recipients,\n event.actor_ext_id\n )\n : []\n // A thread call: the server's log card (live → Join, ended → summary + meeting chat).\n const callDetail = event.kind === 'call' ? parseCallLogDetail(event.detail) : null\n // A recording of the thread's call stopped: its Recording card (in a meeting thread).\n const recordingCall =\n event.kind === 'recording' && typeof event.detail?.call_ext_id === 'string'\n ? event.detail.call_ext_id\n : null\n const recordingId =\n typeof event.detail?.recording_ext_id === 'string' ? event.detail.recording_ext_id : null\n return {\n id: event.external_id,\n kind: event.kind,\n // A workflow step event: the step it is about (the thread's step strip places entries by it).\n step: typeof event.detail?.step === 'string' ? event.detail.step : undefined,\n createdAt: event.created_at,\n card: callDetail ? (\n <ThreadCallLogCard\n detail={callDetail}\n name={personName}\n workspaceExtId={workspaceExtId}\n time={formatRelativeTime(event.created_at, { style: 'short' })}\n />\n ) : recordingCall ? (\n <RecordingCard\n callExtId={recordingCall}\n recordingExtId={recordingId}\n title={task?.title}\n time={formatRelativeTime(event.created_at, { style: 'short' })}\n />\n ) : undefined,\n docId,\n docTitle: doc ? getDocumentTitle(doc) : undefined,\n label: mailDraftId\n ? 'Left a draft email'\n : event.kind === 'notified' && recipients.length\n ? notifiedLabel(recipients.map(personName), missed.map(personName))\n : label,\n description: [\n name,\n label,\n ...recipients.map((id) => {\n const person = members.find((m) => m.user.external_id === id)?.user\n return person ? getUserDisplayName(person) : id\n }),\n doc ? getDocumentTitle(doc) : null,\n ]\n .filter(Boolean)\n .join(' · '),\n actor: assistant ? 'assistant' : (member?.external_id ?? 'system'),\n stepChip: eventStep ? stepChipOf(eventStep, event.kind, stepDocument) : undefined,\n // No avatar tooltip: the entry is already a button (or titled row) that carries the same\n // details, and a tooltip trigger inside it would be a nested <button>.\n avatar: assistant ? (\n <AssistantEntity variant=\"icon\" size={20} showTooltip={false} />\n ) : member ? (\n <DocumentUser user={member} tooltip={false} />\n ) : (\n <Clock className=\"size-4 text-muted-foreground\" />\n ),\n time: formatRelativeTime(event.created_at, { style: 'short' }),\n exactTime: formatFriendlyDate(event.created_at),\n onOpenDocument: docId && doc ? () => openDocument(docId) : undefined,\n onSelect: () => {\n if (mailDraftId && openMail) {\n openMail({ draftId: mailDraftId })\n return\n }\n const target = messageActivity ? messageId : event.external_id\n // The deep link selects the thread the message is on (useConversationData).\n if (target) navigateToConversation(conversationId!, target)\n },\n }\n })\n const related = workflows\n .filter((workflow) => workflow.after_conversation_ext_id === conversationId)\n .map((workflow) => {\n const next = conversations.find(\n (conversation) => conversation.workflow_ext_id === workflow.external_id\n )\n return {\n id: workflow.external_id,\n label: next?.title || workflow.name,\n title: 'Starts when this thread is done',\n onSelect: () => {\n if (next) navigateToConversation(next.external_id)\n else openWorkflow?.(workflow.external_id)\n },\n }\n })\n // The run's workflow, opened in the builder: the same steps, as designed. Only where Workflows\n // is on (otherwise there is no page to open it on).\n const origin = openWorkflow\n ? workflows.find((workflow) => workflow.external_id === task?.workflow_ext_id)\n : undefined\n if (origin && openWorkflow)\n related.unshift({\n id: `origin-${origin.external_id}`,\n label: origin.name,\n title: 'Open the workflow in the builder',\n onSelect: () => openWorkflow(origin.external_id),\n })\n const source = workflows.find(\n (workflow) => workflow.external_id === task?.workflow_ext_id\n )?.after_conversation_ext_id\n if (source) {\n const before = conversations.find((conversation) => conversation.external_id === source)\n if (before)\n related.unshift({\n id: source,\n label: before.title || 'Previous thread',\n title: 'Started when this thread was done',\n onSelect: () => navigateToConversation(source),\n })\n }\n // Linked runs: the signals this thread's steps raised and the threads they started, and, for a\n // thread a signal started, the step and thread it came from.\n const links = linkedRunsFromActivity(activity.data as TaskActivityEvent[] | undefined)\n const threadName = (id: string, workflowId?: string) =>\n conversations.find((c) => c.external_id === id)?.title ||\n workflows.find((w) => w.external_id === workflowId)?.name ||\n 'Linked thread'\n const signals: WorkflowThreadSignal[] = links.raised.map((raised) => ({\n step: raised.step,\n signal: raised.signal,\n runs: raised.runs.map((run) => ({\n id: run.conversationId,\n label: threadName(run.conversationId, run.workflowId),\n onSelect: () => navigateToConversation(run.conversationId),\n })),\n }))\n let startedBy: WorkflowThreadOrigin | undefined\n if (links.startedBy) {\n const { conversationId: parentId, step, signal } = links.startedBy\n const parent = conversations.find((c) => c.external_id === parentId)\n const parentSteps = fromPlanSteps((parent?.plan?.steps ?? []) as TaskPlanStep[])\n startedBy = {\n stepTitle: parentSteps.find((s) => s.id === step)?.title ?? step ?? 'a step',\n threadTitle: parent?.title || 'another thread',\n signal,\n onSelect: () => navigateToConversation(parentId),\n }\n }\n return { activity, items, related, signals, startedBy }\n}\n","import { useCallback } from 'react'\nimport { useSwitchWorkspace } from '@arbidocs/react'\nimport { useOptionalConnection } from './ConnectionProvider'\n\n/**\n * Select a workspace in place, through the sign-in layer when there is one (else the host's own\n * session switch): the page on screen stays, unlike `openWorkspace`, which also shows the\n * workspace. Rejects when it could not be opened.\n */\nexport function useSelectWorkspace(): (id: string) => Promise<void> {\n const connection = useOptionalConnection()\n const { switchWorkspace } = useSwitchWorkspace()\n return useCallback(\n async (id: string) => {\n if (connection) return connection.setWorkspace(id)\n if (!(await switchWorkspace({ id }))) throw new Error('Could not open the workspace')\n },\n [connection, switchWorkspace]\n )\n}\n"]}
1
+ {"version":3,"sources":["../src/connection/tasks/useConnectedThreadActivity.tsx","../src/connection/useSelectWorkspace.ts"],"names":[],"mappings":"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","file":"chunk-YB2P5Y52.js","sourcesContent":["import {\n formatFriendlyDate,\n getDocumentTitle,\n getUserDisplayName,\n formatRelativeTime,\n} from '@arbidocs/react/ui'\nimport { Clock } from 'lucide-react'\nimport {\n useConversationActivity,\n useWorkflows,\n useDocuments,\n useWorkspaceUsers,\n useArbiSessionState,\n useConversationData,\n useConversationItems,\n} from '@arbidocs/react'\nimport { STEP_KIND_ICONS, stepKindOf } from '../../agents/workflows/stepKinds'\nimport { compactThreadActivity } from '../../agents/tasks/compact-thread-activity'\nimport { fromPlanSteps, type TaskPlanStep } from '../../agents/workflows/planSteps'\nimport { splitDocRef, type WorkflowStepPhase } from '../../agents/workflows/run'\nimport { type WorkflowStep } from '../../agents/workflows/types'\nimport { linkedRunsFromActivity } from '../../agents/tasks/linkedRuns'\nimport { type TaskActivityEvent } from '../../agents/tasks/TaskActivityTimeline'\nimport {\n type WorkflowThreadOrigin,\n type WorkflowThreadSignal,\n} from '../../agents/tasks/WorkflowThreadStrip'\nimport { ThreadCallLogCard } from '../../calls/connected/ThreadCallLogCard'\nimport { RecordingCard } from '../../calls/connected/RecordingCard'\nimport { parseCallLogDetail } from '../../calls/call-cards'\nimport { AssistantEntity } from '../../agents/tasks/AssistantEntity'\nimport {\n isSupersededStop,\n latestMessageTime,\n notifiedLabel,\n unnotifiedMentions,\n} from '../../agents/tasks/taskHelpers'\nimport { useBlocksEnvironment } from '../../provider/environment'\nimport { useOpenWorkflow } from '../workflows/useOpenWorkflow'\nimport { DocumentUser } from '../files/fields/DocumentUser'\n\n/** The phase a step event puts its step in, for its chip in the transcript. */\nconst STEP_EVENT_PHASES: Record<string, WorkflowStepPhase> = {\n // A past \"started\" is not still running: the step's own chip (on the bar) says where it is now.\n step_started: 'ready',\n step_waiting: 'waiting',\n step_progress: 'waiting',\n step_done: 'done',\n step_skipped: 'skipped',\n step_failed: 'failed',\n step_sent_back: 'ready',\n}\n\n/** A step event's chip in the transcript: its step's kind and icon, the phase the event set. */\nfunction stepChipOf(\n step: WorkflowStep,\n eventKind: string,\n document?: { name: string; onOpen: () => void }\n) {\n const phase = STEP_EVENT_PHASES[eventKind]\n if (!phase) return undefined\n const kind = stepKindOf(step)\n const KindIcon = STEP_KIND_ICONS[kind]\n return { kind, phase, icon: <KindIcon />, document }\n}\n\n/**\n * A thread's persisted history, as its top bar's ribbon and its transcript show it: each entry with\n * its actor, its step chip, the document or email it is about and where a click goes; the threads\n * linked to it (what started it, what it starts); the signals its steps raised. Documents,\n * threads, email drafts and workflows open through the host's environment.\n */\nexport function useConnectedThreadActivity(conversationId: string | null | undefined) {\n const { data: workflows = [] } = useWorkflows()\n const { conversations } = useConversationItems()\n const { data: members = [] } = useWorkspaceUsers()\n const { data: docs = [] } = useDocuments()\n const activity = useConversationActivity(conversationId ?? undefined, { live: true })\n const { messageHistory } = useConversationData()\n const environment = useBlocksEnvironment()\n const { openDocument, openMail } = environment\n const navigateToConversation = (id: string, messageId?: string) =>\n environment.openConversation(id, messageId ? { messageId } : undefined)\n // The host's Workflows page, while it has one (absent: a workflow has nowhere to open).\n const openWorkflow = useOpenWorkflow()\n const workspaceExtId = useArbiSessionState((s) => s.workspaceId)\n const task = conversations.find((c) => c.external_id === conversationId)\n const latestMessageAt = latestMessageTime(messageHistory)\n const events = ((activity.data ?? []) as TaskActivityEvent[]).filter(\n (event) => !isSupersededStop(event, latestMessageAt)\n )\n const personName = (extId: string) => {\n const person = members.find((m) => m.user.external_id === extId)?.user\n return person ? getUserDisplayName(person) : 'someone'\n }\n // The run's steps, from its plan: step events are named after their step and drawn as its chip.\n const planSteps = fromPlanSteps((task?.plan?.steps ?? []) as TaskPlanStep[])\n const entries = compactThreadActivity(events, (id) => planSteps.find((s) => s.id === id)?.title)\n const items = entries.map(({ event, label, recipients }) => {\n const messageActivity = [\n 'created',\n 'participant_joined',\n 'assistant_responded',\n 'assistant_stopped',\n ].includes(event.kind)\n // A stop is about the assistant's turn (the event names no actor), so it is shown as ARBI's.\n const eventStep =\n event.kind.startsWith('step_') && typeof event.detail?.step === 'string'\n ? planSteps.find((s) => s.id === event.detail?.step)\n : undefined\n // A finished step's document (its latest version), one click from its chip in the transcript.\n const stepDocRef =\n event.kind === 'step_done' && Array.isArray(event.detail?.documents)\n ? (event.detail.documents as string[]).at(-1)\n : undefined\n const stepDocId = stepDocRef ? splitDocRef(stepDocRef).id : undefined\n const stepDocRecord = stepDocId ? docs.find((d) => d.external_id === stepDocId) : undefined\n const stepDocument = stepDocId\n ? {\n name: stepDocRecord ? getDocumentTitle(stepDocRecord) : stepDocId,\n onOpen: () => openDocument(stepDocId),\n }\n : undefined\n // An AI step's progress is ARBI's, whoever started the run.\n const assistant =\n event.kind === 'assistant_responded' ||\n event.kind === 'assistant_stopped' ||\n event.detail?.assistant === true ||\n eventStep?.kind === 'agent'\n const member = members.find(\n (m) =>\n m.user.external_id ===\n (event.actor_ext_id ?? (event.kind === 'created' ? task?.created_by_ext_id : undefined))\n )?.user\n const name = assistant ? 'ARBI' : member ? getUserDisplayName(member) : 'System'\n const docId = typeof event.detail?.doc_ext_id === 'string' ? event.detail.doc_ext_id : undefined\n const sourceMessage =\n typeof event.detail?.message_ext_id === 'string' ? event.detail.message_ext_id : undefined\n const messageId =\n sourceMessage ??\n [...messageHistory]\n .reverse()\n .find((message) => Date.parse(message.created_at ?? '') <= Date.parse(event.created_at))\n ?.external_id ??\n messageHistory[0]?.external_id\n const doc = docId ? docs.find((d) => d.external_id === docId) : undefined\n // A draft email an agent left in the user's native mailbox: the entry opens it in Mail.\n const mailDraftId =\n event.kind === 'notified' &&\n event.detail?.event === 'mail_draft_ready' &&\n typeof event.detail?.mail_id === 'string'\n ? event.detail.mail_id\n : undefined\n // Say who a batch reached, and name any @mentioned person it did not, so nobody has to guess.\n const missed =\n event.kind === 'notified' && recipients.length\n ? unnotifiedMentions(\n messageHistory.find((message) => message.external_id === sourceMessage)?.mentions,\n recipients,\n event.actor_ext_id\n )\n : []\n // A thread call: the server's log card (live → Join, ended → summary + meeting chat).\n const callDetail = event.kind === 'call' ? parseCallLogDetail(event.detail) : null\n // A recording of the thread's call stopped: its Recording card (in a meeting thread).\n const recordingCall =\n event.kind === 'recording' && typeof event.detail?.call_ext_id === 'string'\n ? event.detail.call_ext_id\n : null\n const recordingId =\n typeof event.detail?.recording_ext_id === 'string' ? event.detail.recording_ext_id : null\n return {\n id: event.external_id,\n kind: event.kind,\n // A workflow step event: the step it is about (the thread's step strip places entries by it).\n step: typeof event.detail?.step === 'string' ? event.detail.step : undefined,\n createdAt: event.created_at,\n card: callDetail ? (\n <ThreadCallLogCard\n detail={callDetail}\n name={personName}\n workspaceExtId={workspaceExtId}\n time={formatRelativeTime(event.created_at, { style: 'short' })}\n />\n ) : recordingCall ? (\n <RecordingCard\n callExtId={recordingCall}\n recordingExtId={recordingId}\n title={task?.title}\n time={formatRelativeTime(event.created_at, { style: 'short' })}\n />\n ) : undefined,\n docId,\n docTitle: doc ? getDocumentTitle(doc) : undefined,\n label: mailDraftId\n ? 'Left a draft email'\n : event.kind === 'notified' && recipients.length\n ? notifiedLabel(recipients.map(personName), missed.map(personName))\n : label,\n description: [\n name,\n label,\n ...recipients.map((id) => {\n const person = members.find((m) => m.user.external_id === id)?.user\n return person ? getUserDisplayName(person) : id\n }),\n doc ? getDocumentTitle(doc) : null,\n ]\n .filter(Boolean)\n .join(' · '),\n actor: assistant ? 'assistant' : (member?.external_id ?? 'system'),\n stepChip: eventStep ? stepChipOf(eventStep, event.kind, stepDocument) : undefined,\n // No avatar tooltip: the entry is already a button (or titled row) that carries the same\n // details, and a tooltip trigger inside it would be a nested <button>.\n avatar: assistant ? (\n <AssistantEntity variant=\"icon\" size={20} showTooltip={false} />\n ) : member ? (\n <DocumentUser user={member} tooltip={false} />\n ) : (\n <Clock className=\"size-4 text-muted-foreground\" />\n ),\n time: formatRelativeTime(event.created_at, { style: 'short' }),\n exactTime: formatFriendlyDate(event.created_at),\n onOpenDocument: docId && doc ? () => openDocument(docId) : undefined,\n onSelect: () => {\n if (mailDraftId && openMail) {\n openMail({ draftId: mailDraftId })\n return\n }\n const target = messageActivity ? messageId : event.external_id\n // The deep link selects the thread the message is on (useConversationData).\n if (target) navigateToConversation(conversationId!, target)\n },\n }\n })\n const related = workflows\n .filter((workflow) => workflow.after_conversation_ext_id === conversationId)\n .map((workflow) => {\n const next = conversations.find(\n (conversation) => conversation.workflow_ext_id === workflow.external_id\n )\n return {\n id: workflow.external_id,\n label: next?.title || workflow.name,\n title: 'Starts when this thread is done',\n onSelect: () => {\n if (next) navigateToConversation(next.external_id)\n else openWorkflow?.(workflow.external_id)\n },\n }\n })\n // The run's workflow, opened in the builder: the same steps, as designed. Only where Workflows\n // is on (otherwise there is no page to open it on).\n const origin = openWorkflow\n ? workflows.find((workflow) => workflow.external_id === task?.workflow_ext_id)\n : undefined\n if (origin && openWorkflow)\n related.unshift({\n id: `origin-${origin.external_id}`,\n label: origin.name,\n title: 'Open the workflow in the builder',\n onSelect: () => openWorkflow(origin.external_id),\n })\n const source = workflows.find(\n (workflow) => workflow.external_id === task?.workflow_ext_id\n )?.after_conversation_ext_id\n if (source) {\n const before = conversations.find((conversation) => conversation.external_id === source)\n if (before)\n related.unshift({\n id: source,\n label: before.title || 'Previous thread',\n title: 'Started when this thread was done',\n onSelect: () => navigateToConversation(source),\n })\n }\n // Linked runs: the signals this thread's steps raised and the threads they started, and, for a\n // thread a signal started, the step and thread it came from.\n const links = linkedRunsFromActivity(activity.data as TaskActivityEvent[] | undefined)\n const threadName = (id: string, workflowId?: string) =>\n conversations.find((c) => c.external_id === id)?.title ||\n workflows.find((w) => w.external_id === workflowId)?.name ||\n 'Linked thread'\n const signals: WorkflowThreadSignal[] = links.raised.map((raised) => ({\n step: raised.step,\n signal: raised.signal,\n runs: raised.runs.map((run) => ({\n id: run.conversationId,\n label: threadName(run.conversationId, run.workflowId),\n onSelect: () => navigateToConversation(run.conversationId),\n })),\n }))\n let startedBy: WorkflowThreadOrigin | undefined\n if (links.startedBy) {\n const { conversationId: parentId, step, signal } = links.startedBy\n const parent = conversations.find((c) => c.external_id === parentId)\n const parentSteps = fromPlanSteps((parent?.plan?.steps ?? []) as TaskPlanStep[])\n startedBy = {\n stepTitle: parentSteps.find((s) => s.id === step)?.title ?? step ?? 'a step',\n threadTitle: parent?.title || 'another thread',\n signal,\n onSelect: () => navigateToConversation(parentId),\n }\n }\n return { activity, items, related, signals, startedBy }\n}\n","import { useCallback } from 'react'\nimport { useSwitchWorkspace } from '@arbidocs/react'\nimport { useOptionalConnection } from './ConnectionProvider'\n\n/**\n * Select a workspace in place, through the sign-in layer when there is one (else the host's own\n * session switch): the page on screen stays, unlike `openWorkspace`, which also shows the\n * workspace. Rejects when it could not be opened.\n */\nexport function useSelectWorkspace(): (id: string) => Promise<void> {\n const connection = useOptionalConnection()\n const { switchWorkspace } = useSwitchWorkspace()\n return useCallback(\n async (id: string) => {\n if (connection) return connection.setWorkspace(id)\n if (!(await switchWorkspace({ id }))) throw new Error('Could not open the workspace')\n },\n [connection, switchWorkspace]\n )\n}\n"]}
@@ -5,9 +5,9 @@ var chunkRFB7B6XG_cjs = require('../chunk-RFB7B6XG.cjs');
5
5
  var chunkYN7ZQEHS_cjs = require('../chunk-YN7ZQEHS.cjs');
6
6
  require('../chunk-7G2LJMUG.cjs');
7
7
  var chunkVLCY46K6_cjs = require('../chunk-VLCY46K6.cjs');
8
- var chunkMOIZ2R5X_cjs = require('../chunk-MOIZ2R5X.cjs');
9
8
  require('../chunk-LKK52DEY.cjs');
10
9
  require('../chunk-FX3K6LNZ.cjs');
10
+ var chunkMOIZ2R5X_cjs = require('../chunk-MOIZ2R5X.cjs');
11
11
  require('../chunk-ULWRNGGE.cjs');
12
12
  require('../chunk-PLIF5CUV.cjs');
13
13
  require('../chunk-DES3K4SD.cjs');
@@ -3,9 +3,9 @@ export { ContactCard, DEFAULT_CONTACT_CARD_LABELS, contactToVCard, downloadVCard
3
3
  export { ActionMenu, AddContactsForm, AddContactsResults, DEFAULT_ADD_CONTACTS_LABELS, DEFAULT_CONTACT_INVITE_LABELS, DEFAULT_CONTACT_OUTCOME_LABELS, DEFAULT_DM_ACCESS_REQUEST_BANNER_LABELS, DEFAULT_DM_GRANT_ACCESS_DIALOG_LABELS, DEFAULT_DM_THREAD_FRAME_LABELS, DEFAULT_MAIL_FOLDER_TREE_LABELS, DEFAULT_RECIPIENT_PICKER_LABELS, DmAccessRequestBanner, DmGrantAccessDialogView, DmInviteAvatar, DmThreadFrame, EMPTY_CONTACT_FORM, MAX_INVITE_EMAILS, MailDeliveryBadge, MailDeliveryList, MailDocumentPicker, MailFolderTree, MailGrid, MailMessagePreview, MailMessageView, MemberBulkActions, MemberListLoading, MemberMutedText, MemberNameCell, MemberRoleCell, NEEDS_CONNECTION, PlainMailBodyEditor, RecipientPicker, RoleSelect, applyContactInviteResults, buildMailFolderTree, contactName, contactOutcomeMessage, contactStatusLabel, contactToForm, descendantFolderIds, draftMailCompose, emailTokens, emptyMailCompose, failContactInvites, formToContactCard, hasCalendarPart, inviteEmail, isInboxFolder, isInvitableEmail, mailAddressLabel, matchesContact, normalizeVCardDate, parseEmails, parseMailRecipients, planContactInvites, primaryEmail, replyMailCompose, summarizeContactInvites, summarizeImport, summarizeUnsentInvites, toAddContactsRow, toAddContactsRows, toggleMailFolder, validateContactForm } from '../chunk-IQRUR6GL.js';
4
4
  import '../chunk-NBV56SGU.js';
5
5
  export { DEFAULT_SHARE_CONTROL_LABELS, ShareControl } from '../chunk-K4BGOPGG.js';
6
- export { DEFAULT_DM_INVITE_CHIP_LABELS, DmInviteChip, DmThreadHeader } from '../chunk-2S3LT5KE.js';
7
6
  import '../chunk-7F5Z4K5W.js';
8
7
  import '../chunk-SLSBJRWW.js';
8
+ export { DEFAULT_DM_INVITE_CHIP_LABELS, DmInviteChip, DmThreadHeader } from '../chunk-2S3LT5KE.js';
9
9
  import '../chunk-TX2ZICS7.js';
10
10
  import '../chunk-UP3GCNPM.js';
11
11
  import '../chunk-VUNV25KB.js';
@@ -1,68 +1,68 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkRCOJ7JG5_cjs = require('../chunk-RCOJ7JG5.cjs');
5
- var chunkKXRGVY3M_cjs = require('../chunk-KXRGVY3M.cjs');
6
- var chunkCLPDKHSP_cjs = require('../chunk-CLPDKHSP.cjs');
7
- require('../chunk-SIYNZR5B.cjs');
8
- require('../chunk-BFKTZUFT.cjs');
9
- require('../chunk-WV65MJ43.cjs');
4
+ var chunkEBNY3RTL_cjs = require('../chunk-EBNY3RTL.cjs');
5
+ var chunkILLWGL7Q_cjs = require('../chunk-ILLWGL7Q.cjs');
10
6
  require('../chunk-VNO36IVK.cjs');
11
7
  require('../chunk-O2FV2HK2.cjs');
8
+ var chunkHYDIQEDT_cjs = require('../chunk-HYDIQEDT.cjs');
12
9
  require('../chunk-464YPRAE.cjs');
13
10
  require('../chunk-LCPU44GW.cjs');
11
+ require('../chunk-SIYNZR5B.cjs');
14
12
  require('../chunk-DDWLMYRO.cjs');
15
13
  require('../chunk-ZESMRGDV.cjs');
16
- require('../chunk-LUO46ELJ.cjs');
17
14
  require('../chunk-JIOHDVWH.cjs');
18
15
  require('../chunk-RC25WMVB.cjs');
19
- require('../chunk-HMS3GRMI.cjs');
16
+ require('../chunk-75BNMCUX.cjs');
17
+ require('../chunk-2Q7LETQX.cjs');
20
18
  require('../chunk-3YEXZX4H.cjs');
21
19
  require('../chunk-ZHUQYIV3.cjs');
20
+ require('../chunk-MGVECEQQ.cjs');
21
+ require('../chunk-5GQOIQCB.cjs');
22
22
  require('../chunk-AHDJXIUB.cjs');
23
23
  require('../chunk-4PA6VCCR.cjs');
24
24
  require('../chunk-RL2HI6NP.cjs');
25
25
  require('../chunk-6UZC4XVV.cjs');
26
- require('../chunk-VZOOGA47.cjs');
27
- require('../chunk-ZK3D3RWK.cjs');
28
- require('../chunk-SJSGSHIT.cjs');
29
- require('../chunk-ZW6FPIFC.cjs');
30
- require('../chunk-75BNMCUX.cjs');
31
- require('../chunk-MGVECEQQ.cjs');
32
- require('../chunk-5GQOIQCB.cjs');
33
26
  require('../chunk-UDSHVNU3.cjs');
27
+ require('../chunk-ZK3D3RWK.cjs');
34
28
  require('../chunk-IPSHAMO2.cjs');
29
+ require('../chunk-LKK52DEY.cjs');
30
+ require('../chunk-FX3K6LNZ.cjs');
31
+ require('../chunk-VZOOGA47.cjs');
32
+ require('../chunk-BFKTZUFT.cjs');
33
+ require('../chunk-WV65MJ43.cjs');
34
+ require('../chunk-LUO46ELJ.cjs');
35
+ require('../chunk-SJSGSHIT.cjs');
35
36
  require('../chunk-PPCATBOY.cjs');
37
+ require('../chunk-ZW6FPIFC.cjs');
36
38
  require('../chunk-LJJJ6CYH.cjs');
37
39
  require('../chunk-UIXY4HKM.cjs');
38
40
  require('../chunk-JDFBEGQO.cjs');
39
- require('../chunk-LKK52DEY.cjs');
40
- require('../chunk-FX3K6LNZ.cjs');
41
41
  require('../chunk-ULWRNGGE.cjs');
42
42
  require('../chunk-PLIF5CUV.cjs');
43
43
  require('../chunk-DES3K4SD.cjs');
44
44
  var react = require('react');
45
45
 
46
46
  function useConnectedMailWordEditor() {
47
- const adapter = chunkCLPDKHSP_cjs.useConnectedNativeDocxAdapter();
47
+ const adapter = chunkHYDIQEDT_cjs.useConnectedNativeDocxAdapter();
48
48
  return react.useMemo(() => ({ adapter }), [adapter]);
49
49
  }
50
50
 
51
51
  Object.defineProperty(exports, "ConnectedNativeDocxComparison", {
52
52
  enumerable: true,
53
- get: function () { return chunkRCOJ7JG5_cjs.ConnectedNativeDocxComparison; }
53
+ get: function () { return chunkEBNY3RTL_cjs.ConnectedNativeDocxComparison; }
54
54
  });
55
55
  Object.defineProperty(exports, "ConnectedStreamedWordArtifact", {
56
56
  enumerable: true,
57
- get: function () { return chunkKXRGVY3M_cjs.ConnectedStreamedWordArtifact; }
57
+ get: function () { return chunkILLWGL7Q_cjs.ConnectedStreamedWordArtifact; }
58
58
  });
59
59
  Object.defineProperty(exports, "ConnectedNativeDocxEditor", {
60
60
  enumerable: true,
61
- get: function () { return chunkCLPDKHSP_cjs.ConnectedNativeDocxEditor; }
61
+ get: function () { return chunkHYDIQEDT_cjs.ConnectedNativeDocxEditor; }
62
62
  });
63
63
  Object.defineProperty(exports, "useConnectedNativeDocxAdapter", {
64
64
  enumerable: true,
65
- get: function () { return chunkCLPDKHSP_cjs.useConnectedNativeDocxAdapter; }
65
+ get: function () { return chunkHYDIQEDT_cjs.useConnectedNativeDocxAdapter; }
66
66
  });
67
67
  exports.useConnectedMailWordEditor = useConnectedMailWordEditor;
68
68
  //# sourceMappingURL=docx.cjs.map
@@ -1,42 +1,42 @@
1
1
  "use client";
2
- export { ConnectedNativeDocxComparison } from '../chunk-TVLY7FTU.js';
3
- export { ConnectedStreamedWordArtifact } from '../chunk-KPD7WAXP.js';
4
- import { useConnectedNativeDocxAdapter } from '../chunk-WWMVVAA5.js';
5
- export { ConnectedNativeDocxEditor, useConnectedNativeDocxAdapter } from '../chunk-WWMVVAA5.js';
6
- import '../chunk-K2U5BCQ2.js';
7
- import '../chunk-CCUXCN4M.js';
8
- import '../chunk-JVJOIZNN.js';
2
+ export { ConnectedNativeDocxComparison } from '../chunk-DW7LSBIW.js';
3
+ export { ConnectedStreamedWordArtifact } from '../chunk-S6QBLVPP.js';
9
4
  import '../chunk-IVY4EEN5.js';
10
5
  import '../chunk-I3FNY475.js';
6
+ import { useConnectedNativeDocxAdapter } from '../chunk-2AEWXS4X.js';
7
+ export { ConnectedNativeDocxEditor, useConnectedNativeDocxAdapter } from '../chunk-2AEWXS4X.js';
11
8
  import '../chunk-MTSKK3BN.js';
12
9
  import '../chunk-Y7UIFRWC.js';
10
+ import '../chunk-K2U5BCQ2.js';
13
11
  import '../chunk-TROXWCQQ.js';
14
12
  import '../chunk-IA5BYEO7.js';
15
- import '../chunk-BH4MK2J5.js';
16
13
  import '../chunk-IYUKJESY.js';
17
14
  import '../chunk-AF6RDAJF.js';
18
- import '../chunk-FKPFKSDT.js';
15
+ import '../chunk-7SQVZML4.js';
16
+ import '../chunk-PA2I7GLY.js';
19
17
  import '../chunk-4QUUU7GH.js';
20
18
  import '../chunk-DL6KPLNR.js';
19
+ import '../chunk-MMSBCSGH.js';
20
+ import '../chunk-YQPI7SRN.js';
21
21
  import '../chunk-RLWIUUQ5.js';
22
22
  import '../chunk-ZQ5YTC3P.js';
23
23
  import '../chunk-L3BEWZWT.js';
24
24
  import '../chunk-P4CH2ATT.js';
25
- import '../chunk-WNDIVNPT.js';
26
- import '../chunk-KPLWLHWH.js';
27
- import '../chunk-USTSEENR.js';
28
- import '../chunk-P6GHJSLR.js';
29
- import '../chunk-7SQVZML4.js';
30
- import '../chunk-MMSBCSGH.js';
31
- import '../chunk-YQPI7SRN.js';
32
25
  import '../chunk-XDDORJPA.js';
26
+ import '../chunk-KPLWLHWH.js';
33
27
  import '../chunk-X5YMI6A7.js';
28
+ import '../chunk-7F5Z4K5W.js';
29
+ import '../chunk-SLSBJRWW.js';
30
+ import '../chunk-WNDIVNPT.js';
31
+ import '../chunk-CCUXCN4M.js';
32
+ import '../chunk-JVJOIZNN.js';
33
+ import '../chunk-BH4MK2J5.js';
34
+ import '../chunk-USTSEENR.js';
34
35
  import '../chunk-NPLYHR2E.js';
36
+ import '../chunk-P6GHJSLR.js';
35
37
  import '../chunk-SV65E4QW.js';
36
38
  import '../chunk-3KA6GZUW.js';
37
39
  import '../chunk-WTTPZMZ7.js';
38
- import '../chunk-7F5Z4K5W.js';
39
- import '../chunk-SLSBJRWW.js';
40
40
  import '../chunk-TX2ZICS7.js';
41
41
  import '../chunk-UP3GCNPM.js';
42
42
  import '../chunk-VUNV25KB.js';