@arbidocs/blocks 0.5.67 → 0.5.69

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 (173) hide show
  1. package/README.md +16 -12
  2. package/dist/{ConnectedCallDock-VMEBH4LG.js → ConnectedCallDock-3EHDHB5D.js} +4 -4
  3. package/dist/{ConnectedCallDock-VMEBH4LG.js.map → ConnectedCallDock-3EHDHB5D.js.map} +1 -1
  4. package/dist/{ConnectedCallDock-FFIDDYGH.cjs → ConnectedCallDock-NXF2YSY2.cjs} +4 -4
  5. package/dist/{ConnectedCallDock-FFIDDYGH.cjs.map → ConnectedCallDock-NXF2YSY2.cjs.map} +1 -1
  6. package/dist/ConnectedCallRoom-2FNSX2VG.js +2 -2
  7. package/dist/ConnectedCallRoom-HYRLJUIV.cjs +2 -2
  8. package/dist/{ConnectedDocumentViewer-NIZBKBJN.js → ConnectedDocumentViewer-2GU4SA5L.js} +11 -11
  9. package/dist/{ConnectedDocumentViewer-NIZBKBJN.js.map → ConnectedDocumentViewer-2GU4SA5L.js.map} +1 -1
  10. package/dist/{ConnectedDocumentViewer-IQHDCAZ5.cjs → ConnectedDocumentViewer-R5GFEUPB.cjs} +12 -12
  11. package/dist/{ConnectedDocumentViewer-IQHDCAZ5.cjs.map → ConnectedDocumentViewer-R5GFEUPB.cjs.map} +1 -1
  12. package/dist/{ConnectedNativeDocxComparison-FPW3BNBN.js → ConnectedNativeDocxComparison-KGRT2RSK.js} +8 -8
  13. package/dist/{ConnectedNativeDocxComparison-FPW3BNBN.js.map → ConnectedNativeDocxComparison-KGRT2RSK.js.map} +1 -1
  14. package/dist/{ConnectedNativeDocxComparison-HJ4FTVH6.cjs → ConnectedNativeDocxComparison-NMVGZYYW.cjs} +9 -9
  15. package/dist/{ConnectedNativeDocxComparison-HJ4FTVH6.cjs.map → ConnectedNativeDocxComparison-NMVGZYYW.cjs.map} +1 -1
  16. package/dist/{ConnectedNativeDocxEditor-PF46MU5H.cjs → ConnectedNativeDocxEditor-NZZSG4N7.cjs} +9 -9
  17. package/dist/{ConnectedNativeDocxEditor-PF46MU5H.cjs.map → ConnectedNativeDocxEditor-NZZSG4N7.cjs.map} +1 -1
  18. package/dist/{ConnectedNativeDocxEditor-S7NJMDSU.js → ConnectedNativeDocxEditor-WO4MQUEJ.js} +7 -7
  19. package/dist/{ConnectedNativeDocxEditor-S7NJMDSU.js.map → ConnectedNativeDocxEditor-WO4MQUEJ.js.map} +1 -1
  20. package/dist/{ConnectedStreamedWordArtifact-5MHLV24V.js → ConnectedStreamedWordArtifact-PETCKJXL.js} +8 -8
  21. package/dist/ConnectedStreamedWordArtifact-PETCKJXL.js.map +1 -0
  22. package/dist/{ConnectedStreamedWordArtifact-LNGW7YGV.cjs → ConnectedStreamedWordArtifact-UIXR3P3H.cjs} +9 -9
  23. package/dist/ConnectedStreamedWordArtifact-UIXR3P3H.cjs.map +1 -0
  24. package/dist/DocumentReviewCard-5U3TGJZA.js +2 -2
  25. package/dist/DocumentReviewCard-VFNMJSK7.cjs +2 -2
  26. package/dist/{WorkspaceTableView-EH5CEB44.js → WorkspaceTableView-LBESYCXW.js} +4 -4
  27. package/dist/{WorkspaceTableView-EH5CEB44.js.map → WorkspaceTableView-LBESYCXW.js.map} +1 -1
  28. package/dist/{WorkspaceTableView-DHMCJRC6.cjs → WorkspaceTableView-OIMBOLG6.cjs} +4 -4
  29. package/dist/{WorkspaceTableView-DHMCJRC6.cjs.map → WorkspaceTableView-OIMBOLG6.cjs.map} +1 -1
  30. package/dist/agents/index.cjs +283 -287
  31. package/dist/agents/index.js +6 -6
  32. package/dist/agents/tasks/ConversationListView.d.ts +0 -2
  33. package/dist/agents/tasks/PersonPill.d.ts +1 -2
  34. package/dist/agents/tasks/TaskTable.d.ts +0 -14
  35. package/dist/agents/tasks/ThreadStatusLine.d.ts +1 -4
  36. package/dist/agents/tasks/UploadTaskList.d.ts +1 -5
  37. package/dist/agents/tasks/WorkflowComposer.d.ts +1 -1
  38. package/dist/agents/tasks/WorkflowsTable.d.ts +3 -4
  39. package/dist/agents/tasks/index.d.ts +0 -2
  40. package/dist/agents/tasks/taskComposerTypes.d.ts +0 -1
  41. package/dist/agents/workflows/WorkflowConfigDialog.d.ts +2 -3
  42. package/dist/agents/workflows/WorkflowRunner.d.ts +3 -7
  43. package/dist/calendar/index.cjs +116 -116
  44. package/dist/calendar/index.js +1 -1
  45. package/dist/calls/index.cjs +1 -1
  46. package/dist/calls/index.js +1 -1
  47. package/dist/chat/index.cjs +2 -2
  48. package/dist/chat/index.js +2 -2
  49. package/dist/{chunk-PVPGD6QR.js → chunk-34DWIXUN.js} +3 -3
  50. package/dist/{chunk-PVPGD6QR.js.map → chunk-34DWIXUN.js.map} +1 -1
  51. package/dist/{chunk-QUZPQWPX.js → chunk-4SXG6ACE.js} +237 -5
  52. package/dist/chunk-4SXG6ACE.js.map +1 -0
  53. package/dist/{chunk-23ACBETH.cjs → chunk-5CKTUHNS.cjs} +4 -4
  54. package/dist/{chunk-23ACBETH.cjs.map → chunk-5CKTUHNS.cjs.map} +1 -1
  55. package/dist/{chunk-3VFQYKB5.cjs → chunk-7TOBKEOV.cjs} +284 -74
  56. package/dist/chunk-7TOBKEOV.cjs.map +1 -0
  57. package/dist/{chunk-45Y7ASBC.cjs → chunk-7ZVL44YM.cjs} +49 -51
  58. package/dist/chunk-7ZVL44YM.cjs.map +1 -0
  59. package/dist/{chunk-COZDIUG7.cjs → chunk-BI6O7OMA.cjs} +32 -14
  60. package/dist/chunk-BI6O7OMA.cjs.map +1 -0
  61. package/dist/{chunk-JWRTUYLC.js → chunk-BPPX3ESB.js} +3 -3
  62. package/dist/{chunk-JWRTUYLC.js.map → chunk-BPPX3ESB.js.map} +1 -1
  63. package/dist/{chunk-FHXXDPNU.cjs → chunk-CCTNZ25D.cjs} +32 -460
  64. package/dist/chunk-CCTNZ25D.cjs.map +1 -0
  65. package/dist/{chunk-HGFU47TY.js → chunk-D4LZKHIL.js} +3 -3
  66. package/dist/{chunk-HGFU47TY.js.map → chunk-D4LZKHIL.js.map} +1 -1
  67. package/dist/{chunk-EOIJ5JYP.cjs → chunk-DDUHNTD3.cjs} +4 -4
  68. package/dist/{chunk-EOIJ5JYP.cjs.map → chunk-DDUHNTD3.cjs.map} +1 -1
  69. package/dist/{chunk-AWVGKHJT.js → chunk-E5RN3LWS.js} +2 -2
  70. package/dist/{chunk-AWVGKHJT.js.map → chunk-E5RN3LWS.js.map} +1 -1
  71. package/dist/{chunk-Z4KXF7WS.cjs → chunk-EG6YBT7G.cjs} +7 -7
  72. package/dist/{chunk-Z4KXF7WS.cjs.map → chunk-EG6YBT7G.cjs.map} +1 -1
  73. package/dist/{chunk-2FRUMQLS.cjs → chunk-EUGCT5MB.cjs} +3 -3
  74. package/dist/{chunk-2FRUMQLS.cjs.map → chunk-EUGCT5MB.cjs.map} +1 -1
  75. package/dist/{chunk-RFKAE6WS.js → chunk-G7GPG5NO.js} +26 -453
  76. package/dist/chunk-G7GPG5NO.js.map +1 -0
  77. package/dist/{chunk-YBVBDVQX.cjs → chunk-GE45EHTG.cjs} +18 -18
  78. package/dist/{chunk-YBVBDVQX.cjs.map → chunk-GE45EHTG.cjs.map} +1 -1
  79. package/dist/{chunk-PGKZBAJB.js → chunk-KIDUTH2V.js} +9 -11
  80. package/dist/chunk-KIDUTH2V.js.map +1 -0
  81. package/dist/{chunk-TAI23FCY.js → chunk-KVNXCL2Y.js} +8 -9
  82. package/dist/chunk-KVNXCL2Y.js.map +1 -0
  83. package/dist/{chunk-W3PSIIMN.cjs → chunk-LM7DVT7C.cjs} +2 -2
  84. package/dist/{chunk-W3PSIIMN.cjs.map → chunk-LM7DVT7C.cjs.map} +1 -1
  85. package/dist/{chunk-Y6ZNWC7E.cjs → chunk-OYRORWS2.cjs} +13 -14
  86. package/dist/chunk-OYRORWS2.cjs.map +1 -0
  87. package/dist/{chunk-OZL5ABLF.js → chunk-PLUMPQA4.js} +6 -9
  88. package/dist/chunk-PLUMPQA4.js.map +1 -0
  89. package/dist/{chunk-323R76RZ.js → chunk-PTBGTGFG.js} +3 -3
  90. package/dist/{chunk-323R76RZ.js.map → chunk-PTBGTGFG.js.map} +1 -1
  91. package/dist/{chunk-BWWND4Y7.js → chunk-QQLGNNZI.js} +3 -3
  92. package/dist/{chunk-BWWND4Y7.js.map → chunk-QQLGNNZI.js.map} +1 -1
  93. package/dist/{chunk-UDMII47W.cjs → chunk-SU374FEM.cjs} +10 -13
  94. package/dist/chunk-SU374FEM.cjs.map +1 -0
  95. package/dist/{chunk-APXW5XGA.js → chunk-TJJE3XOO.js} +3 -3
  96. package/dist/{chunk-APXW5XGA.js.map → chunk-TJJE3XOO.js.map} +1 -1
  97. package/dist/{chunk-ZIQGSFHG.cjs → chunk-VSABGETQ.cjs} +5 -5
  98. package/dist/{chunk-ZIQGSFHG.cjs.map → chunk-VSABGETQ.cjs.map} +1 -1
  99. package/dist/{chunk-SBVOYSOO.js → chunk-WH2BIMAZ.js} +3 -3
  100. package/dist/{chunk-SBVOYSOO.js.map → chunk-WH2BIMAZ.js.map} +1 -1
  101. package/dist/{chunk-F73EZQT4.cjs → chunk-WJEJF5NT.cjs} +242 -3
  102. package/dist/chunk-WJEJF5NT.cjs.map +1 -0
  103. package/dist/{chunk-W5D5GFP2.js → chunk-WLA3DA62.js} +281 -71
  104. package/dist/chunk-WLA3DA62.js.map +1 -0
  105. package/dist/{chunk-ZDZY6OPL.cjs → chunk-XUEJYHEP.cjs} +3 -3
  106. package/dist/{chunk-ZDZY6OPL.cjs.map → chunk-XUEJYHEP.cjs.map} +1 -1
  107. package/dist/{chunk-NDVLCOWS.js → chunk-Z6LX4ZGL.js} +31 -13
  108. package/dist/chunk-Z6LX4ZGL.js.map +1 -0
  109. package/dist/connect/docx.cjs +13 -13
  110. package/dist/connect/docx.js +9 -9
  111. package/dist/connect/index.cjs +609 -655
  112. package/dist/connect/index.cjs.map +1 -1
  113. package/dist/connect/index.d.ts +1 -0
  114. package/dist/connect/index.js +210 -257
  115. package/dist/connect/index.js.map +1 -1
  116. package/dist/connect/viewer.cjs +10 -10
  117. package/dist/connect/viewer.js +9 -9
  118. package/dist/connection/ConnectedWorkflowBuilder.d.ts +1 -4
  119. package/dist/connection/ConnectedWorkflowHistory.d.ts +1 -4
  120. package/dist/connection/ConnectedWorkflowRunner.d.ts +3 -4
  121. package/dist/connection/ConnectedWorkflowsTable.d.ts +5 -4
  122. package/dist/connection/conversation/ConnectedMessageArea.d.ts +2 -0
  123. package/dist/connection/conversation/ConnectedMessageList.d.ts +4 -1
  124. package/dist/connection/embedded/EmbeddedChatPanel.d.ts +3 -1
  125. package/dist/connection/facts/ConnectedFactsPage.d.ts +8 -8
  126. package/dist/connection/facts/ConnectedFactsSmartSearch.d.ts +9 -0
  127. package/dist/connection/facts/types.d.ts +1 -6
  128. package/dist/connection/threads-page/ConnectedThreadsPage.d.ts +1 -4
  129. package/dist/connection/viewer/useImageCrop.d.ts +6 -3
  130. package/dist/connection/workflows/ConnectedWorkflowsPage.d.ts +4 -13
  131. package/dist/connection/workflows/support.d.ts +1 -1
  132. package/dist/dashboards/index.cjs +1 -1
  133. package/dist/dashboards/index.js +1 -1
  134. package/dist/embed/index.cjs +19 -11
  135. package/dist/embed/index.d.ts +2 -0
  136. package/dist/embed/index.js +8 -8
  137. package/dist/facts/index.cjs +70 -281
  138. package/dist/facts/index.cjs.map +1 -1
  139. package/dist/facts/index.js +9 -241
  140. package/dist/facts/index.js.map +1 -1
  141. package/dist/files/index.cjs +1 -1
  142. package/dist/files/index.js +1 -1
  143. package/dist/home/index.cjs +31 -31
  144. package/dist/home/index.js +4 -4
  145. package/dist/index.cjs +571 -575
  146. package/dist/index.js +20 -20
  147. package/dist/settings/index.cjs +2 -2
  148. package/dist/settings/index.js +2 -2
  149. package/dist/studio/index.cjs +2 -2
  150. package/dist/studio/index.js +2 -2
  151. package/dist/workflow-canvas/index.cjs +26 -31
  152. package/dist/workflow-canvas/index.cjs.map +1 -1
  153. package/dist/workflow-canvas/index.js +11 -16
  154. package/dist/workflow-canvas/index.js.map +1 -1
  155. package/node_modules/@arbidocs/coedit/package.json +1 -1
  156. package/package.json +5 -5
  157. package/dist/ConnectedStreamedWordArtifact-5MHLV24V.js.map +0 -1
  158. package/dist/ConnectedStreamedWordArtifact-LNGW7YGV.cjs.map +0 -1
  159. package/dist/agents/tasks/TaskInbox.d.ts +0 -26
  160. package/dist/chunk-3VFQYKB5.cjs.map +0 -1
  161. package/dist/chunk-45Y7ASBC.cjs.map +0 -1
  162. package/dist/chunk-COZDIUG7.cjs.map +0 -1
  163. package/dist/chunk-F73EZQT4.cjs.map +0 -1
  164. package/dist/chunk-FHXXDPNU.cjs.map +0 -1
  165. package/dist/chunk-NDVLCOWS.js.map +0 -1
  166. package/dist/chunk-OZL5ABLF.js.map +0 -1
  167. package/dist/chunk-PGKZBAJB.js.map +0 -1
  168. package/dist/chunk-QUZPQWPX.js.map +0 -1
  169. package/dist/chunk-RFKAE6WS.js.map +0 -1
  170. package/dist/chunk-TAI23FCY.js.map +0 -1
  171. package/dist/chunk-UDMII47W.cjs.map +0 -1
  172. package/dist/chunk-W5D5GFP2.js.map +0 -1
  173. package/dist/chunk-Y6ZNWC7E.cjs.map +0 -1
@@ -4,92 +4,90 @@
4
4
  var chunkCCSF7RI4_cjs = require('../chunk-CCSF7RI4.cjs');
5
5
  var chunkZ7DJS6M3_cjs = require('../chunk-Z7DJS6M3.cjs');
6
6
  var chunkBFIHXDO6_cjs = require('../chunk-BFIHXDO6.cjs');
7
- var chunk45Y7ASBC_cjs = require('../chunk-45Y7ASBC.cjs');
7
+ var chunk7ZVL44YM_cjs = require('../chunk-7ZVL44YM.cjs');
8
8
  var chunkE5625KT2_cjs = require('../chunk-E5625KT2.cjs');
9
9
  var chunk2GSZG6KA_cjs = require('../chunk-2GSZG6KA.cjs');
10
10
  var chunkHYAYXLIZ_cjs = require('../chunk-HYAYXLIZ.cjs');
11
11
  var chunkKWJW5TMH_cjs = require('../chunk-KWJW5TMH.cjs');
12
12
  var chunkPSIKUQYM_cjs = require('../chunk-PSIKUQYM.cjs');
13
- var chunk3VFQYKB5_cjs = require('../chunk-3VFQYKB5.cjs');
13
+ var chunk7TOBKEOV_cjs = require('../chunk-7TOBKEOV.cjs');
14
14
  var chunkCMYJEIZB_cjs = require('../chunk-CMYJEIZB.cjs');
15
15
  var chunkEGJ7WJ6Q_cjs = require('../chunk-EGJ7WJ6Q.cjs');
16
- var chunkF73EZQT4_cjs = require('../chunk-F73EZQT4.cjs');
16
+ var chunkWJEJF5NT_cjs = require('../chunk-WJEJF5NT.cjs');
17
17
  var chunkXFL67STW_cjs = require('../chunk-XFL67STW.cjs');
18
- var chunkZ4KXF7WS_cjs = require('../chunk-Z4KXF7WS.cjs');
18
+ var chunkEG6YBT7G_cjs = require('../chunk-EG6YBT7G.cjs');
19
19
  var chunkOU3RGQFX_cjs = require('../chunk-OU3RGQFX.cjs');
20
20
  require('../chunk-REH7PX3N.cjs');
21
21
  require('../chunk-H32DV7XS.cjs');
22
22
  var chunkJBL4PPEE_cjs = require('../chunk-JBL4PPEE.cjs');
23
- var chunkUDMII47W_cjs = require('../chunk-UDMII47W.cjs');
23
+ var chunkSU374FEM_cjs = require('../chunk-SU374FEM.cjs');
24
24
  var chunk464YPRAE_cjs = require('../chunk-464YPRAE.cjs');
25
25
  var chunkPICGTGEB_cjs = require('../chunk-PICGTGEB.cjs');
26
26
  var chunkT35SGVB2_cjs = require('../chunk-T35SGVB2.cjs');
27
27
  var chunk5FYU7ZIU_cjs = require('../chunk-5FYU7ZIU.cjs');
28
28
  var chunk6JRRJSJN_cjs = require('../chunk-6JRRJSJN.cjs');
29
- var chunk2FRUMQLS_cjs = require('../chunk-2FRUMQLS.cjs');
29
+ var chunkEUGCT5MB_cjs = require('../chunk-EUGCT5MB.cjs');
30
30
  var chunkVGNCU5JJ_cjs = require('../chunk-VGNCU5JJ.cjs');
31
31
  var chunk2WLXQGWC_cjs = require('../chunk-2WLXQGWC.cjs');
32
32
  require('../chunk-324RBHCF.cjs');
33
33
  var chunk223D4727_cjs = require('../chunk-223D4727.cjs');
34
34
  var chunk2VJBIBPE_cjs = require('../chunk-2VJBIBPE.cjs');
35
35
  var chunkTQSU3I4C_cjs = require('../chunk-TQSU3I4C.cjs');
36
+ var chunkLM7DVT7C_cjs = require('../chunk-LM7DVT7C.cjs');
37
+ var chunkQUMUAJ2P_cjs = require('../chunk-QUMUAJ2P.cjs');
36
38
  var chunkMISPPQBP_cjs = require('../chunk-MISPPQBP.cjs');
37
39
  require('../chunk-JH6JTI76.cjs');
38
40
  require('../chunk-UWIILWDI.cjs');
39
41
  var chunkIRY63R4L_cjs = require('../chunk-IRY63R4L.cjs');
40
42
  require('../chunk-ZESMRGDV.cjs');
41
- var chunkZIQGSFHG_cjs = require('../chunk-ZIQGSFHG.cjs');
43
+ var chunkVSABGETQ_cjs = require('../chunk-VSABGETQ.cjs');
42
44
  var chunkLEW4GUFW_cjs = require('../chunk-LEW4GUFW.cjs');
43
- require('../chunk-NEGFHF3V.cjs');
44
45
  var chunkZ3LFF3YT_cjs = require('../chunk-Z3LFF3YT.cjs');
45
46
  var chunkC2ECYOPP_cjs = require('../chunk-C2ECYOPP.cjs');
46
47
  var chunkTMX7YFVM_cjs = require('../chunk-TMX7YFVM.cjs');
47
48
  require('../chunk-QXNEXPUL.cjs');
48
- var chunkVPPX5XUF_cjs = require('../chunk-VPPX5XUF.cjs');
49
- require('../chunk-PCB2BPN3.cjs');
50
49
  var chunkGOWXP5KT_cjs = require('../chunk-GOWXP5KT.cjs');
51
50
  var chunkYCO4ZBBL_cjs = require('../chunk-YCO4ZBBL.cjs');
52
51
  var chunkQZTNTP75_cjs = require('../chunk-QZTNTP75.cjs');
52
+ require('../chunk-NEGFHF3V.cjs');
53
+ var chunkVPPX5XUF_cjs = require('../chunk-VPPX5XUF.cjs');
54
+ require('../chunk-PCB2BPN3.cjs');
53
55
  require('../chunk-NWNVWO6L.cjs');
54
56
  var chunkXDMIVPJP_cjs = require('../chunk-XDMIVPJP.cjs');
55
57
  require('../chunk-7G2LJMUG.cjs');
56
58
  var chunkJIOHDVWH_cjs = require('../chunk-JIOHDVWH.cjs');
57
59
  var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
58
- var chunkMZZ3SBQL_cjs = require('../chunk-MZZ3SBQL.cjs');
59
- var chunk5Y6V7F6W_cjs = require('../chunk-5Y6V7F6W.cjs');
60
60
  var chunkIXZCXK6Q_cjs = require('../chunk-IXZCXK6Q.cjs');
61
61
  var chunkXWUGPV7H_cjs = require('../chunk-XWUGPV7H.cjs');
62
+ var chunkMZZ3SBQL_cjs = require('../chunk-MZZ3SBQL.cjs');
62
63
  var chunkAXAHA4LL_cjs = require('../chunk-AXAHA4LL.cjs');
63
- var chunkY5WE72RB_cjs = require('../chunk-Y5WE72RB.cjs');
64
- var chunk4623VCCR_cjs = require('../chunk-4623VCCR.cjs');
64
+ var chunk5Y6V7F6W_cjs = require('../chunk-5Y6V7F6W.cjs');
65
65
  require('../chunk-VLCY46K6.cjs');
66
66
  var chunkI4NP577O_cjs = require('../chunk-I4NP577O.cjs');
67
- var chunkZU2B2RZK_cjs = require('../chunk-ZU2B2RZK.cjs');
68
67
  var chunkNSD37OF5_cjs = require('../chunk-NSD37OF5.cjs');
68
+ var chunkZU2B2RZK_cjs = require('../chunk-ZU2B2RZK.cjs');
69
69
  require('../chunk-72YEEUH7.cjs');
70
70
  require('../chunk-D54JXTPG.cjs');
71
- var chunkFHXXDPNU_cjs = require('../chunk-FHXXDPNU.cjs');
71
+ var chunkCCTNZ25D_cjs = require('../chunk-CCTNZ25D.cjs');
72
72
  var chunkZXW6WFZG_cjs = require('../chunk-ZXW6WFZG.cjs');
73
73
  require('../chunk-I4IS6ST6.cjs');
74
74
  var chunkRFIBUWLF_cjs = require('../chunk-RFIBUWLF.cjs');
75
- var chunkY6ZNWC7E_cjs = require('../chunk-Y6ZNWC7E.cjs');
75
+ var chunkOYRORWS2_cjs = require('../chunk-OYRORWS2.cjs');
76
76
  require('../chunk-3YEXZX4H.cjs');
77
- var chunkZDZY6OPL_cjs = require('../chunk-ZDZY6OPL.cjs');
77
+ var chunkXUEJYHEP_cjs = require('../chunk-XUEJYHEP.cjs');
78
78
  var chunkAQPZ4QMV_cjs = require('../chunk-AQPZ4QMV.cjs');
79
79
  require('../chunk-SIB6C7P7.cjs');
80
80
  require('../chunk-DVUZTGVL.cjs');
81
- var chunkV4ISCZJ7_cjs = require('../chunk-V4ISCZJ7.cjs');
82
81
  require('../chunk-AHDJXIUB.cjs');
82
+ var chunkV4ISCZJ7_cjs = require('../chunk-V4ISCZJ7.cjs');
83
83
  var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
84
84
  require('../chunk-2UYT7MIX.cjs');
85
85
  var chunkLKK52DEY_cjs = require('../chunk-LKK52DEY.cjs');
86
+ var chunkVZOOGA47_cjs = require('../chunk-VZOOGA47.cjs');
86
87
  var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
87
88
  var chunkLM6IGIXR_cjs = require('../chunk-LM6IGIXR.cjs');
88
89
  var chunkHXSIR4PI_cjs = require('../chunk-HXSIR4PI.cjs');
89
90
  var chunkCG757WKY_cjs = require('../chunk-CG757WKY.cjs');
90
- var chunkW3PSIIMN_cjs = require('../chunk-W3PSIIMN.cjs');
91
- var chunkQUMUAJ2P_cjs = require('../chunk-QUMUAJ2P.cjs');
92
- var chunkVZOOGA47_cjs = require('../chunk-VZOOGA47.cjs');
93
91
  var chunk33PWCTND_cjs = require('../chunk-33PWCTND.cjs');
94
92
  var chunkRGPKW6KQ_cjs = require('../chunk-RGPKW6KQ.cjs');
95
93
  require('../chunk-J25NN3XJ.cjs');
@@ -107,20 +105,22 @@ var chunk2NW66KJF_cjs = require('../chunk-2NW66KJF.cjs');
107
105
  var chunkDASZUEP3_cjs = require('../chunk-DASZUEP3.cjs');
108
106
  var chunkUVZSX6GP_cjs = require('../chunk-UVZSX6GP.cjs');
109
107
  var chunkWWFHS6EI_cjs = require('../chunk-WWFHS6EI.cjs');
110
- require('../chunk-Z2XZ2D4N.cjs');
111
108
  var chunkGMGEAWFX_cjs = require('../chunk-GMGEAWFX.cjs');
109
+ require('../chunk-Z2XZ2D4N.cjs');
112
110
  require('../chunk-KQF7POTG.cjs');
113
111
  require('../chunk-IN6ILI5A.cjs');
114
112
  require('../chunk-BRDCHYIT.cjs');
115
113
  var chunk555BS22J_cjs = require('../chunk-555BS22J.cjs');
116
114
  require('../chunk-CQ2YSHIF.cjs');
117
115
  require('../chunk-32HW2Q33.cjs');
118
- var chunkUFEXJIEY_cjs = require('../chunk-UFEXJIEY.cjs');
119
116
  var chunkFX3K6LNZ_cjs = require('../chunk-FX3K6LNZ.cjs');
120
117
  var chunk3UGJCSTO_cjs = require('../chunk-3UGJCSTO.cjs');
121
118
  require('../chunk-MCD5TKG7.cjs');
122
119
  var chunk725OETK3_cjs = require('../chunk-725OETK3.cjs');
123
120
  require('../chunk-PPCATBOY.cjs');
121
+ var chunkY5WE72RB_cjs = require('../chunk-Y5WE72RB.cjs');
122
+ var chunk4623VCCR_cjs = require('../chunk-4623VCCR.cjs');
123
+ var chunkUFEXJIEY_cjs = require('../chunk-UFEXJIEY.cjs');
124
124
  var chunkT6GRWWRY_cjs = require('../chunk-T6GRWWRY.cjs');
125
125
  var chunkGMM3RBIB_cjs = require('../chunk-GMM3RBIB.cjs');
126
126
  var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
@@ -233,7 +233,7 @@ function ConnectedWorkspaceActivity({
233
233
  [feed.data]
234
234
  );
235
235
  return /* @__PURE__ */ jsxRuntime.jsx(
236
- chunkZIQGSFHG_cjs.WorkspaceActivityList,
236
+ chunkVSABGETQ_cjs.WorkspaceActivityList,
237
237
  {
238
238
  ...listProps,
239
239
  items,
@@ -267,7 +267,7 @@ function resolveAttendeeUsers(attendees, known, me) {
267
267
  if (a.kind === "room" || a.kind === "resource") continue;
268
268
  const u = a.user_id && byId.get(a.user_id) || a.email && byEmail.get(a.email.toLowerCase());
269
269
  if (!u || u.is_agent || !u.encryption_public_key || u.external_id === me) continue;
270
- out.set(chunkW3PSIIMN_cjs.attendeeKey(a), {
270
+ out.set(chunkLM7DVT7C_cjs.attendeeKey(a), {
271
271
  external_id: u.external_id,
272
272
  encryption_public_key: u.encryption_public_key
273
273
  });
@@ -293,7 +293,7 @@ async function resolveAttendeeUsersRemote(arbi, attendees, known, me) {
293
293
  try {
294
294
  const found = await arbi.calendar.peopleKeys({ emails, user_ids: userIds });
295
295
  const extra = resolveAttendeeUsers(
296
- people.filter((a) => !local.has(chunkW3PSIIMN_cjs.attendeeKey(a))),
296
+ people.filter((a) => !local.has(chunkLM7DVT7C_cjs.attendeeKey(a))),
297
297
  found.map((f) => ({
298
298
  external_id: f.user_id,
299
299
  email: f.email,
@@ -370,7 +370,7 @@ async function loadEventWebinar(arbi, url, attendees) {
370
370
  const a = attendees.find(
371
371
  (x) => x.user_id === inv.user_ext_id || !!x.email && x.email.toLowerCase() === inv.email?.toLowerCase()
372
372
  );
373
- if (a) roles[chunkW3PSIIMN_cjs.attendeeKey(a)] = inv.role ?? "attendee";
373
+ if (a) roles[chunkLM7DVT7C_cjs.attendeeKey(a)] = inv.role ?? "attendee";
374
374
  }
375
375
  return roles;
376
376
  }
@@ -1370,7 +1370,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
1370
1370
  onChange: (e) => {
1371
1371
  const file = e.target.files?.[0];
1372
1372
  e.target.value = "";
1373
- if (file) void add(() => chunkFHXXDPNU_cjs.importSkillFile(file));
1373
+ if (file) void add(() => chunkCCTNZ25D_cjs.importSkillFile(file));
1374
1374
  }
1375
1375
  }
1376
1376
  ),
@@ -1395,7 +1395,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
1395
1395
  className: "space-y-2",
1396
1396
  onSubmit: (e) => {
1397
1397
  e.preventDefault();
1398
- if (url.trim()) void add(() => chunkFHXXDPNU_cjs.importSkillFromUrl(url));
1398
+ if (url.trim()) void add(() => chunkCCTNZ25D_cjs.importSkillFromUrl(url));
1399
1399
  },
1400
1400
  children: [
1401
1401
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
@@ -1458,9 +1458,9 @@ function ConnectedSkillsLibrary({
1458
1458
  const [type, setType] = react$1.useState("all");
1459
1459
  const [view, setView] = react$1.useState("gallery");
1460
1460
  const [isBusy, setIsBusy] = react$1.useState(false);
1461
- const all = react$1.useMemo(() => chunkFHXXDPNU_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
1461
+ const all = react$1.useMemo(() => chunkCCTNZ25D_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
1462
1462
  const shown = react$1.useMemo(
1463
- () => chunkFHXXDPNU_cjs.filterLibrarySkills(all, { query, source, type }),
1463
+ () => chunkCCTNZ25D_cjs.filterLibrarySkills(all, { query, source, type }),
1464
1464
  [all, query, source, type]
1465
1465
  );
1466
1466
  const current = all.find((s) => s.slug === selected) ?? null;
@@ -1471,21 +1471,21 @@ function ConnectedSkillsLibrary({
1471
1471
  const count2 = (s) => all.filter((x) => x.source === s).length;
1472
1472
  const sourceOptions = [
1473
1473
  { id: "all", label: "All", count: all.length },
1474
- { id: "builtin", label: chunkFHXXDPNU_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
1475
- { id: "mine", label: chunkFHXXDPNU_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
1476
- { id: "shared", label: chunkFHXXDPNU_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
1474
+ { id: "builtin", label: chunkCCTNZ25D_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
1475
+ { id: "mine", label: chunkCCTNZ25D_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
1476
+ { id: "shared", label: chunkCCTNZ25D_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
1477
1477
  ];
1478
1478
  const types = [...new Set(all.map((s) => s.type))];
1479
1479
  const typeOptions = [
1480
1480
  { id: "all", label: "Any kind" },
1481
- ...types.map((t) => ({ id: t, label: chunkFHXXDPNU_cjs.SKILL_TYPE_LABELS[t] ?? t }))
1481
+ ...types.map((t) => ({ id: t, label: chunkCCTNZ25D_cjs.SKILL_TYPE_LABELS[t] ?? t }))
1482
1482
  ];
1483
1483
  const pick = (slug) => {
1484
1484
  setSelected(slug);
1485
1485
  setMode("detail");
1486
1486
  };
1487
1487
  const markdownOf = async (skill) => {
1488
- if (!skill.docExtId) return chunkFHXXDPNU_cjs.workflowToSkillMarkdown(skill.workflow);
1488
+ if (!skill.docExtId) return chunkCCTNZ25D_cjs.workflowToSkillMarkdown(skill.workflow);
1489
1489
  const response = await arbi.documents.download(skill.docExtId);
1490
1490
  if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
1491
1491
  return response.text();
@@ -1549,7 +1549,7 @@ function ConnectedSkillsLibrary({
1549
1549
  try {
1550
1550
  documentTools.downloadBlob(
1551
1551
  new Blob([await markdownOf(skill)], { type: "text/markdown" }),
1552
- chunkFHXXDPNU_cjs.SKILL_MAIN_FILENAME
1552
+ chunkCCTNZ25D_cjs.SKILL_MAIN_FILENAME
1553
1553
  );
1554
1554
  } catch (error) {
1555
1555
  notify17(errorText(error, "Could not export the skill"), "error");
@@ -1590,10 +1590,10 @@ function ConnectedSkillsLibrary({
1590
1590
  }
1591
1591
  )
1592
1592
  ] }),
1593
- /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.SkillViewToggle, { value: view, onChange: setView })
1593
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.SkillViewToggle, { value: view, onChange: setView })
1594
1594
  ] }),
1595
1595
  /* @__PURE__ */ jsxRuntime.jsx(
1596
- chunkFHXXDPNU_cjs.SkillFilterChips,
1596
+ chunkCCTNZ25D_cjs.SkillFilterChips,
1597
1597
  {
1598
1598
  label: "Show",
1599
1599
  value: source,
@@ -1602,7 +1602,7 @@ function ConnectedSkillsLibrary({
1602
1602
  }
1603
1603
  ),
1604
1604
  types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
1605
- chunkFHXXDPNU_cjs.SkillFilterChips,
1605
+ chunkCCTNZ25D_cjs.SkillFilterChips,
1606
1606
  {
1607
1607
  label: "Kind",
1608
1608
  value: type,
@@ -1649,12 +1649,12 @@ function ConnectedSkillsLibrary({
1649
1649
  view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
1650
1650
  ),
1651
1651
  children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
1652
- chunkFHXXDPNU_cjs.SkillTile,
1652
+ chunkCCTNZ25D_cjs.SkillTile,
1653
1653
  {
1654
1654
  name: skill.title,
1655
1655
  testId: `skill-tile-${skill.slug}`,
1656
1656
  description: skill.description,
1657
- sourceLabel: skill.isShared ? `${chunkFHXXDPNU_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkFHXXDPNU_cjs.SKILL_SOURCE_LABELS[skill.source],
1657
+ sourceLabel: skill.isShared ? `${chunkCCTNZ25D_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkCCTNZ25D_cjs.SKILL_SOURCE_LABELS[skill.source],
1658
1658
  type: skill.type,
1659
1659
  icon,
1660
1660
  layout: view,
@@ -1689,7 +1689,7 @@ function ConnectedSkillsLibrary({
1689
1689
  }
1690
1690
  ),
1691
1691
  mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
1692
- chunkFHXXDPNU_cjs.SkillGenerateForm,
1692
+ chunkCCTNZ25D_cjs.SkillGenerateForm,
1693
1693
  {
1694
1694
  icon,
1695
1695
  onGenerate: (desc) => {
@@ -1716,11 +1716,11 @@ function ConnectedSkillsLibrary({
1716
1716
  ),
1717
1717
  mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
1718
1718
  mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
1719
- chunkFHXXDPNU_cjs.SkillLibraryDetail,
1719
+ chunkCCTNZ25D_cjs.SkillLibraryDetail,
1720
1720
  {
1721
1721
  skill: current,
1722
1722
  icon,
1723
- instructions: current.docExtId ? currentText ? chunkFHXXDPNU_cjs.parseSkillFrontmatter(currentText, chunkFHXXDPNU_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
1723
+ instructions: current.docExtId ? currentText ? chunkCCTNZ25D_cjs.parseSkillFrontmatter(currentText, chunkCCTNZ25D_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
1724
1724
  isLoading: !!current.docExtId && textLoading,
1725
1725
  actions: {
1726
1726
  onRun: () => onRun(current.slug),
@@ -1755,7 +1755,7 @@ function SkillEditor({
1755
1755
  const [seeded, setSeeded] = react$1.useState(!isEditing);
1756
1756
  const [nameError, setNameError] = react$1.useState(null);
1757
1757
  if (isEditing && !seeded && text2 !== void 0) {
1758
- const parsed = chunkFHXXDPNU_cjs.parseSkillFrontmatter(text2, chunkFHXXDPNU_cjs.SKILL_MAIN_FILENAME);
1758
+ const parsed = chunkCCTNZ25D_cjs.parseSkillFrontmatter(text2, chunkCCTNZ25D_cjs.SKILL_MAIN_FILENAME);
1759
1759
  setDescription(parsed.description ?? "");
1760
1760
  setBody(parsed.content ?? "");
1761
1761
  setSeeded(true);
@@ -1769,15 +1769,15 @@ function SkillEditor({
1769
1769
  notify17("Add a short description.", "error");
1770
1770
  return;
1771
1771
  }
1772
- const slug = chunkFHXXDPNU_cjs.skillSlug(name);
1772
+ const slug = chunkCCTNZ25D_cjs.skillSlug(name);
1773
1773
  try {
1774
- await onSave(slug, chunkFHXXDPNU_cjs.serializeSkill({ name: slug, description, body }), isEditing);
1774
+ await onSave(slug, chunkCCTNZ25D_cjs.serializeSkill({ name: slug, description, body }), isEditing);
1775
1775
  } catch (err) {
1776
1776
  notify17(errorText(err, "Could not save the skill"), "error");
1777
1777
  }
1778
1778
  };
1779
1779
  return /* @__PURE__ */ jsxRuntime.jsx(
1780
- chunkFHXXDPNU_cjs.SkillEditForm,
1780
+ chunkCCTNZ25D_cjs.SkillEditForm,
1781
1781
  {
1782
1782
  name,
1783
1783
  onNameChange: setName,
@@ -1816,7 +1816,7 @@ var DEFAULT_CONNECTED_SKILLS_BROWSER_LABELS = {
1816
1816
  function ConnectedSkillsBrowser({
1817
1817
  props,
1818
1818
  onClose: close,
1819
- builtins = chunkFHXXDPNU_cjs.BUILTIN_SKILLS,
1819
+ builtins = chunkCCTNZ25D_cjs.BUILTIN_SKILLS,
1820
1820
  renderEditor,
1821
1821
  labels
1822
1822
  }) {
@@ -1869,7 +1869,7 @@ function ConnectedSkillsBrowser({
1869
1869
  }
1870
1870
  ) }),
1871
1871
  runSkillId && /* @__PURE__ */ jsxRuntime.jsx(
1872
- chunk45Y7ASBC_cjs.ConnectedTaskComposer,
1872
+ chunk7ZVL44YM_cjs.ConnectedTaskComposer,
1873
1873
  {
1874
1874
  kind: "workflow",
1875
1875
  open: true,
@@ -1893,9 +1893,9 @@ function ConnectedAgentCreator({
1893
1893
  agent,
1894
1894
  initialName,
1895
1895
  onSaved,
1896
- capabilities = chunkFHXXDPNU_cjs.DEFAULT_AGENT_CAPABILITIES,
1897
- templates = chunkFHXXDPNU_cjs.DEFAULT_AGENT_TEMPLATES,
1898
- types = chunkFHXXDPNU_cjs.DEFAULT_AGENT_TYPES,
1896
+ capabilities = chunkCCTNZ25D_cjs.DEFAULT_AGENT_CAPABILITIES,
1897
+ templates = chunkCCTNZ25D_cjs.DEFAULT_AGENT_TEMPLATES,
1898
+ types = chunkCCTNZ25D_cjs.DEFAULT_AGENT_TYPES,
1899
1899
  canRevokeWorkspaces = false,
1900
1900
  labels
1901
1901
  }) {
@@ -1937,7 +1937,7 @@ function ConnectedAgentCreator({
1937
1937
  const initialValues = react$1.useMemo(
1938
1938
  () => ({
1939
1939
  name: agent?.given_name ?? initialName ?? "",
1940
- persona: isEdit ? chunkFHXXDPNU_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
1940
+ persona: isEdit ? chunkCCTNZ25D_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
1941
1941
  modelName: String(agents.AGENT_MODEL_NAME ?? ""),
1942
1942
  capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
1943
1943
  type: "builtin",
@@ -1956,7 +1956,7 @@ function ConnectedAgentCreator({
1956
1956
  try {
1957
1957
  let agentExtId = agent?.external_id ?? early?.id ?? "";
1958
1958
  if (!agentExtId) {
1959
- if (!chunkFHXXDPNU_cjs.isValidAgentName(values.name)) {
1959
+ if (!chunkCCTNZ25D_cjs.isValidAgentName(values.name)) {
1960
1960
  notify17("Give the agent a name first.", "error");
1961
1961
  return;
1962
1962
  }
@@ -1992,7 +1992,7 @@ function ConnectedAgentCreator({
1992
1992
  title: `agent-${name}`,
1993
1993
  sections: {
1994
1994
  Agents: {
1995
- PERSONA: chunkFHXXDPNU_cjs.composePersona(name, values.persona),
1995
+ PERSONA: chunkCCTNZ25D_cjs.composePersona(name, values.persona),
1996
1996
  ...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
1997
1997
  ...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
1998
1998
  ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
@@ -2015,7 +2015,7 @@ function ConnectedAgentCreator({
2015
2015
  };
2016
2016
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2017
2017
  /* @__PURE__ */ jsxRuntime.jsx(
2018
- chunkFHXXDPNU_cjs.AgentCreator,
2018
+ chunkCCTNZ25D_cjs.AgentCreator,
2019
2019
  {
2020
2020
  open: ready,
2021
2021
  onOpenChange,
@@ -2031,11 +2031,11 @@ function ConnectedAgentCreator({
2031
2031
  ) : void 0,
2032
2032
  revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
2033
2033
  avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
2034
- chunkFHXXDPNU_cjs.AgentAvatarField,
2034
+ chunkCCTNZ25D_cjs.AgentAvatarField,
2035
2035
  {
2036
2036
  picture,
2037
2037
  isBusy: avatarBusy,
2038
- canGenerate: isEdit || chunkFHXXDPNU_cjs.isValidAgentName(values.name),
2038
+ canGenerate: isEdit || chunkCCTNZ25D_cjs.isValidAgentName(values.name),
2039
2039
  onGenerate: () => handleGenerateAvatar(values)
2040
2040
  }
2041
2041
  ),
@@ -2087,7 +2087,7 @@ function ConnectedAgentCreator({
2087
2087
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
2088
2088
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
2089
2089
  ] }),
2090
- connect && /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
2090
+ connect && /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
2091
2091
  ]
2092
2092
  }
2093
2093
  ) })
@@ -2234,7 +2234,7 @@ function AgentChat({ agentId, workspaceId, onOpenFull }) {
2234
2234
  placeholder: "Ask your agent\u2026",
2235
2235
  conversations: "Agent chats"
2236
2236
  },
2237
- renderContent: (message) => /* @__PURE__ */ jsxRuntime.jsx(chunk2FRUMQLS_cjs.DocumentWorkspaceContext.Provider, { value: workspaceId, children: /* @__PURE__ */ jsxRuntime.jsx(chunk2FRUMQLS_cjs.ConnectedMarkdown, { isStreaming: message.status === "streaming", children: message.content }) })
2237
+ renderContent: (message) => /* @__PURE__ */ jsxRuntime.jsx(chunkEUGCT5MB_cjs.DocumentWorkspaceContext.Provider, { value: workspaceId, children: /* @__PURE__ */ jsxRuntime.jsx(chunkEUGCT5MB_cjs.ConnectedMarkdown, { isStreaming: message.status === "streaming", children: message.content }) })
2238
2238
  }
2239
2239
  )
2240
2240
  ] });
@@ -2536,7 +2536,7 @@ function useMemoryCount(enabled) {
2536
2536
  }
2537
2537
  function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
2538
2538
  const { notify: notify17, openConversation, openDocument } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
2539
- const people = chunk45Y7ASBC_cjs.useTaskPeople();
2539
+ const people = chunk7ZVL44YM_cjs.useTaskPeople();
2540
2540
  const canEditShared = react.useCanEditShared();
2541
2541
  const isWorkspaceOwner = react.useIsWorkspaceOwner();
2542
2542
  const { data: workflows = [] } = react.useWorkflows({ live: true });
@@ -2562,7 +2562,7 @@ function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
2562
2562
  }, [documents]);
2563
2563
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2564
2564
  /* @__PURE__ */ jsxRuntime.jsx(
2565
- chunkFHXXDPNU_cjs.TaskTable,
2565
+ chunkCCTNZ25D_cjs.TaskTable,
2566
2566
  {
2567
2567
  tasks,
2568
2568
  isLoading,
@@ -2589,7 +2589,7 @@ function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
2589
2589
  }
2590
2590
  ),
2591
2591
  activityFor && /* @__PURE__ */ jsxRuntime.jsx(
2592
- chunk45Y7ASBC_cjs.ConnectedTaskActivityDialog,
2592
+ chunk7ZVL44YM_cjs.ConnectedTaskActivityDialog,
2593
2593
  {
2594
2594
  conversationId: activityFor.external_id,
2595
2595
  taskName: activityFor.title || l.untitledTask,
@@ -2611,7 +2611,7 @@ function AgentsLauncher({
2611
2611
  const { notify: notify17, openConversation } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
2612
2612
  const { workspaceId, ensureWorkspaceOpen } = chunkKGAYUFXD_cjs.useConnectedWorkspace();
2613
2613
  const { data: skills = [] } = react.useSkills({ enabled: includeSkills && !!workspaceId, live: true });
2614
- const workflowTasks = chunk45Y7ASBC_cjs.useWorkflowTasks();
2614
+ const workflowTasks = chunk7ZVL44YM_cjs.useWorkflowTasks();
2615
2615
  const launchable = react$1.useMemo(
2616
2616
  () => [
2617
2617
  ...workflows,
@@ -2634,7 +2634,7 @@ function AgentsLauncher({
2634
2634
  [workflows, includeSkills, skills, l.skillFiles]
2635
2635
  );
2636
2636
  const launch = async ({ workflow, inputs, agentId }) => {
2637
- const values = chunkFHXXDPNU_cjs.defaultTaskComposerValues(launchable, {
2637
+ const values = chunkCCTNZ25D_cjs.defaultTaskComposerValues(launchable, {
2638
2638
  workflowId: workflow.id,
2639
2639
  assignee: "agent",
2640
2640
  inputs,
@@ -2655,7 +2655,7 @@ function AgentsLauncher({
2655
2655
  }
2656
2656
  };
2657
2657
  return /* @__PURE__ */ jsxRuntime.jsx(
2658
- chunkUDMII47W_cjs.ConnectedWorkflowLauncher,
2658
+ chunkSU374FEM_cjs.ConnectedWorkflowLauncher,
2659
2659
  {
2660
2660
  workflows: launchable,
2661
2661
  onLaunch: launch,
@@ -2758,7 +2758,7 @@ function ConnectedAgentsPage({
2758
2758
  labels: agentOptions.managementLabels
2759
2759
  });
2760
2760
  const { agents, isLoading: agentsLoading } = management;
2761
- const tasksByAgent = react$1.useMemo(() => chunkFHXXDPNU_cjs.groupAgentTasks(tasks), [tasks]);
2761
+ const tasksByAgent = react$1.useMemo(() => chunkCCTNZ25D_cjs.groupAgentTasks(tasks), [tasks]);
2762
2762
  const behaviour = useAgentBehaviour(
2763
2763
  l.defaultBehaviour,
2764
2764
  details.includes("behaviour") || sections.includes("stats")
@@ -2783,7 +2783,7 @@ function ConnectedAgentsPage({
2783
2783
  renderDetails?.(agent)
2784
2784
  ] });
2785
2785
  const gallery = /* @__PURE__ */ jsxRuntime.jsx(
2786
- chunkFHXXDPNU_cjs.AgentGallery,
2786
+ chunkCCTNZ25D_cjs.AgentGallery,
2787
2787
  {
2788
2788
  count: agents.length,
2789
2789
  onCreate: management.create,
@@ -2793,10 +2793,10 @@ function ConnectedAgentsPage({
2793
2793
  const agentTasks = tasksByAgent.get(agent.external_id) ?? [];
2794
2794
  const running = agentTasks.filter((t) => t.in_progress);
2795
2795
  const watchConversationId = running[0]?.external_id ?? null;
2796
- const progress = agentTasks[0] ? chunkFHXXDPNU_cjs.goalProgress(agentTasks[0]) : null;
2796
+ const progress = agentTasks[0] ? chunkCCTNZ25D_cjs.goalProgress(agentTasks[0]) : null;
2797
2797
  const name = displayName(agent);
2798
2798
  return /* @__PURE__ */ jsxRuntime.jsx(
2799
- chunkFHXXDPNU_cjs.AgentCard,
2799
+ chunkCCTNZ25D_cjs.AgentCard,
2800
2800
  {
2801
2801
  name,
2802
2802
  avatar: avatar === "icon" ? /* @__PURE__ */ jsxRuntime.jsx(AgentIconAvatar, {}) : /* @__PURE__ */ jsxRuntime.jsx(AgentInitialsAvatar, { agent }),
@@ -2895,7 +2895,7 @@ function ConnectedAgentsPage({
2895
2895
  ) });
2896
2896
  case "scheduled":
2897
2897
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-[min(32rem,70dvh)] min-h-64 flex-col", children: /* @__PURE__ */ jsxRuntime.jsx(
2898
- chunkUDMII47W_cjs.ConnectedWorkflowsTable,
2898
+ chunkSU374FEM_cjs.ConnectedWorkflowsTable,
2899
2899
  {
2900
2900
  filter: "scheduled",
2901
2901
  onEdit: (w) => openWorkflow?.(w.external_id),
@@ -2923,7 +2923,7 @@ function ConnectedAgentsPage({
2923
2923
  const dialogs = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2924
2924
  /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentCreator, { ...management.editorProps, ...agentOptions.creator }),
2925
2925
  taskDialog && /* @__PURE__ */ jsxRuntime.jsx(
2926
- chunk45Y7ASBC_cjs.ConnectedTaskComposer,
2926
+ chunk7ZVL44YM_cjs.ConnectedTaskComposer,
2927
2927
  {
2928
2928
  open: true,
2929
2929
  onOpenChange: (open) => !open && setTaskDialog(null),
@@ -3223,7 +3223,7 @@ function ConnectedTagTable({
3223
3223
  const fail2 = (fallback) => (e) => notify17(browser.refusalReason(e, fallback), "error");
3224
3224
  const snapshot2 = (data) => {
3225
3225
  const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
3226
- const bytes = chunkZIQGSFHG_cjs.tagTableDocx(data, {
3226
+ const bytes = chunkVSABGETQ_cjs.tagTableDocx(data, {
3227
3227
  title,
3228
3228
  nameOf: (id) => people.find((p) => p.value === id)?.label
3229
3229
  });
@@ -3232,7 +3232,7 @@ function ConnectedTagTable({
3232
3232
  return { blob: new Blob([bytes], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }), name };
3233
3233
  };
3234
3234
  return /* @__PURE__ */ jsxRuntime.jsx(
3235
- chunkZIQGSFHG_cjs.TagTable,
3235
+ chunkVSABGETQ_cjs.TagTable,
3236
3236
  {
3237
3237
  ...props,
3238
3238
  table,
@@ -3313,7 +3313,7 @@ function DocTagPassages({ docId, tagId, label, docOf, testId }) {
3313
3313
  const doc = docOf(cited.doc_ext_id);
3314
3314
  const passages = ordered(cited);
3315
3315
  return /* @__PURE__ */ jsxRuntime.jsx(
3316
- chunkF73EZQT4_cjs.FactSourceGroup,
3316
+ chunkWJEJF5NT_cjs.FactSourceGroup,
3317
3317
  {
3318
3318
  docId: cited.doc_ext_id,
3319
3319
  hasPassages: passages.length > 0,
@@ -3370,9 +3370,9 @@ function GlossaryExport({ labelId, nameOf }) {
3370
3370
  const narrowed = agreements.find((a) => a.id === narrowTo);
3371
3371
  const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
3372
3372
  const download = (format) => {
3373
- const entries = chunkZIQGSFHG_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
3374
- const blob = format === "docx" ? new Blob([chunkZIQGSFHG_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunkZIQGSFHG_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
3375
- documentTools.downloadBlob(blob, chunkZIQGSFHG_cjs.glossaryFileName(title, format));
3373
+ const entries = chunkVSABGETQ_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
3374
+ const blob = format === "docx" ? new Blob([chunkVSABGETQ_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunkVSABGETQ_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
3375
+ documentTools.downloadBlob(blob, chunkVSABGETQ_cjs.glossaryFileName(title, format));
3376
3376
  };
3377
3377
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
3378
3378
  agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3917,7 +3917,7 @@ function KindSection({
3917
3917
  {
3918
3918
  testId: `tags-kind-${kind}`,
3919
3919
  title: ui.tagKindTitle(kind, { plural: true }),
3920
- description: chunkZIQGSFHG_cjs.tagKindDescription(kind),
3920
+ description: chunkVSABGETQ_cjs.tagKindDescription(kind),
3921
3921
  actions: picker,
3922
3922
  children: [
3923
3923
  browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3928,9 +3928,9 @@ function KindSection({
3928
3928
  children: [
3929
3929
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
3930
3930
  "Extracting ",
3931
- chunkZIQGSFHG_cjs.entitiesPhrase().toLowerCase(),
3931
+ chunkVSABGETQ_cjs.entitiesPhrase().toLowerCase(),
3932
3932
  " from ",
3933
- chunkZIQGSFHG_cjs.documentCount(extractingCount),
3933
+ chunkVSABGETQ_cjs.documentCount(extractingCount),
3934
3934
  "\u2026"
3935
3935
  ]
3936
3936
  }
@@ -3948,7 +3948,7 @@ function KindSection({
3948
3948
  onOpenDocument: (id) => openDocument(id),
3949
3949
  onOpenFact: ctx.onOpenFact,
3950
3950
  onOpenThread: (id) => openConversation(id),
3951
- labels: chunkZIQGSFHG_cjs.tagTableLabels(kind),
3951
+ labels: chunkVSABGETQ_cjs.tagTableLabels(kind),
3952
3952
  testId: `tags-table-${kind}`
3953
3953
  }
3954
3954
  )
@@ -4050,12 +4050,12 @@ function TagSection({
4050
4050
  onOpenDocument: (id) => openDocument(id),
4051
4051
  onOpenFact: ctx.onOpenFact,
4052
4052
  onOpenThread: (id) => openConversation(id),
4053
- labels: chunkZIQGSFHG_cjs.tagTableLabels(tag.kind),
4053
+ labels: chunkVSABGETQ_cjs.tagTableLabels(tag.kind),
4054
4054
  testId: "tags-rows"
4055
4055
  }
4056
4056
  ),
4057
4057
  /* @__PURE__ */ jsxRuntime.jsx(
4058
- chunkZIQGSFHG_cjs.TagDetail,
4058
+ chunkVSABGETQ_cjs.TagDetail,
4059
4059
  {
4060
4060
  row: detailRow && narrowTagRow(detailRow, ctx.filter.matches),
4061
4061
  fields: schema.data?.fields ?? [],
@@ -4067,10 +4067,10 @@ function TagSection({
4067
4067
  onOpenDocument: (id) => openDocument(id),
4068
4068
  onOpenFact: ctx.onOpenFact,
4069
4069
  onOpenThread: (id) => openConversation(id),
4070
- noteLabel: chunkZIQGSFHG_cjs.tagNoteLabel(tag.kind),
4070
+ noteLabel: chunkVSABGETQ_cjs.tagNoteLabel(tag.kind),
4071
4071
  noteIsValue: tag.kind === "annotation",
4072
4072
  renderPassages: (d, label) => renderPassages(d.doc_ext_id, label),
4073
- labels: chunkZIQGSFHG_cjs.tagDetailLabels(),
4073
+ labels: chunkVSABGETQ_cjs.tagDetailLabels(),
4074
4074
  testId: "tags-detail"
4075
4075
  }
4076
4076
  )
@@ -4158,7 +4158,7 @@ function ConnectedTagsPage({
4158
4158
  const onDelete = async (t) => {
4159
4159
  const nested = browser.getChildTags([...tags], t.external_id);
4160
4160
  const uses = browser.tagUseCount(t);
4161
- const n2 = chunkZIQGSFHG_cjs.tagsPageNouns();
4161
+ const n2 = chunkVSABGETQ_cjs.tagsPageNouns();
4162
4162
  const tagNoun = (count2) => (count2 === 1 ? n2.tag : n2.tags).toLowerCase();
4163
4163
  const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
4164
4164
  const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
@@ -4179,16 +4179,16 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4179
4179
  try {
4180
4180
  await extract.mutateAsync(docIds);
4181
4181
  notify17(
4182
- `Extracting ${chunkZIQGSFHG_cjs.entitiesPhrase().toLowerCase()} from ${chunkZIQGSFHG_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
4182
+ `Extracting ${chunkVSABGETQ_cjs.entitiesPhrase().toLowerCase()} from ${chunkVSABGETQ_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
4183
4183
  "info"
4184
4184
  );
4185
4185
  } catch (error) {
4186
- notify17(browser.refusalReason(error, `Could not extract ${chunkZIQGSFHG_cjs.entitiesPhrase().toLowerCase()}`), "error");
4186
+ notify17(browser.refusalReason(error, `Could not extract ${chunkVSABGETQ_cjs.entitiesPhrase().toLowerCase()}`), "error");
4187
4187
  throw error;
4188
4188
  }
4189
4189
  };
4190
4190
  const picker = /* @__PURE__ */ jsxRuntime.jsx(
4191
- chunkZIQGSFHG_cjs.TagPicker,
4191
+ chunkVSABGETQ_cjs.TagPicker,
4192
4192
  {
4193
4193
  tags: viewTags,
4194
4194
  selectedId: tag?.external_id,
@@ -4202,10 +4202,10 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4202
4202
  onOpenTag: openTag,
4203
4203
  onOpenFact
4204
4204
  };
4205
- const n = chunkZIQGSFHG_cjs.tagsPageNouns();
4205
+ const n = chunkVSABGETQ_cjs.tagsPageNouns();
4206
4206
  const action = view === "person" || view === "organisation" ? {
4207
4207
  label: "Extract",
4208
- title: `Extract ${chunkZIQGSFHG_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
4208
+ title: `Extract ${chunkVSABGETQ_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
4209
4209
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
4210
4210
  run: () => setExtracting(true),
4211
4211
  testId: "tags-extract-entities"
@@ -4355,7 +4355,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4355
4355
  }
4356
4356
  ),
4357
4357
  /* @__PURE__ */ jsxRuntime.jsx(
4358
- chunkZIQGSFHG_cjs.ExtractEntitiesDialog,
4358
+ chunkVSABGETQ_cjs.ExtractEntitiesDialog,
4359
4359
  {
4360
4360
  open: extracting,
4361
4361
  onOpenChange: setExtracting,
@@ -4367,6 +4367,92 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4367
4367
  )
4368
4368
  ] });
4369
4369
  }
4370
+ function ConnectedFactsSmartSearch({
4371
+ onOpenFact,
4372
+ selectedFactId,
4373
+ chatFactIds
4374
+ }) {
4375
+ const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
4376
+ const { workspaceId } = chunkKGAYUFXD_cjs.useConnectedWorkspace();
4377
+ const { query, setQuery, lastQuery, hits, isSearching, search, clear } = react.useFactsSearch({
4378
+ workspaceId
4379
+ });
4380
+ const { data: allFacts = [] } = react.useFacts(workspaceId);
4381
+ const factById = react$1.useMemo(
4382
+ () => new Map(allFacts.map((f) => [f.external_id, f])),
4383
+ [allFacts]
4384
+ );
4385
+ const chatFactIdSet = react$1.useMemo(() => new Set(chatFactIds ?? []), [chatFactIds]);
4386
+ const terms = react$1.useMemo(() => chunkGOWXP5KT_cjs.extractHighlightTerms(lastQuery), [lastQuery]);
4387
+ const factWord = ui.getEntityLabel("FACT").toLowerCase();
4388
+ const factsWord = ui.getEntityLabel("FACT", "PLURAL").toLowerCase();
4389
+ const nouns = react$1.useMemo(
4390
+ () => chunkGOWXP5KT_cjs.searchNouns(
4391
+ factWord,
4392
+ factsWord,
4393
+ /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4394
+ "Add one with ",
4395
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground/80", children: "\u201CNew fact\u201D" }),
4396
+ ", then come back to search your ",
4397
+ factsWord,
4398
+ " by keyword or meaning."
4399
+ ] }),
4400
+ lucideReact.Plus
4401
+ ),
4402
+ [factWord, factsWord]
4403
+ );
4404
+ const runSearch = () => search().catch(() => notify17(`Could not search ${factsWord}. Please try again.`, "error"));
4405
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col", "data-testid": "facts-smart-search", children: [
4406
+ /* @__PURE__ */ jsxRuntime.jsx(
4407
+ chunkWJEJF5NT_cjs.FactSearchBar,
4408
+ {
4409
+ query,
4410
+ onQueryChange: setQuery,
4411
+ onSubmit: runSearch,
4412
+ onClear: clear,
4413
+ isSearching
4414
+ }
4415
+ ),
4416
+ !isSearching && hits !== null && hits.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkWJEJF5NT_cjs.FactSearchTotals, { children: [
4417
+ hits.length.toLocaleString(),
4418
+ " ",
4419
+ hits.length === 1 ? factWord : factsWord,
4420
+ " for \u201C",
4421
+ lastQuery,
4422
+ "\u201D"
4423
+ ] }),
4424
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "scrollbar-subtle min-h-0 flex-1 overflow-y-auto px-4 pb-3", children: isSearching ? /* @__PURE__ */ jsxRuntime.jsxs(chunkWJEJF5NT_cjs.FactSearchPending, { children: [
4425
+ "Searching ",
4426
+ factsWord,
4427
+ "\u2026"
4428
+ ] }) : hits === null ? /* @__PURE__ */ jsxRuntime.jsx(chunkGOWXP5KT_cjs.SearchEmptyState, { nouns, count: allFacts.length }) : hits.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkWJEJF5NT_cjs.FactSearchNoMatches, { children: [
4429
+ "No ",
4430
+ factsWord,
4431
+ " matched \u201C",
4432
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground", children: lastQuery }),
4433
+ "\u201D."
4434
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2", children: hits.map((h, i) => /* @__PURE__ */ jsxRuntime.jsx(
4435
+ chunkWJEJF5NT_cjs.FactSearchResult,
4436
+ {
4437
+ id: h.external_id,
4438
+ rank: i + 1,
4439
+ text: h.text,
4440
+ terms,
4441
+ renderSnippet: chunkGOWXP5KT_cjs.renderSearchSnippet,
4442
+ labels: (factById.get(h.external_id)?.tags ?? []).map((tag) => ({
4443
+ id: tag.tag_ext_id,
4444
+ name: tag.name,
4445
+ color: ui.getEntityColor(tag.tag_ext_id, "medium")
4446
+ })),
4447
+ isInChat: chatFactIdSet.has(h.external_id),
4448
+ isVerified: h.confirmed,
4449
+ isSelected: selectedFactId === h.external_id,
4450
+ onOpen: () => onOpenFact?.(h.external_id)
4451
+ },
4452
+ h.external_id
4453
+ )) }) })
4454
+ ] });
4455
+ }
4370
4456
  function FactSourcesPopover({
4371
4457
  open,
4372
4458
  onOpenChange,
@@ -4446,7 +4532,7 @@ function FactSourcesPopover({
4446
4532
  const olderVersion = refOf(docId) !== docId ? refOf(docId).split("@v")[1] : null;
4447
4533
  const cited = passagesOf(docId);
4448
4534
  return /* @__PURE__ */ jsxRuntime.jsx(
4449
- chunkF73EZQT4_cjs.FactSourceGroup,
4535
+ chunkWJEJF5NT_cjs.FactSourceGroup,
4450
4536
  {
4451
4537
  docId,
4452
4538
  isViewing,
@@ -4535,7 +4621,7 @@ function FactMarkdownEditor({
4535
4621
  const editorRef = react$1.useRef(null);
4536
4622
  react$1.useEffect(() => {
4537
4623
  if (!editorRef.current) return;
4538
- return chunkF73EZQT4_cjs.enableFactTableColumnResize(editorRef.current);
4624
+ return chunkWJEJF5NT_cjs.enableFactTableColumnResize(editorRef.current);
4539
4625
  }, []);
4540
4626
  react$1.useEffect(() => {
4541
4627
  if (!editing) return;
@@ -5133,7 +5219,7 @@ function useFactFilters(notes, view, chat) {
5133
5219
  const makeTagPicker = react$1.useCallback(
5134
5220
  (selected, setSelected, opts) => {
5135
5221
  const applied = new Set(selected);
5136
- return /* @__PURE__ */ jsxRuntime.jsx(chunkF73EZQT4_cjs.FactFieldRow, { label: "Labels", children: /* @__PURE__ */ jsxRuntime.jsx(
5222
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkWJEJF5NT_cjs.FactFieldRow, { label: "Labels", children: /* @__PURE__ */ jsxRuntime.jsx(
5137
5223
  chunkVGNCU5JJ_cjs.FieldLabelsSelect,
5138
5224
  {
5139
5225
  options: labelOptions,
@@ -5324,14 +5410,14 @@ function useFactSelection(notes, gridApiRef, setFactTags, chat) {
5324
5410
  }
5325
5411
  function renderSourcesCell(params) {
5326
5412
  const fact = params.data;
5327
- const count2 = chunkF73EZQT4_cjs.sourceDocCount(fact);
5413
+ const count2 = chunkWJEJF5NT_cjs.sourceDocCount(fact);
5328
5414
  if (!fact || count2 === 0) return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground/40", children: "\u2014" });
5329
5415
  return /* @__PURE__ */ jsxRuntime.jsxs(
5330
5416
  "button",
5331
5417
  {
5332
5418
  type: "button",
5333
5419
  onClick: () => params.context?.openEdit?.(fact),
5334
- title: chunkF73EZQT4_cjs.DEFAULT_FACT_COLUMN_LABELS.sourcedFrom(count2),
5420
+ title: chunkWJEJF5NT_cjs.DEFAULT_FACT_COLUMN_LABELS.sourcedFrom(count2),
5335
5421
  "data-testid": `facts-grid-sources-${fact.external_id}`,
5336
5422
  className: "inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",
5337
5423
  children: [
@@ -5388,14 +5474,14 @@ function createFactPageColumns({
5388
5474
  onToggleConfirmed,
5389
5475
  onToggleShared
5390
5476
  }) {
5391
- const columns = chunkF73EZQT4_cjs.createFactColumns({
5477
+ const columns = chunkWJEJF5NT_cjs.createFactColumns({
5392
5478
  onToggleInChat,
5393
5479
  isInChat,
5394
5480
  renderHeader: (params, colId) => /* @__PURE__ */ jsxRuntime.jsx(FactHeader, { params, colId }),
5395
5481
  renderRowActions: (fact, params) => {
5396
5482
  const ctx = params.context;
5397
5483
  return /* @__PURE__ */ jsxRuntime.jsx(
5398
- chunkF73EZQT4_cjs.FactRowActions,
5484
+ chunkWJEJF5NT_cjs.FactRowActions,
5399
5485
  {
5400
5486
  onEdit: () => ctx?.openEdit?.(fact),
5401
5487
  canEdit: ctx?.canRewrite?.(fact) !== false,
@@ -5525,7 +5611,7 @@ function useFactsGrid({
5525
5611
  );
5526
5612
  const renderFactTags = react$1.useCallback(
5527
5613
  (fact, rowHeight) => /* @__PURE__ */ jsxRuntime.jsx(
5528
- chunkF73EZQT4_cjs.FactLabelsCell,
5614
+ chunkWJEJF5NT_cjs.FactLabelsCell,
5529
5615
  {
5530
5616
  options: labelOptions,
5531
5617
  selectedIds: fact.tags.map((t) => t.tag_ext_id),
@@ -6201,7 +6287,6 @@ function ConnectedFactsPage({
6201
6287
  renderUser: renderUser2,
6202
6288
  renderLabelsPanel,
6203
6289
  renderExport = ownFactsExport,
6204
- renderSmartSearch,
6205
6290
  emptyStateExtra
6206
6291
  }) {
6207
6292
  const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
@@ -6310,7 +6395,6 @@ function ConnectedFactsPage({
6310
6395
  const [factSection, setFactSection] = react$1.useState(null);
6311
6396
  const [navSlot, setNavSlot] = react$1.useState(null);
6312
6397
  const selectable = view === "table";
6313
- const smartSearch = view === "smart_search" && renderSmartSearch;
6314
6398
  const ganttItems = react$1.useMemo(
6315
6399
  () => filteredNotes.filter((n) => n.date_start).map((n) => ({
6316
6400
  id: n.external_id,
@@ -6329,7 +6413,7 @@ function ConnectedFactsPage({
6329
6413
  };
6330
6414
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: setFactSection, className: "relative flex h-full flex-col", "data-testid": "facts-page", children: [
6331
6415
  /* @__PURE__ */ jsxRuntime.jsx(
6332
- chunkF73EZQT4_cjs.FactsToolbar,
6416
+ chunkWJEJF5NT_cjs.FactsToolbar,
6333
6417
  {
6334
6418
  count: filteredNotes.length,
6335
6419
  hasActiveFilters: filters.hasActiveFilters,
@@ -6358,7 +6442,7 @@ function ConnectedFactsPage({
6358
6442
  onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
6359
6443
  navSlotRef: setNavSlot,
6360
6444
  navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
6361
- chunkZIQGSFHG_cjs.GridRowNavigator,
6445
+ chunkVSABGETQ_cjs.GridRowNavigator,
6362
6446
  {
6363
6447
  gridApi,
6364
6448
  selectedId: editingId,
@@ -6369,7 +6453,7 @@ function ConnectedFactsPage({
6369
6453
  ) : null,
6370
6454
  showToolbarRow: view !== "smart_search",
6371
6455
  tools: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6372
- view === "table" && /* @__PURE__ */ jsxRuntime.jsx(chunkF73EZQT4_cjs.FactsFieldsButton, { getGridApi: () => gridApiRef.current }),
6456
+ view === "table" && /* @__PURE__ */ jsxRuntime.jsx(chunkWJEJF5NT_cjs.FactsFieldsButton, { getGridApi: () => gridApiRef.current }),
6373
6457
  view === "table" && /* @__PURE__ */ jsxRuntime.jsx(
6374
6458
  chunkVGNCU5JJ_cjs.RowDensityControl,
6375
6459
  {
@@ -6390,7 +6474,7 @@ function ConnectedFactsPage({
6390
6474
  }
6391
6475
  ),
6392
6476
  /* @__PURE__ */ jsxRuntime.jsx(
6393
- chunkF73EZQT4_cjs.FactComposer,
6477
+ chunkWJEJF5NT_cjs.FactComposer,
6394
6478
  {
6395
6479
  isOpen: composing,
6396
6480
  isEditing: !!editingId,
@@ -6423,7 +6507,7 @@ function ConnectedFactsPage({
6423
6507
  reserveSourcesSpace: view === "gantt" || view === "calendar",
6424
6508
  citationContainer: factSection,
6425
6509
  renderDocumentPicker: (onSelect, selectedIds, onOpen, sourcesToggle, sourcesOpen) => /* @__PURE__ */ jsxRuntime.jsx(
6426
- chunkF73EZQT4_cjs.FactSourcesRow,
6510
+ chunkWJEJF5NT_cjs.FactSourcesRow,
6427
6511
  {
6428
6512
  toggle: sourcesToggle,
6429
6513
  picker: /* @__PURE__ */ jsxRuntime.jsx(
@@ -6469,7 +6553,7 @@ function ConnectedFactsPage({
6469
6553
  }
6470
6554
  ),
6471
6555
  dateInput: /* @__PURE__ */ jsxRuntime.jsx(
6472
- chunkF73EZQT4_cjs.FactDateInput,
6556
+ chunkWJEJF5NT_cjs.FactDateInput,
6473
6557
  {
6474
6558
  value: composer.draftDateFields,
6475
6559
  onChange: composer.setDraftDateFields,
@@ -6479,13 +6563,20 @@ function ConnectedFactsPage({
6479
6563
  }
6480
6564
  ),
6481
6565
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "scrollbar-subtle flex-1 overflow-y-auto pb-2", children: [
6482
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkF73EZQT4_cjs.FactsLoading, {}) : isError ? /* @__PURE__ */ jsxRuntime.jsx(chunkF73EZQT4_cjs.FactsLoadError, { onRetry: () => refetch() }) : smartSearch ? (
6566
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkWJEJF5NT_cjs.FactsLoading, {}) : isError ? /* @__PURE__ */ jsxRuntime.jsx(chunkWJEJF5NT_cjs.FactsLoadError, { onRetry: () => refetch() }) : view === "smart_search" ? (
6483
6567
  // Searches facts only (never documents). Kept before the empty-state guard so the
6484
6568
  // search UI is reachable even in an empty workspace.
6485
- smartSearch({ selectedFactId: editingId, onOpenFact: openFactById })
6569
+ /* @__PURE__ */ jsxRuntime.jsx(
6570
+ ConnectedFactsSmartSearch,
6571
+ {
6572
+ selectedFactId: editingId,
6573
+ onOpenFact: openFactById,
6574
+ chatFactIds: chat?.factIds
6575
+ }
6576
+ )
6486
6577
  ) : notes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-full flex-col items-center justify-center", children: [
6487
6578
  /* @__PURE__ */ jsxRuntime.jsx(
6488
- chunkF73EZQT4_cjs.FactsEmptyState,
6579
+ chunkWJEJF5NT_cjs.FactsEmptyState,
6489
6580
  {
6490
6581
  onUseExample: (text2) => {
6491
6582
  composer.setDraft(text2);
@@ -6496,7 +6587,7 @@ function ConnectedFactsPage({
6496
6587
  ),
6497
6588
  emptyStateExtra
6498
6589
  ] }) : view === "calendar" ? /* @__PURE__ */ jsxRuntime.jsx(
6499
- chunkF73EZQT4_cjs.FactsCalendar,
6590
+ chunkWJEJF5NT_cjs.FactsCalendar,
6500
6591
  {
6501
6592
  facts: filteredNotes,
6502
6593
  onSelect: (n) => openEditIfAllowed(n),
@@ -6505,7 +6596,7 @@ function ConnectedFactsPage({
6505
6596
  navigatorTotal: filteredNotes.length
6506
6597
  }
6507
6598
  ) : view === "gantt" ? /* @__PURE__ */ jsxRuntime.jsx(
6508
- chunkF73EZQT4_cjs.FactsGanttPane,
6599
+ chunkWJEJF5NT_cjs.FactsGanttPane,
6509
6600
  {
6510
6601
  items: ganttItems,
6511
6602
  labelWidth: pageView.labelWidth,
@@ -6555,7 +6646,7 @@ function ConnectedFactsPage({
6555
6646
  )
6556
6647
  ] }),
6557
6648
  selectable && notes.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
6558
- chunkF73EZQT4_cjs.FactsBulkBar,
6649
+ chunkWJEJF5NT_cjs.FactsBulkBar,
6559
6650
  {
6560
6651
  count: selection.selectedFacts.length,
6561
6652
  onClear: selection.clearSelection,
@@ -6763,7 +6854,7 @@ function ConnectedPasswordChangeDialog({
6763
6854
  onRecoveryComplete
6764
6855
  }) {
6765
6856
  const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
6766
- const getUnmetRequirement = chunk3VFQYKB5_cjs.useAuthPages().passwordRules.unmet;
6857
+ const getUnmetRequirement = chunk7TOBKEOV_cjs.useAuthPages().passwordRules.unmet;
6767
6858
  const change = react.usePasswordChange();
6768
6859
  const form = react.usePasswordChangeForm({
6769
6860
  recoveryMode,
@@ -6990,7 +7081,7 @@ function ConnectedDangerZone({ renderSubscriptionLink }) {
6990
7081
  function ConnectedSsoDisconnect() {
6991
7082
  const { client } = react.useAccountClient();
6992
7083
  const { data: profile } = react.useProfile();
6993
- const auth = chunk3VFQYKB5_cjs.useAuthPages();
7084
+ const auth = chunk7TOBKEOV_cjs.useAuthPages();
6994
7085
  const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
6995
7086
  const [open, setOpen] = react$1.useState(false);
6996
7087
  const [step, setStep] = react$1.useState("email");
@@ -10004,7 +10095,7 @@ function ConnectedPeopleMultiSelect({
10004
10095
  identity: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10005
10096
  selected.user ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10006
10097
  /* @__PURE__ */ jsxRuntime.jsx(
10007
- chunk3VFQYKB5_cjs.ConnectedUserEntity,
10098
+ chunk7TOBKEOV_cjs.ConnectedUserEntity,
10008
10099
  {
10009
10100
  user: selected.user,
10010
10101
  size: "xs",
@@ -10032,7 +10123,7 @@ function ConnectedPeopleMultiSelect({
10032
10123
  }
10033
10124
  ),
10034
10125
  person.user ? /* @__PURE__ */ jsxRuntime.jsx(
10035
- chunk3VFQYKB5_cjs.ConnectedUserEntity,
10126
+ chunk7TOBKEOV_cjs.ConnectedUserEntity,
10036
10127
  {
10037
10128
  user: person.user,
10038
10129
  size: "xs",
@@ -10305,13 +10396,13 @@ function ConnectedWorkspaceSettings({
10305
10396
  const [membersExpanded, setMembersExpanded] = react$1.useState(false);
10306
10397
  const [shareOpen, setShareOpen] = react$1.useState(false);
10307
10398
  if (!workspace) {
10308
- return /* @__PURE__ */ jsxRuntime.jsx(chunk2GSZG6KA_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkZIQGSFHG_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
10399
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk2GSZG6KA_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVSABGETQ_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
10309
10400
  }
10310
10401
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10311
10402
  /* @__PURE__ */ jsxRuntime.jsxs(chunk2GSZG6KA_cjs.WorkspacePageFrame, { testId, children: [
10312
10403
  /* @__PURE__ */ jsxRuntime.jsxs(chunk2GSZG6KA_cjs.WorkspaceIdentityPanel, { children: [
10313
10404
  /* @__PURE__ */ jsxRuntime.jsx(
10314
- chunkZIQGSFHG_cjs.EntityIdentityBar,
10405
+ chunkVSABGETQ_cjs.EntityIdentityBar,
10315
10406
  {
10316
10407
  testId: "workspace-identity-bar",
10317
10408
  canEdit: isOwner,
@@ -10328,7 +10419,7 @@ function ConnectedWorkspaceSettings({
10328
10419
  label: "Name",
10329
10420
  value: workspace.name,
10330
10421
  placeholder: "Untitled",
10331
- maxLength: chunkZIQGSFHG_cjs.IDENTITY_NAME_MAX_LENGTH,
10422
+ maxLength: chunkVSABGETQ_cjs.IDENTITY_NAME_MAX_LENGTH,
10332
10423
  valueClassName: "truncate text-base font-semibold",
10333
10424
  testId: "workspace-home-title",
10334
10425
  hideLabel: true,
@@ -12790,36 +12881,36 @@ function ConnectedSharePointAdminConsentPage({
12790
12881
  const result = givenResult === void 0 ? queryResult : givenResult;
12791
12882
  const { apiBaseUrl } = chunkT6GRWWRY_cjs.useBlocksEnvironment().runtimeConfig;
12792
12883
  const consentUrl = `${apiBaseUrl}/v1/connectors/microsoft_sharepoint/admin-consent`;
12793
- return /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFHXXDPNU_cjs.ConsentCard, { size: "md", children: [
12884
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkCCTNZ25D_cjs.ConsentCard, { size: "md", children: [
12794
12885
  /* @__PURE__ */ jsxRuntime.jsx(
12795
- chunkFHXXDPNU_cjs.ConsentHeader,
12886
+ chunkCCTNZ25D_cjs.ConsentHeader,
12796
12887
  {
12797
12888
  icon: /* @__PURE__ */ jsxRuntime.jsx(chunkVGNCU5JJ_cjs.VendorLogo, { vendorKey: "microsoft_sharepoint", product: "sharepoint" }),
12798
12889
  title: "Approve ARBI for SharePoint access",
12799
12890
  children: "A member of your organization uses ARBI and wants to sync documents from SharePoint. Your Microsoft 365 organization requires an administrator to approve this once for the whole organization."
12800
12891
  }
12801
12892
  ),
12802
- result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentNotice, { tone: "success", title: "Access approved \u2014 you\u2019re all set.", className: "mt-4", children: "People in your organization can now connect SharePoint from their own ARBI account. Nothing is synced until each user connects and chooses what to import." }),
12803
- result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentNotice, { tone: "warning", title: "The approval didn\u2019t complete.", className: "mt-4", children: "The request was declined or canceled on the Microsoft screen. You can try again below \u2014 you must sign in with a Microsoft 365 administrator account of your organization." }),
12804
- /* @__PURE__ */ jsxRuntime.jsxs(chunkFHXXDPNU_cjs.ConsentSection, { title: "What you are approving", children: [
12893
+ result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentNotice, { tone: "success", title: "Access approved \u2014 you\u2019re all set.", className: "mt-4", children: "People in your organization can now connect SharePoint from their own ARBI account. Nothing is synced until each user connects and chooses what to import." }),
12894
+ result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentNotice, { tone: "warning", title: "The approval didn\u2019t complete.", className: "mt-4", children: "The request was declined or canceled on the Microsoft screen. You can try again below \u2014 you must sign in with a Microsoft 365 administrator account of your organization." }),
12895
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkCCTNZ25D_cjs.ConsentSection, { title: "What you are approving", children: [
12805
12896
  /* @__PURE__ */ jsxRuntime.jsx(
12806
- chunkFHXXDPNU_cjs.ConsentBulletList,
12897
+ chunkCCTNZ25D_cjs.ConsentBulletList,
12807
12898
  {
12808
12899
  items: [
12809
12900
  /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
12810
- /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
12901
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
12811
12902
  " \u2014 lets each user who connects their own account import documents from sites they already have access to. ARBI never gets more access than the user has."
12812
12903
  ] }),
12813
12904
  /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
12814
- /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
12905
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
12815
12906
  " \u2014 standard sign-in (openid, profile, email) and offline access so syncs keep working between sessions."
12816
12907
  ] })
12817
12908
  ]
12818
12909
  }
12819
12910
  ),
12820
- /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentText, { children: "Approving does not sync anything by itself and grants ARBI no standing access to your tenant. Each user still connects their own Microsoft account, and their tokens are end-to-end encrypted so ARBI\u2019s servers cannot read them at rest." }),
12911
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentText, { children: "Approving does not sync anything by itself and grants ARBI no standing access to your tenant. Each user still connects their own Microsoft account, and their tokens are end-to-end encrypted so ARBI\u2019s servers cannot read them at rest." }),
12821
12912
  /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { asChild: true, className: "w-full pointer-coarse:h-11", children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: consentUrl, children: "Review and approve in Microsoft" }) }),
12822
- /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentText, { variant: "footnote", children: "You\u2019ll sign in at login.microsoftonline.com and see Microsoft\u2019s own summary of these permissions before anything is granted." })
12913
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentText, { variant: "footnote", children: "You\u2019ll sign in at login.microsoftonline.com and see Microsoft\u2019s own summary of these permissions before anything is granted." })
12823
12914
  ] })
12824
12915
  ] }) });
12825
12916
  }
@@ -15239,7 +15330,7 @@ function WorkspaceCardsView({
15239
15330
  const { groups, projects, selfId } = list;
15240
15331
  if (groups.length === 0) {
15241
15332
  return /* @__PURE__ */ jsxRuntime.jsx(chunk2GSZG6KA_cjs.WorkspaceList, { testId: "workspace-cards-list", className: "gap-0", children: /* @__PURE__ */ jsxRuntime.jsx(
15242
- chunkZ4KXF7WS_cjs.CreateTile,
15333
+ chunkEG6YBT7G_cjs.CreateTile,
15243
15334
  {
15244
15335
  label: `New ${workspaceLabel.toLowerCase()}`,
15245
15336
  ariaLabel: `Create ${workspaceLabel}`,
@@ -15284,7 +15375,7 @@ function WorkspaceCardsView({
15284
15375
  onToggle: () => list.toggleGroup(group.key),
15285
15376
  children: [
15286
15377
  group.isOwned && group.projectExtId && /* @__PURE__ */ jsxRuntime.jsx(
15287
- chunkZ4KXF7WS_cjs.CreateTile,
15378
+ chunkEG6YBT7G_cjs.CreateTile,
15288
15379
  {
15289
15380
  label: `New ${workspaceLabel.toLowerCase()}`,
15290
15381
  ariaLabel: `Create ${workspaceLabel}`,
@@ -15481,7 +15572,7 @@ function useConnectedWorkspaceList({
15481
15572
  };
15482
15573
  }
15483
15574
  var WorkspaceTableView = react$1.lazy(
15484
- () => import('../WorkspaceTableView-DHMCJRC6.cjs').then((m) => ({ default: m.WorkspaceTableView }))
15575
+ () => import('../WorkspaceTableView-OIMBOLG6.cjs').then((m) => ({ default: m.WorkspaceTableView }))
15485
15576
  );
15486
15577
  var WORKSPACES_TAB_ID = "workspaces";
15487
15578
  var defaultRenderMember2 = (user, size) => {
@@ -15534,10 +15625,10 @@ function ConnectedWorkspaceList({
15534
15625
  else void openWorkspace(workspace.external_id, { name: workspace.name });
15535
15626
  };
15536
15627
  const createDisabledReason = list.canCreateProjects === false ? react.PROJECT_CREATION_DENIED_REASON : void 0;
15537
- if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkZIQGSFHG_cjs.LoadingIndicator, { message: "Loading workspaces..." });
15628
+ if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkVSABGETQ_cjs.LoadingIndicator, { message: "Loading workspaces..." });
15538
15629
  if (list.error) {
15539
15630
  return /* @__PURE__ */ jsxRuntime.jsx(
15540
- chunkZ4KXF7WS_cjs.HomeLoadError,
15631
+ chunkEG6YBT7G_cjs.HomeLoadError,
15541
15632
  {
15542
15633
  title: "Unable to load workspaces",
15543
15634
  body: "Failed to connect to the server. Please check your connection and try again."
@@ -15557,7 +15648,7 @@ function ConnectedWorkspaceList({
15557
15648
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "mr-0.5 size-4" }),
15558
15649
  "New"
15559
15650
  ] });
15560
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkZ4KXF7WS_cjs.HomeFrame, { children: [
15651
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkEG6YBT7G_cjs.HomeFrame, { children: [
15561
15652
  /* @__PURE__ */ jsxRuntime.jsx(
15562
15653
  chunkWVEFRQSW_cjs.TabHeader,
15563
15654
  {
@@ -15593,9 +15684,9 @@ function ConnectedWorkspaceList({
15593
15684
  ),
15594
15685
  showList && // Above whichever view shows: both draw the same filtered groups.
15595
15686
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto w-full max-w-6xl px-4 pb-3 sm:px-8", children: /* @__PURE__ */ jsxRuntime.jsx(WorkspaceFilterMenu, { list }) }),
15596
- /* @__PURE__ */ jsxRuntime.jsx(chunkZ4KXF7WS_cjs.HomeMain, { children: !showList ? children : shownView === "cards" ? (
15687
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEG6YBT7G_cjs.HomeMain, { children: !showList ? children : shownView === "cards" ? (
15597
15688
  // Full-width scroller (its scrollbar rides the window edge) around a centred column.
15598
- /* @__PURE__ */ jsxRuntime.jsx(chunkZ4KXF7WS_cjs.HomeCenteredScroll, { children: /* @__PURE__ */ jsxRuntime.jsx(
15689
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEG6YBT7G_cjs.HomeCenteredScroll, { children: /* @__PURE__ */ jsxRuntime.jsx(
15599
15690
  WorkspaceCardsView,
15600
15691
  {
15601
15692
  list,
@@ -15607,7 +15698,7 @@ function ConnectedWorkspaceList({
15607
15698
  workspaceState
15608
15699
  }
15609
15700
  ) })
15610
- ) : /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkZIQGSFHG_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkZ4KXF7WS_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
15701
+ ) : /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVSABGETQ_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkEG6YBT7G_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
15611
15702
  WorkspaceTableView,
15612
15703
  {
15613
15704
  list,
@@ -15680,7 +15771,7 @@ function ProjectsListPage({
15680
15771
  };
15681
15772
  const { openProject } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
15682
15773
  const [search, setSearch] = react$1.useState("");
15683
- const { projects, isLoading } = chunk45Y7ASBC_cjs.useProjectSummaries();
15774
+ const { projects, isLoading } = chunk7ZVL44YM_cjs.useProjectSummaries();
15684
15775
  const rows = react$1.useMemo(() => {
15685
15776
  const q = search.trim().toLowerCase();
15686
15777
  if (!q) return projects;
@@ -15751,7 +15842,7 @@ function ProjectsListPage({
15751
15842
  }
15752
15843
  ),
15753
15844
  /* @__PURE__ */ jsxRuntime.jsx(
15754
- chunkZIQGSFHG_cjs.Toolbar,
15845
+ chunkVSABGETQ_cjs.Toolbar,
15755
15846
  {
15756
15847
  search,
15757
15848
  onSearch: setSearch,
@@ -15939,7 +16030,7 @@ function ProjectDetailsForm({
15939
16030
  const labels = { ...DEFAULT_PROJECT_DETAILS_LABELS, ...given };
15940
16031
  const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
15941
16032
  const update = react.useUpdateProjectFields();
15942
- const workspace = chunk45Y7ASBC_cjs.primaryProjectWorkspace(project);
16033
+ const workspace = chunk7ZVL44YM_cjs.primaryProjectWorkspace(project);
15943
16034
  const { data: members = [] } = react.useWorkspaceUsers(workspace?.id);
15944
16035
  const people = members.filter((m) => !m.user.external_id.startsWith("agt-"));
15945
16036
  const currency = project.budget?.currency ?? "GBP";
@@ -16064,7 +16155,7 @@ var COMPACT_BELOW = 132;
16064
16155
  var NO_DOCUMENTS = [];
16065
16156
  function useFilesWorkspace() {
16066
16157
  const { workspaceId, userId, live } = chunkKGAYUFXD_cjs.useConnectedWorkspace();
16067
- const { members, role } = chunkUDMII47W_cjs.useConnectedWorkspaceRole();
16158
+ const { members, role } = chunkSU374FEM_cjs.useConnectedWorkspaceRole();
16068
16159
  const { data: workspaces } = react.useWorkspaces({ enabled: live });
16069
16160
  const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
16070
16161
  return {
@@ -16824,7 +16915,7 @@ function ProjectChronology({
16824
16915
  })),
16825
16916
  [facts]
16826
16917
  );
16827
- return /* @__PURE__ */ jsxRuntime.jsx(ui.Card, { className: "h-[min(70dvh,640px)] overflow-hidden", "data-testid": testId, children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "p-4 text-sm text-muted-foreground", children: loading }) : /* @__PURE__ */ jsxRuntime.jsx(chunkF73EZQT4_cjs.FactsGanttPane, { items, testId: `${testId}-gantt`, labels: { ganttEmpty: empty } }) });
16918
+ return /* @__PURE__ */ jsxRuntime.jsx(ui.Card, { className: "h-[min(70dvh,640px)] overflow-hidden", "data-testid": testId, children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "p-4 text-sm text-muted-foreground", children: loading }) : /* @__PURE__ */ jsxRuntime.jsx(chunkWJEJF5NT_cjs.FactsGanttPane, { items, testId: `${testId}-gantt`, labels: { ganttEmpty: empty } }) });
16828
16919
  }
16829
16920
  function ProjectThreads({
16830
16921
  projectId,
@@ -16998,11 +17089,11 @@ function ConnectedProjectPage({
16998
17089
  figures: { ...DEFAULT_PROJECT_PAGE_LABELS.figures, ...given?.figures },
16999
17090
  threads: { ...DEFAULT_PROJECT_PAGE_LABELS.threads, ...given?.threads }
17000
17091
  };
17001
- const { project, usage, isLoading } = chunk45Y7ASBC_cjs.useProjectSummary(projectId);
17092
+ const { project, usage, isLoading } = chunk7ZVL44YM_cjs.useProjectSummary(projectId);
17002
17093
  const { workspaceId } = chunkKGAYUFXD_cjs.useConnectedWorkspace();
17003
17094
  const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
17004
17095
  const selectWorkspace = chunkCMYJEIZB_cjs.useSelectWorkspace();
17005
- const workspace = project ? chunk45Y7ASBC_cjs.primaryProjectWorkspace(project) : void 0;
17096
+ const workspace = project ? chunk7ZVL44YM_cjs.primaryProjectWorkspace(project) : void 0;
17006
17097
  const open = !!workspace && workspace.id === workspaceId;
17007
17098
  react$1.useEffect(() => {
17008
17099
  if (!workspace || workspace.id === workspaceId) return;
@@ -17897,7 +17988,7 @@ function recentConversations(conversations) {
17897
17988
  return [...conversations].sort((a, b) => time(b.updated_at) - time(a.updated_at)).slice(0, RECENT_ROWS).map((c) => ({
17898
17989
  id: c.external_id,
17899
17990
  title: c.title?.trim() || "Untitled thread",
17900
- subtitle: c.status ? [chunkFHXXDPNU_cjs.STATUS_LABELS[chunkFHXXDPNU_cjs.asTaskStatus(c.status)], c.due_at ? `due ${shortDate(c.due_at)}` : null].filter(Boolean).join(" \xB7 ") : `${c.message_count} ${c.message_count === 1 ? "message" : "messages"}`,
17991
+ subtitle: c.status ? [chunkCCTNZ25D_cjs.STATUS_LABELS[chunkCCTNZ25D_cjs.asTaskStatus(c.status)], c.due_at ? `due ${shortDate(c.due_at)}` : null].filter(Boolean).join(" \xB7 ") : `${c.message_count} ${c.message_count === 1 ? "message" : "messages"}`,
17901
17992
  time: timeAndDate(c.updated_at)
17902
17993
  }));
17903
17994
  }
@@ -17963,19 +18054,19 @@ function ConnectedWorkspaceDashboard({
17963
18054
  const { upcoming: upcoming2, recent: recent2 } = splitFacts(facts);
17964
18055
  const toRow = (row2) => ({
17965
18056
  ...row2,
17966
- leading: /* @__PURE__ */ jsxRuntime.jsx(chunkZ4KXF7WS_cjs.FactMark, {}),
18057
+ leading: /* @__PURE__ */ jsxRuntime.jsx(chunkEG6YBT7G_cjs.FactMark, {}),
17967
18058
  // The item, not the list: the Facts page scrolls to this fact.
17968
18059
  onSelect: () => actions.openFact(row2.id)
17969
18060
  });
17970
18061
  return { upcoming: upcoming2.map(toRow), recent: recent2.map(toRow) };
17971
18062
  }, [facts, actions]);
17972
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkZ4KXF7WS_cjs.DashboardRoot, { testId, children: [
17973
- start && /* @__PURE__ */ jsxRuntime.jsx(chunkZ4KXF7WS_cjs.DashboardBand, { kind: "start", children: start }),
17974
- /* @__PURE__ */ jsxRuntime.jsxs(chunkZ4KXF7WS_cjs.DashboardBand, { kind: "recent", children: [
17975
- /* @__PURE__ */ jsxRuntime.jsx(chunkZDZY6OPL_cjs.SectionLabel, { testId: `${testId}-recent-caption`, children: "Recent" }),
17976
- /* @__PURE__ */ jsxRuntime.jsxs(chunkZ4KXF7WS_cjs.DashboardColumns, { children: [
18063
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkEG6YBT7G_cjs.DashboardRoot, { testId, children: [
18064
+ start && /* @__PURE__ */ jsxRuntime.jsx(chunkEG6YBT7G_cjs.DashboardBand, { kind: "start", children: start }),
18065
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkEG6YBT7G_cjs.DashboardBand, { kind: "recent", children: [
18066
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXUEJYHEP_cjs.SectionLabel, { testId: `${testId}-recent-caption`, children: "Recent" }),
18067
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkEG6YBT7G_cjs.DashboardColumns, { children: [
17977
18068
  /* @__PURE__ */ jsxRuntime.jsx(
17978
- chunkZ4KXF7WS_cjs.RecentList,
18069
+ chunkEG6YBT7G_cjs.RecentList,
17979
18070
  {
17980
18071
  testId: `${testId}-docs`,
17981
18072
  icon: lucideReact.FileText,
@@ -17994,7 +18085,7 @@ function ConnectedWorkspaceDashboard({
17994
18085
  }
17995
18086
  ),
17996
18087
  /* @__PURE__ */ jsxRuntime.jsx(
17997
- chunkZ4KXF7WS_cjs.RecentList,
18088
+ chunkEG6YBT7G_cjs.RecentList,
17998
18089
  {
17999
18090
  testId: `${testId}-chats`,
18000
18091
  icon: lucideReact.MessagesSquare,
@@ -18003,7 +18094,7 @@ function ConnectedWorkspaceDashboard({
18003
18094
  onOpen: () => actions.openSection("threads"),
18004
18095
  action: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
18005
18096
  /* @__PURE__ */ jsxRuntime.jsx(
18006
- chunkZ4KXF7WS_cjs.DashboardAction,
18097
+ chunkEG6YBT7G_cjs.DashboardAction,
18007
18098
  {
18008
18099
  emphasis: "primary",
18009
18100
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-4" }),
@@ -18013,7 +18104,7 @@ function ConnectedWorkspaceDashboard({
18013
18104
  }
18014
18105
  ),
18015
18106
  /* @__PURE__ */ jsxRuntime.jsx(
18016
- chunkZ4KXF7WS_cjs.DashboardAction,
18107
+ chunkEG6YBT7G_cjs.DashboardAction,
18017
18108
  {
18018
18109
  emphasis: "quiet",
18019
18110
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-4" }),
@@ -18035,9 +18126,9 @@ function ConnectedWorkspaceDashboard({
18035
18126
  )
18036
18127
  ] })
18037
18128
  ] }),
18038
- /* @__PURE__ */ jsxRuntime.jsxs(chunkZ4KXF7WS_cjs.DashboardColumns, { children: [
18129
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkEG6YBT7G_cjs.DashboardColumns, { children: [
18039
18130
  /* @__PURE__ */ jsxRuntime.jsx(
18040
- chunkZ4KXF7WS_cjs.FactsStrip,
18131
+ chunkEG6YBT7G_cjs.FactsStrip,
18041
18132
  {
18042
18133
  testId: `${testId}-facts`,
18043
18134
  icon: lucideReact.Milestone,
@@ -18045,7 +18136,7 @@ function ConnectedWorkspaceDashboard({
18045
18136
  count: facts.length,
18046
18137
  onOpen: () => actions.openSection("facts"),
18047
18138
  action: /* @__PURE__ */ jsxRuntime.jsx(
18048
- chunkZ4KXF7WS_cjs.DashboardAction,
18139
+ chunkEG6YBT7G_cjs.DashboardAction,
18049
18140
  {
18050
18141
  emphasis: "quiet",
18051
18142
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-4" }),
@@ -20297,7 +20388,7 @@ function SubscribeDialog({
20297
20388
  subscribe2.reset();
20298
20389
  }
20299
20390
  }, [open]);
20300
- const normalized = chunkW3PSIIMN_cjs.normalizeFeedUrl(url);
20391
+ const normalized = chunkLM7DVT7C_cjs.normalizeFeedUrl(url);
20301
20392
  return /* @__PURE__ */ jsxRuntime.jsx(ui.Dialog, { open, onOpenChange: (o) => !o && onClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogContent, { className: "sm:max-w-md", "data-testid": "calendar-subscribe-dialog", children: [
20302
20393
  /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogHeader, { children: [
20303
20394
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Subscribe to a calendar" }),
@@ -20509,7 +20600,7 @@ function AccountRow({ account }) {
20509
20600
  const update = react.useUpdateCalendarAccount();
20510
20601
  const disconnect = react.useDisconnectCalendarAccount();
20511
20602
  const [confirming, setConfirming] = react$1.useState(false);
20512
- const fail2 = (what) => (err) => notify17(`${what}: ${chunkW3PSIIMN_cjs.describeCalendarError(err)}`, "error");
20603
+ const fail2 = (what) => (err) => notify17(`${what}: ${chunkLM7DVT7C_cjs.describeCalendarError(err)}`, "error");
20513
20604
  const reconnect = !!startOAuth && account.status === "needs_reauth" && (account.kind === "google" || account.kind === "microsoft");
20514
20605
  return /* @__PURE__ */ jsxRuntime.jsxs(
20515
20606
  "li",
@@ -20551,7 +20642,7 @@ function AccountRow({ account }) {
20551
20642
  variant: "outline",
20552
20643
  disabled: sync.isPending,
20553
20644
  onClick: () => sync.mutate(account.id, {
20554
- onSuccess: (r) => r?.error ? notify17(`Sync failed: ${chunkW3PSIIMN_cjs.describeCalendarError(r.error)}`, "error") : notify17("Calendar synced", "success"),
20645
+ onSuccess: (r) => r?.error ? notify17(`Sync failed: ${chunkLM7DVT7C_cjs.describeCalendarError(r.error)}`, "error") : notify17("Calendar synced", "success"),
20555
20646
  onError: fail2("Sync failed")
20556
20647
  }),
20557
20648
  "data-testid": `calendar-account-sync-${account.id}`,
@@ -20595,7 +20686,7 @@ function AccountRow({ account }) {
20595
20686
  KIND_LABEL[account.kind],
20596
20687
  "."
20597
20688
  ] }),
20598
- account.last_error && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "rounded bg-destructive/10 px-2 py-1 text-xs text-destructive", children: chunkW3PSIIMN_cjs.describeCalendarError(account.last_error) }),
20689
+ account.last_error && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "rounded bg-destructive/10 px-2 py-1 text-xs text-destructive", children: chunkLM7DVT7C_cjs.describeCalendarError(account.last_error) }),
20599
20690
  /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-start gap-2 text-xs text-muted-foreground", children: [
20600
20691
  /* @__PURE__ */ jsxRuntime.jsx(
20601
20692
  ui.Switch,
@@ -20653,7 +20744,7 @@ function CalDavForm({ onDone }) {
20653
20744
  notify17("CalDAV account connected", "success");
20654
20745
  onDone();
20655
20746
  },
20656
- onError: (err) => setError(chunkW3PSIIMN_cjs.describeCalendarError(err, "Could not connect"))
20747
+ onError: (err) => setError(chunkLM7DVT7C_cjs.describeCalendarError(err, "Could not connect"))
20657
20748
  }
20658
20749
  );
20659
20750
  },
@@ -20748,7 +20839,7 @@ function CalendarAccountsPanel({ className }) {
20748
20839
  const [oauthError, setOauthError] = react$1.useState(null);
20749
20840
  const resumed = react.useResumeCalendarAccountConnect(({ account, error: err }) => {
20750
20841
  if (account) notify17(`${KIND_LABEL[account.kind]} connected`, "success");
20751
- if (err) setOauthError(chunkW3PSIIMN_cjs.describeCalendarError(err, "Could not connect the account"));
20842
+ if (err) setOauthError(chunkLM7DVT7C_cjs.describeCalendarError(err, "Could not connect the account"));
20752
20843
  });
20753
20844
  const connect = async (kind) => {
20754
20845
  setOauthError(null);
@@ -20762,7 +20853,7 @@ function CalendarAccountsPanel({ className }) {
20762
20853
  await startOAuth?.(kind, background);
20763
20854
  }
20764
20855
  } catch (err) {
20765
- setOauthError(chunkW3PSIIMN_cjs.describeCalendarError(err, "Could not connect the account"));
20856
+ setOauthError(chunkLM7DVT7C_cjs.describeCalendarError(err, "Could not connect the account"));
20766
20857
  } finally {
20767
20858
  setPendingKind(null);
20768
20859
  }
@@ -20774,7 +20865,7 @@ function CalendarAccountsPanel({ className }) {
20774
20865
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold text-foreground", children: "Connected calendars" }),
20775
20866
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "Bring your Google, Outlook or CalDAV calendars into ARBI. Changes sync both ways." })
20776
20867
  ] }),
20777
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "Loading accounts\u2026" }) : error ? /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-destructive", children: chunkW3PSIIMN_cjs.describeCalendarError(error, "Could not load accounts") }) : accounts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "rounded-lg border border-dashed border-border p-4 text-sm text-muted-foreground", children: "No calendar accounts connected yet." }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "grid gap-2", children: accounts.map((a) => /* @__PURE__ */ jsxRuntime.jsx(AccountRow, { account: a }, a.id)) }),
20868
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "Loading accounts\u2026" }) : error ? /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-destructive", children: chunkLM7DVT7C_cjs.describeCalendarError(error, "Could not load accounts") }) : accounts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "rounded-lg border border-dashed border-border p-4 text-sm text-muted-foreground", children: "No calendar accounts connected yet." }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "grid gap-2", children: accounts.map((a) => /* @__PURE__ */ jsxRuntime.jsx(AccountRow, { account: a }, a.id)) }),
20778
20869
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-2", children: [
20779
20870
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-2", children: [
20780
20871
  oauth && ["google", "microsoft"].map((kind) => /* @__PURE__ */ jsxRuntime.jsxs(
@@ -20831,13 +20922,13 @@ var selectClass3 = "h-9 w-full rounded-md border border-input bg-background px-2
20831
20922
  function summarizeWeekly(page) {
20832
20923
  const days = [...new Set((page.weekly ?? []).map((w) => Number(w.day)))].sort();
20833
20924
  if (!days.length) return "No hours set";
20834
- return days.map((d) => chunkW3PSIIMN_cjs.WEEKDAY_NAMES[d]?.slice(0, 3)).join(", ");
20925
+ return days.map((d) => chunkLM7DVT7C_cjs.WEEKDAY_NAMES[d]?.slice(0, 3)).join(", ");
20835
20926
  }
20836
20927
  function BookingPageForm({ page, defaultTimeZone, onDone }) {
20837
20928
  const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
20838
20929
  const copyText = useCalendarCopy();
20839
20930
  const [form, setForm] = react$1.useState(
20840
- () => page ? chunkW3PSIIMN_cjs.bookingToForm(page) : chunkW3PSIIMN_cjs.emptyBookingForm(defaultTimeZone)
20931
+ () => page ? chunkLM7DVT7C_cjs.bookingToForm(page) : chunkLM7DVT7C_cjs.emptyBookingForm(defaultTimeZone)
20841
20932
  );
20842
20933
  const [slugTouched, setSlugTouched] = react$1.useState(!!page);
20843
20934
  const [errors, setErrors] = react$1.useState({});
@@ -20868,18 +20959,18 @@ function BookingPageForm({ page, defaultTimeZone, onDone }) {
20868
20959
  className: "grid gap-4",
20869
20960
  onSubmit: (e) => {
20870
20961
  e.preventDefault();
20871
- const found = chunkW3PSIIMN_cjs.validateBookingForm(form);
20962
+ const found = chunkLM7DVT7C_cjs.validateBookingForm(form);
20872
20963
  setErrors(found);
20873
20964
  setServerError(null);
20874
20965
  if (Object.keys(found).length) return;
20875
- save.mutate(chunkW3PSIIMN_cjs.formToBookingBody(form), {
20966
+ save.mutate(chunkLM7DVT7C_cjs.formToBookingBody(form), {
20876
20967
  onSuccess: (saved) => {
20877
20968
  notify17(page ? "Booking page saved" : "Booking page published", "success");
20878
- if (!page) void copyText(chunkW3PSIIMN_cjs.bookingLink(saved), "Booking link");
20969
+ if (!page) void copyText(chunkLM7DVT7C_cjs.bookingLink(saved), "Booking link");
20879
20970
  onDone();
20880
20971
  },
20881
20972
  onError: (err) => setServerError(
20882
- err.status === 409 ? "That link is taken. Choose another." : chunkW3PSIIMN_cjs.describeCalendarError(err, "Could not save")
20973
+ err.status === 409 ? "That link is taken. Choose another." : chunkLM7DVT7C_cjs.describeCalendarError(err, "Could not save")
20883
20974
  )
20884
20975
  });
20885
20976
  },
@@ -20896,7 +20987,7 @@ function BookingPageForm({ page, defaultTimeZone, onDone }) {
20896
20987
  value: form.title,
20897
20988
  onChange: (e) => {
20898
20989
  const title = e.target.value;
20899
- setForm((f) => ({ ...f, title, slug: slugTouched ? f.slug : chunkW3PSIIMN_cjs.slugify(title) }));
20990
+ setForm((f) => ({ ...f, title, slug: slugTouched ? f.slug : chunkLM7DVT7C_cjs.slugify(title) }));
20900
20991
  },
20901
20992
  "aria-invalid": !!errors.title,
20902
20993
  "data-testid": "booking-title"
@@ -20963,14 +21054,14 @@ function BookingPageForm({ page, defaultTimeZone, onDone }) {
20963
21054
  className: selectClass3,
20964
21055
  value: form.timeZone,
20965
21056
  onChange: (e) => set("timeZone", e.target.value),
20966
- children: chunkW3PSIIMN_cjs.zoneOptions(form.timeZone).map((z) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: z, children: z.replace(/_/g, " ") }, z))
21057
+ children: chunkLM7DVT7C_cjs.zoneOptions(form.timeZone).map((z) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: z, children: z.replace(/_/g, " ") }, z))
20967
21058
  }
20968
21059
  )
20969
21060
  ] })
20970
21061
  ] }),
20971
21062
  /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "grid gap-2", children: [
20972
21063
  /* @__PURE__ */ jsxRuntime.jsx("legend", { className: "mb-1 text-sm font-medium text-foreground", children: "Weekly hours" }),
20973
- /* @__PURE__ */ jsxRuntime.jsx(chunkW3PSIIMN_cjs.WeeklyHoursEditor, { value: form.weekly, onChange: (weekly) => set("weekly", weekly) }),
21064
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLM7DVT7C_cjs.WeeklyHoursEditor, { value: form.weekly, onChange: (weekly) => set("weekly", weekly) }),
20974
21065
  errors.weekly && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-destructive", children: errors.weekly }),
20975
21066
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: "Only times free in your calendars within these hours are offered." })
20976
21067
  ] }),
@@ -21049,7 +21140,7 @@ function BookingPagesPanel({ defaultTimeZone, className }) {
21049
21140
  " New booking page"
21050
21141
  ] })
21051
21142
  ] }),
21052
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "Loading\u2026" }) : error ? /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-destructive", children: chunkW3PSIIMN_cjs.describeCalendarError(error, "Could not load booking pages") }) : pages.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid justify-items-center gap-2 rounded-lg border border-dashed border-border p-6 text-center text-sm text-muted-foreground", children: [
21143
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "Loading\u2026" }) : error ? /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-destructive", children: chunkLM7DVT7C_cjs.describeCalendarError(error, "Could not load booking pages") }) : pages.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid justify-items-center gap-2 rounded-lg border border-dashed border-border p-6 text-center text-sm text-muted-foreground", children: [
21053
21144
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CalendarCheck, { className: "size-6" }),
21054
21145
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: "No booking pages yet." })
21055
21146
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "grid gap-2", children: pages.map((p) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -21078,11 +21169,11 @@ function BookingPagesPanel({ defaultTimeZone, className }) {
21078
21169
  {
21079
21170
  size: "sm",
21080
21171
  variant: "outline",
21081
- onClick: () => void copyText(chunkW3PSIIMN_cjs.bookingLink(p), "Booking link"),
21172
+ onClick: () => void copyText(chunkLM7DVT7C_cjs.bookingLink(p), "Booking link"),
21082
21173
  children: "Copy link"
21083
21174
  }
21084
21175
  ),
21085
- /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "sm", variant: "ghost", asChild: true, "aria-label": `Open ${p.title}`, children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: chunkW3PSIIMN_cjs.bookingLink(p), target: "_blank", rel: "noreferrer", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ExternalLink, { className: "size-4" }) }) }),
21176
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "sm", variant: "ghost", asChild: true, "aria-label": `Open ${p.title}`, children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: chunkLM7DVT7C_cjs.bookingLink(p), target: "_blank", rel: "noreferrer", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ExternalLink, { className: "size-4" }) }) }),
21086
21177
  /* @__PURE__ */ jsxRuntime.jsx(
21087
21178
  ui.Button,
21088
21179
  {
@@ -21101,7 +21192,7 @@ function BookingPagesPanel({ defaultTimeZone, className }) {
21101
21192
  variant: "destructive",
21102
21193
  disabled: remove.isPending,
21103
21194
  onClick: () => remove.mutate(p.slug, {
21104
- onError: (err) => notify17(`Could not delete: ${chunkW3PSIIMN_cjs.describeCalendarError(err)}`, "error"),
21195
+ onError: (err) => notify17(`Could not delete: ${chunkLM7DVT7C_cjs.describeCalendarError(err)}`, "error"),
21105
21196
  onSettled: () => setConfirmDelete(null)
21106
21197
  }),
21107
21198
  children: "Delete"
@@ -21164,7 +21255,7 @@ function CreateRoomForm({ zone, onDone }) {
21164
21255
  notify17(`Created ${room.name} (${room.email})`, "success");
21165
21256
  onDone();
21166
21257
  },
21167
- onError: (err) => setError(chunkW3PSIIMN_cjs.describeCalendarError(err, "Could not create"))
21258
+ onError: (err) => setError(chunkLM7DVT7C_cjs.describeCalendarError(err, "Could not create"))
21168
21259
  }
21169
21260
  );
21170
21261
  },
@@ -21277,7 +21368,7 @@ function RoomRow({ room, zone, checked }) {
21277
21368
  ),
21278
21369
  checked && !!room.busy?.length && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1 text-xs text-muted-foreground", children: [
21279
21370
  "Busy ",
21280
- (room.busy ?? []).map((b) => chunkW3PSIIMN_cjs.formatBusy(b.start, b.end, zone)).join(", ")
21371
+ (room.busy ?? []).map((b) => chunkLM7DVT7C_cjs.formatBusy(b.start, b.end, zone)).join(", ")
21281
21372
  ] })
21282
21373
  ] }),
21283
21374
  checked && room.free !== null && room.free !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
@@ -21302,7 +21393,7 @@ function RoomsDirectoryPanel({
21302
21393
  }) {
21303
21394
  const { data: settings } = react.useCalendarSettings(!timeZone);
21304
21395
  const zone = chunkQUMUAJ2P_cjs.safeZone(timeZone || settings?.time_zone, chunkQUMUAJ2P_cjs.detectTimeZone());
21305
- const [initial] = react$1.useState(() => chunkW3PSIIMN_cjs.defaultRoomWindow(zone));
21396
+ const [initial] = react$1.useState(() => chunkLM7DVT7C_cjs.defaultRoomWindow(zone));
21306
21397
  const [minCapacity, setMinCapacity] = react$1.useState("");
21307
21398
  const [feature, setFeature] = react$1.useState("");
21308
21399
  const [building, setBuilding] = react$1.useState("");
@@ -21433,7 +21524,7 @@ function RoomsDirectoryPanel({
21433
21524
  windowError && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-destructive", children: windowError })
21434
21525
  ] })
21435
21526
  ] }),
21436
- error ? /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-destructive", children: chunkW3PSIIMN_cjs.describeCalendarError(error, "Could not load rooms") }) : sorted.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "rounded-lg border border-dashed border-border p-4 text-sm text-muted-foreground", children: isFetching ? "Loading rooms\u2026" : "No rooms match." }) : /* @__PURE__ */ jsxRuntime.jsx(
21527
+ error ? /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-destructive", children: chunkLM7DVT7C_cjs.describeCalendarError(error, "Could not load rooms") }) : sorted.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "rounded-lg border border-dashed border-border p-4 text-sm text-muted-foreground", children: isFetching ? "Loading rooms\u2026" : "No rooms match." }) : /* @__PURE__ */ jsxRuntime.jsx(
21437
21528
  "ul",
21438
21529
  {
21439
21530
  className: "grid divide-y divide-border rounded-lg border border-border",
@@ -21458,11 +21549,11 @@ function CalendarSettingsDialog({
21458
21549
  }) {
21459
21550
  const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
21460
21551
  const save = react.useSaveCalendarSettings();
21461
- const [value, setValue] = react$1.useState(() => chunkW3PSIIMN_cjs.toSettingsValue(settings));
21552
+ const [value, setValue] = react$1.useState(() => chunkLM7DVT7C_cjs.toSettingsValue(settings));
21462
21553
  const [tab, setTab] = react$1.useState(initialTab);
21463
21554
  react$1.useEffect(() => {
21464
21555
  if (open) {
21465
- setValue(chunkW3PSIIMN_cjs.toSettingsValue(settings));
21556
+ setValue(chunkLM7DVT7C_cjs.toSettingsValue(settings));
21466
21557
  setTab(initialTab);
21467
21558
  save.reset();
21468
21559
  }
@@ -21496,13 +21587,13 @@ function CalendarSettingsDialog({
21496
21587
  }
21497
21588
  ),
21498
21589
  /* @__PURE__ */ jsxRuntime.jsx(ui.TabsContent, { value: "general", className: "pt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
21499
- chunkW3PSIIMN_cjs.CalendarSettingsForm,
21590
+ chunkLM7DVT7C_cjs.CalendarSettingsForm,
21500
21591
  {
21501
21592
  value,
21502
21593
  onChange: setValue,
21503
21594
  calendars: calendars.filter((c) => c.canWrite),
21504
21595
  saving: save.isPending,
21505
- error: save.error ? chunkW3PSIIMN_cjs.describeCalendarError(save.error) : null,
21596
+ error: save.error ? chunkLM7DVT7C_cjs.describeCalendarError(save.error) : null,
21506
21597
  onCancel: onClose,
21507
21598
  onSave: () => save.mutate({ ...settings, ...value }, {
21508
21599
  onSuccess: () => {
@@ -21531,10 +21622,10 @@ function EventScheduling({
21531
21622
  const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
21532
21623
  const arbi = react.useArbi();
21533
21624
  const me = arbi.isLoggedIn ? arbi.user.identity()?.email ?? null : null;
21534
- const allDay = chunkW3PSIIMN_cjs.isAllDayDraft(draft);
21625
+ const allDay = chunkLM7DVT7C_cjs.isAllDayDraft(draft);
21535
21626
  const range = react$1.useMemo(() => {
21536
21627
  try {
21537
- const { startMs, endMs } = chunkW3PSIIMN_cjs.draftRangeUtc(draft, timeZone);
21628
+ const { startMs, endMs } = chunkLM7DVT7C_cjs.draftRangeUtc(draft, timeZone);
21538
21629
  if (!Number.isFinite(startMs) || !Number.isFinite(endMs) || endMs <= startMs) return null;
21539
21630
  return { start: new Date(startMs).toISOString(), end: new Date(endMs).toISOString() };
21540
21631
  } catch {
@@ -21566,7 +21657,7 @@ function EventScheduling({
21566
21657
  } : null;
21567
21658
  const freeBusy = react.useFreeBusy(open ? ids : [], fbWindow?.start ?? null, fbWindow?.end ?? null);
21568
21659
  const rows = react$1.useMemo(
21569
- () => date && freeBusy.data ? chunkW3PSIIMN_cjs.freeBusyToRows(freeBusy.data, date, labelOf, roomEmails) : [],
21660
+ () => date && freeBusy.data ? chunkLM7DVT7C_cjs.freeBusyToRows(freeBusy.data, date, labelOf, roomEmails) : [],
21570
21661
  // eslint-disable-next-line react-hooks/exhaustive-deps
21571
21662
  [freeBusy.data, date, roomEmails, attendees, me]
21572
21663
  );
@@ -21595,7 +21686,7 @@ function EventScheduling({
21595
21686
  className: "space-y-4 rounded-md border border-border p-3",
21596
21687
  "data-testid": "calendar-scheduling-section",
21597
21688
  children: date && /* @__PURE__ */ jsxRuntime.jsx(
21598
- chunkW3PSIIMN_cjs.SchedulingAssistant,
21689
+ chunkLM7DVT7C_cjs.SchedulingAssistant,
21599
21690
  {
21600
21691
  date,
21601
21692
  timeZone,
@@ -21620,12 +21711,12 @@ function EventScheduling({
21620
21711
  limit: 8
21621
21712
  },
21622
21713
  {
21623
- onSuccess: (s) => setSuggestions(chunkW3PSIIMN_cjs.toSuggestionViews(s)),
21714
+ onSuccess: (s) => setSuggestions(chunkLM7DVT7C_cjs.toSuggestionViews(s)),
21624
21715
  onError: (err) => notify17(`Could not find times: ${err.message}`, "error")
21625
21716
  }
21626
21717
  ),
21627
21718
  onPickSuggestion: (s) => {
21628
- onChange(chunkW3PSIIMN_cjs.applySuggestion(draft, s, timeZone));
21719
+ onChange(chunkLM7DVT7C_cjs.applySuggestion(draft, s, timeZone));
21629
21720
  setDayOverride(null);
21630
21721
  }
21631
21722
  }
@@ -21655,7 +21746,7 @@ function EventEditorDialog({
21655
21746
  const { notify: notify17, runtimeConfig } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
21656
21747
  const attachmentDocuments = documents.map((document2) => ({
21657
21748
  doc_id: document2.external_id,
21658
- title: chunkUDMII47W_cjs.toWorkflowFieldDocument(document2).title,
21749
+ title: chunkSU374FEM_cjs.toWorkflowFieldDocument(document2).title,
21659
21750
  url: chunk725OETK3_cjs.buildDeepLinkUrl(
21660
21751
  { workspaceId: workspaceId ?? void 0, documentId: document2.external_id },
21661
21752
  runtimeConfig.deploymentDomain
@@ -21708,7 +21799,7 @@ function EventEditorDialog({
21708
21799
  "Add an ARBI call (the link is created when you save)"
21709
21800
  ] }),
21710
21801
  editor && /* @__PURE__ */ jsxRuntime.jsx(
21711
- chunkW3PSIIMN_cjs.EventEditor,
21802
+ chunkLM7DVT7C_cjs.EventEditor,
21712
21803
  {
21713
21804
  value: editor.draft,
21714
21805
  onChange: setDraft,
@@ -21753,7 +21844,7 @@ function EventEditorDialog({
21753
21844
  }
21754
21845
  function when(inv, zone) {
21755
21846
  if (!inv.start_utc || !inv.end_utc) return "";
21756
- return chunkW3PSIIMN_cjs.formatEventWhen(
21847
+ return chunkLM7DVT7C_cjs.formatEventWhen(
21757
21848
  { all_day: false, start_utc: inv.start_utc, end_utc: inv.end_utc, start: {}, end: {} },
21758
21849
  zone
21759
21850
  );
@@ -21916,7 +22007,7 @@ function InvitationsPanel({ timeZone, onOpenEvent }) {
21916
22007
  }
21917
22008
  ),
21918
22009
  /* @__PURE__ */ jsxRuntime.jsx(
21919
- chunkW3PSIIMN_cjs.ProposeTimeDialog,
22010
+ chunkLM7DVT7C_cjs.ProposeTimeDialog,
21920
22011
  {
21921
22012
  open: !!proposeFor,
21922
22013
  startUtc: proposeFor?.start_utc ?? null,
@@ -21995,7 +22086,7 @@ function PublishCalendarDialog({
21995
22086
  }
21996
22087
  )
21997
22088
  ] }),
21998
- publish.error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-destructive", role: "alert", children: chunkW3PSIIMN_cjs.describeCalendarError(publish.error, "Could not publish the calendar") }),
22089
+ publish.error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-destructive", role: "alert", children: chunkLM7DVT7C_cjs.describeCalendarError(publish.error, "Could not publish the calendar") }),
21999
22090
  /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogFooter, { children: [
22000
22091
  /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { type: "button", variant: "ghost", onClick: onClose, children: "Cancel" }),
22001
22092
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -22187,7 +22278,7 @@ function ConnectedUpcomingEvents({
22187
22278
  () => new Set(calendars.filter((c) => c.hidden).map((c) => c.id)),
22188
22279
  [calendars]
22189
22280
  );
22190
- const list = chunkW3PSIIMN_cjs.upcomingOf(events, Date.now(), { showDeclined, hidden }).slice(0, limit);
22281
+ const list = chunkLM7DVT7C_cjs.upcomingOf(events, Date.now(), { showDeclined, hidden }).slice(0, limit);
22191
22282
  let lastDay = "";
22192
22283
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: ui.cn("space-y-1 text-sm", className), "data-testid": "calendar-upcoming", children: [
22193
22284
  /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "px-1 text-xs font-semibold uppercase tracking-wider text-muted-foreground", children: "Upcoming" }),
@@ -22226,20 +22317,20 @@ function ConnectedUpcomingEvents({
22226
22317
  ]
22227
22318
  }
22228
22319
  ),
22229
- chunkW3PSIIMN_cjs.conferenceUrl(e) && /* @__PURE__ */ jsxRuntime.jsxs(
22320
+ chunkLM7DVT7C_cjs.conferenceUrl(e) && /* @__PURE__ */ jsxRuntime.jsxs(
22230
22321
  ui.Button,
22231
22322
  {
22232
22323
  type: "button",
22233
22324
  size: "sm",
22234
- variant: chunkW3PSIIMN_cjs.canJoinEvent(e) ? "default" : "ghost",
22325
+ variant: chunkLM7DVT7C_cjs.canJoinEvent(e) ? "default" : "ghost",
22235
22326
  className: "h-6 px-2 text-xs",
22236
- onClick: () => onJoin ? onJoin(e) : void joinEventMeeting(arbi, chunkW3PSIIMN_cjs.conferenceUrl(e)),
22327
+ onClick: () => onJoin ? onJoin(e) : void joinEventMeeting(arbi, chunkLM7DVT7C_cjs.conferenceUrl(e)),
22237
22328
  "aria-label": `Join ${e.title}`,
22238
22329
  "data-testid": "calendar-upcoming-join",
22239
22330
  children: [
22240
22331
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Video, { className: "mr-1 size-3" }),
22241
22332
  " ",
22242
- chunkW3PSIIMN_cjs.isWebinarConference(e.conference) ? "Join webinar" : "Join"
22333
+ chunkLM7DVT7C_cjs.isWebinarConference(e.conference) ? "Join webinar" : "Join"
22243
22334
  ]
22244
22335
  }
22245
22336
  )
@@ -22266,7 +22357,7 @@ function useWebinarAttendee(draft, calls) {
22266
22357
  }, [pending, attendees, calls]);
22267
22358
  const roles = conference?.url ? conference.roles : null;
22268
22359
  return react$1.useCallback(
22269
- (a) => roles ? chunkW3PSIIMN_cjs.attendeeKey(a) in roles : arbiUsers.has(chunkW3PSIIMN_cjs.attendeeKey(a)),
22360
+ (a) => roles ? chunkLM7DVT7C_cjs.attendeeKey(a) in roles : arbiUsers.has(chunkLM7DVT7C_cjs.attendeeKey(a)),
22270
22361
  [roles, arbiUsers]
22271
22362
  );
22272
22363
  }
@@ -22354,7 +22445,7 @@ var isPhoneNow = () => typeof window !== "undefined" && !!window.matchMedia?.(PH
22354
22445
  function useIsPhone2() {
22355
22446
  return react$1.useSyncExternalStore(subscribePhone, isPhoneNow, () => false);
22356
22447
  }
22357
- var errorText3 = (err) => chunkW3PSIIMN_cjs.describeCalendarError(err);
22448
+ var errorText3 = (err) => chunkLM7DVT7C_cjs.describeCalendarError(err);
22358
22449
  var PRINT_VIEW = {
22359
22450
  day: "day",
22360
22451
  week: "week",
@@ -22399,19 +22490,19 @@ function ConnectedCalendar({
22399
22490
  const kindOf = /* @__PURE__ */ new Map();
22400
22491
  for (const acc of accounts ?? []) for (const id of acc.calendars ?? []) kindOf.set(id, acc.kind);
22401
22492
  return calendars.map((c) => {
22402
- const item = chunkW3PSIIMN_cjs.calendarToListItem(c);
22493
+ const item = chunkLM7DVT7C_cjs.calendarToListItem(c);
22403
22494
  return item.provider ? item : { ...item, provider: kindOf.get(c.id) ?? null };
22404
22495
  });
22405
22496
  }, [calendars, accounts]);
22406
22497
  const gridEvents = react$1.useMemo(() => {
22407
- const out = chunkW3PSIIMN_cjs.buildGridEvents(events, calendars, overlays, {
22498
+ const out = chunkLM7DVT7C_cjs.buildGridEvents(events, calendars, overlays, {
22408
22499
  zone,
22409
22500
  showDeclined: !!settings.show_declined
22410
22501
  });
22411
22502
  const pending = [];
22412
22503
  for (const item of outbox ?? []) {
22413
22504
  if (item.op.kind !== "create" || item.state === "sent") continue;
22414
- const g = chunkW3PSIIMN_cjs.pendingCreateToGrid(item.requestId, item.op.body, zone);
22505
+ const g = chunkLM7DVT7C_cjs.pendingCreateToGrid(item.requestId, item.op.body, zone);
22415
22506
  if (g) pending.push(g);
22416
22507
  }
22417
22508
  return pending.length ? [...out, ...pending] : out;
@@ -22465,13 +22556,13 @@ function ConnectedCalendar({
22465
22556
  };
22466
22557
  const saveWebinarRoles = (original, draft) => {
22467
22558
  const c = draft.conference;
22468
- if (!calls || !chunkW3PSIIMN_cjs.isWebinarConference(c) || !c?.url || !original.conference?.url) return;
22559
+ if (!calls || !chunkLM7DVT7C_cjs.isWebinarConference(c) || !c?.url || !original.conference?.url) return;
22469
22560
  if (JSON.stringify(original.conference.roles ?? {}) === JSON.stringify(c.roles ?? {})) return;
22470
22561
  calls.saveWebinarRoles(c.url, c.roles, draft.attendees ?? []).catch((err) => notifyError("Could not update the webinar roles", err));
22471
22562
  };
22472
22563
  const isWebinarAttendee = useWebinarAttendee(editor?.draft, calls);
22473
22564
  const joinMeeting = (event) => {
22474
- const url = chunkW3PSIIMN_cjs.conferenceUrl(event);
22565
+ const url = chunkLM7DVT7C_cjs.conferenceUrl(event);
22475
22566
  if (!url) return;
22476
22567
  if (calls) calls.join(url);
22477
22568
  else openMeetingLink(url);
@@ -22516,7 +22607,7 @@ function ConnectedCalendar({
22516
22607
  );
22517
22608
  const openCreate = react$1.useCallback(
22518
22609
  (slot) => {
22519
- const draft = chunkW3PSIIMN_cjs.newEventDraft(settings, { slot, calendarId: defaultCalendarId });
22610
+ const draft = chunkLM7DVT7C_cjs.newEventDraft(settings, { slot, calendarId: defaultCalendarId });
22520
22611
  setEditor({ mode: "create", original: draft, draft, error: null });
22521
22612
  },
22522
22613
  [settings, defaultCalendarId]
@@ -22524,7 +22615,7 @@ function ConnectedCalendar({
22524
22615
  react$1.useEffect(() => {
22525
22616
  if (!pendingComposer) return;
22526
22617
  setPendingComposer(null);
22527
- const base = chunkW3PSIIMN_cjs.newEventDraft(settings, { calendarId: defaultCalendarId });
22618
+ const base = chunkLM7DVT7C_cjs.newEventDraft(settings, { calendarId: defaultCalendarId });
22528
22619
  const draft = {
22529
22620
  ...base,
22530
22621
  title: pendingComposer.title ?? "",
@@ -22546,7 +22637,7 @@ function ConnectedCalendar({
22546
22637
  });
22547
22638
  }, [pendingComposer, setPendingComposer, settings, defaultCalendarId, callsEnabled]);
22548
22639
  const openOverlay = (item) => {
22549
- const link = chunkW3PSIIMN_cjs.parseOverlayLink(item.link);
22640
+ const link = chunkLM7DVT7C_cjs.parseOverlayLink(item.link);
22550
22641
  if (!link) return;
22551
22642
  if (onOpenOverlay) onOpenOverlay(link);
22552
22643
  else if (link.kind === "conversation") openConversation(link.id);
@@ -22561,7 +22652,7 @@ function ConnectedCalendar({
22561
22652
  if (overlay) openOverlay(overlay);
22562
22653
  };
22563
22654
  const withScope = (event, action, run, cancel) => {
22564
- if (!chunkW3PSIIMN_cjs.needsScope(event)) {
22655
+ if (!chunkLM7DVT7C_cjs.needsScope(event)) {
22565
22656
  run("all");
22566
22657
  return;
22567
22658
  }
@@ -22588,7 +22679,7 @@ function ConnectedCalendar({
22588
22679
  event,
22589
22680
  "edit",
22590
22681
  (scope) => {
22591
- const { target, body } = chunkW3PSIIMN_cjs.buildTimeChangeRequest(event, change, scope, zone);
22682
+ const { target, body } = chunkLM7DVT7C_cjs.buildTimeChangeRequest(event, change, scope, zone);
22592
22683
  updateEvent.mutate(
22593
22684
  { target, body },
22594
22685
  {
@@ -22612,8 +22703,8 @@ function ConnectedCalendar({
22612
22703
  master = null;
22613
22704
  }
22614
22705
  }
22615
- let draft = chunkW3PSIIMN_cjs.eventToDraft(event, master);
22616
- if (calls && draft.conference?.url && chunkW3PSIIMN_cjs.isWebinarConference(draft.conference)) {
22706
+ let draft = chunkLM7DVT7C_cjs.eventToDraft(event, master);
22707
+ if (calls && draft.conference?.url && chunkLM7DVT7C_cjs.isWebinarConference(draft.conference)) {
22617
22708
  try {
22618
22709
  const roles = await calls.loadWebinarRoles(draft.conference.url, draft.attendees ?? []);
22619
22710
  if (roles) draft = { ...draft, conference: { ...draft.conference, kind: "webinar", roles } };
@@ -22624,7 +22715,7 @@ function ConnectedCalendar({
22624
22715
  setEditor({ mode: "edit", event, original: draft, draft, error: null });
22625
22716
  };
22626
22717
  const removeEvent = (event) => {
22627
- const run = (scope) => deleteEvent.mutate(chunkW3PSIIMN_cjs.buildDeleteTarget(event, scope), {
22718
+ const run = (scope) => deleteEvent.mutate(chunkLM7DVT7C_cjs.buildDeleteTarget(event, scope), {
22628
22719
  onSuccess: () => {
22629
22720
  setSelected(null);
22630
22721
  setEditor(null);
@@ -22632,7 +22723,7 @@ function ConnectedCalendar({
22632
22723
  onError: (err) => notifyError("Could not delete the event", err)
22633
22724
  });
22634
22725
  const invitee = event.is_organizer === false && event.my_partstat != null;
22635
- if (chunkW3PSIIMN_cjs.needsScope(event)) withScope(event, "delete", run);
22726
+ if (chunkLM7DVT7C_cjs.needsScope(event)) withScope(event, "delete", run);
22636
22727
  else
22637
22728
  void confirm({
22638
22729
  message: invitee ? `Remove \u201C${event.title || "this event"}\u201D from your calendar? The organiser is told you declined.` : `Delete \u201C${event.title || "this event"}\u201D?`,
@@ -22641,9 +22732,9 @@ function ConnectedCalendar({
22641
22732
  };
22642
22733
  const saveEditor = () => {
22643
22734
  if (!editor) return;
22644
- const problem = chunkW3PSIIMN_cjs.validateDraft(editor.draft, zone);
22735
+ const problem = chunkLM7DVT7C_cjs.validateDraft(editor.draft, zone);
22645
22736
  if (problem) {
22646
- setEditor({ ...editor, error: chunkW3PSIIMN_cjs.CALENDAR_DEFAULT_LABELS[problem] });
22737
+ setEditor({ ...editor, error: chunkLM7DVT7C_cjs.CALENDAR_DEFAULT_LABELS[problem] });
22647
22738
  return;
22648
22739
  }
22649
22740
  if (editor.mode === "create") {
@@ -22657,7 +22748,7 @@ function ConnectedCalendar({
22657
22748
  );
22658
22749
  return;
22659
22750
  }
22660
- createEvent.mutate(chunkW3PSIIMN_cjs.buildCreateBody(draft), {
22751
+ createEvent.mutate(chunkLM7DVT7C_cjs.buildCreateBody(draft), {
22661
22752
  onSuccess: (event2) => {
22662
22753
  shareCall(draft);
22663
22754
  setEditor(null);
@@ -22682,7 +22773,7 @@ function ConnectedCalendar({
22682
22773
  );
22683
22774
  return;
22684
22775
  }
22685
- const { target, body, moveTo } = chunkW3PSIIMN_cjs.buildEditRequest(event, editor.original, draft, scope);
22776
+ const { target, body, moveTo } = chunkLM7DVT7C_cjs.buildEditRequest(event, editor.original, draft, scope);
22686
22777
  try {
22687
22778
  let id = event.id;
22688
22779
  let queued = false;
@@ -22802,7 +22893,7 @@ function ConnectedCalendar({
22802
22893
  }
22803
22894
  ),
22804
22895
  /* @__PURE__ */ jsxRuntime.jsx(
22805
- chunkW3PSIIMN_cjs.MiniMonth,
22896
+ chunkLM7DVT7C_cjs.MiniMonth,
22806
22897
  {
22807
22898
  date,
22808
22899
  weekStart: settings.week_start,
@@ -22813,7 +22904,7 @@ function ConnectedCalendar({
22813
22904
  }
22814
22905
  ),
22815
22906
  /* @__PURE__ */ jsxRuntime.jsx(
22816
- chunkW3PSIIMN_cjs.CalendarList,
22907
+ chunkLM7DVT7C_cjs.CalendarList,
22817
22908
  {
22818
22909
  calendars: listItems,
22819
22910
  overlays: {
@@ -22874,7 +22965,7 @@ function ConnectedCalendar({
22874
22965
  }
22875
22966
  ),
22876
22967
  /* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-0 min-w-0 flex-1 flex-col", "data-testid": "calendar-main", children: /* @__PURE__ */ jsxRuntime.jsx(
22877
- chunkW3PSIIMN_cjs.CalendarGrid,
22968
+ chunkLM7DVT7C_cjs.CalendarGrid,
22878
22969
  {
22879
22970
  events: gridEvents,
22880
22971
  view,
@@ -22911,7 +23002,7 @@ function ConnectedCalendar({
22911
23002
  "aria-label": "Print",
22912
23003
  title: "Print",
22913
23004
  "data-testid": "calendar-print-button",
22914
- onClick: () => chunkW3PSIIMN_cjs.printCalendar({
23005
+ onClick: () => chunkLM7DVT7C_cjs.printCalendar({
22915
23006
  events: (events ?? []).filter(
22916
23007
  (e) => !calendars.find((c) => c.id === e.calendar_id)?.hidden
22917
23008
  ),
@@ -22973,13 +23064,13 @@ function ConnectedCalendar({
22973
23064
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { className: "sr-only", children: selectedEvent?.title || "Event" }),
22974
23065
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { className: "sr-only", children: "Event details" }),
22975
23066
  selectedEvent && /* @__PURE__ */ jsxRuntime.jsx(
22976
- chunkW3PSIIMN_cjs.EventDetails,
23067
+ chunkLM7DVT7C_cjs.EventDetails,
22977
23068
  {
22978
23069
  event: selectedEvent,
22979
23070
  timeZone: zone,
22980
23071
  calendarName: selectedCalendar?.name ?? null,
22981
23072
  calendarColor: selectedCalendar?.color ?? null,
22982
- canJoin: chunkW3PSIIMN_cjs.canJoinEvent(selectedEvent),
23073
+ canJoin: chunkLM7DVT7C_cjs.canJoinEvent(selectedEvent),
22983
23074
  onClose: () => setSelected(null),
22984
23075
  onEdit: selectedEvent.can_edit && !selectedEvent.restricted ? () => void openEdit(selectedEvent) : void 0,
22985
23076
  onDelete: selectedEvent.can_edit || selectedEvent.is_organizer === false && selectedEvent.my_partstat != null ? () => removeEvent(selectedEvent) : void 0,
@@ -22989,9 +23080,9 @@ function ConnectedCalendar({
22989
23080
  setSelected(null);
22990
23081
  joinMeeting(selectedEvent);
22991
23082
  } : void 0,
22992
- onOpenMeetingChat: calls && selectedEvent.conference?.type === "arbi" && chunkW3PSIIMN_cjs.conferenceUrl(selectedEvent) ? () => {
23083
+ onOpenMeetingChat: calls && selectedEvent.conference?.type === "arbi" && chunkLM7DVT7C_cjs.conferenceUrl(selectedEvent) ? () => {
22993
23084
  setSelected(null);
22994
- calls.openChat(chunkW3PSIIMN_cjs.conferenceUrl(selectedEvent));
23085
+ calls.openChat(chunkLM7DVT7C_cjs.conferenceUrl(selectedEvent));
22995
23086
  } : void 0
22996
23087
  }
22997
23088
  )
@@ -23017,7 +23108,7 @@ function ConnectedCalendar({
23017
23108
  }
23018
23109
  ),
23019
23110
  /* @__PURE__ */ jsxRuntime.jsx(
23020
- chunkW3PSIIMN_cjs.ScopeDialog,
23111
+ chunkLM7DVT7C_cjs.ScopeDialog,
23021
23112
  {
23022
23113
  open: !!scopePrompt,
23023
23114
  action: scopePrompt?.action ?? "edit",
@@ -23027,7 +23118,7 @@ function ConnectedCalendar({
23027
23118
  }
23028
23119
  ),
23029
23120
  /* @__PURE__ */ jsxRuntime.jsx(
23030
- chunkW3PSIIMN_cjs.CalendarFormDialog,
23121
+ chunkLM7DVT7C_cjs.CalendarFormDialog,
23031
23122
  {
23032
23123
  open: !!calendarForm,
23033
23124
  mode: calendarForm?.mode ?? "create",
@@ -23078,7 +23169,7 @@ function ConnectedCalendar({
23078
23169
  ),
23079
23170
  /* @__PURE__ */ jsxRuntime.jsx(HolidaysDialog, { open: addDialog === "holidays", onClose: () => setAddDialog(null) }),
23080
23171
  /* @__PURE__ */ jsxRuntime.jsx(
23081
- chunkW3PSIIMN_cjs.ProposeTimeDialog,
23172
+ chunkLM7DVT7C_cjs.ProposeTimeDialog,
23082
23173
  {
23083
23174
  open: !!proposeFor,
23084
23175
  startUtc: proposeFor?.start_utc ?? null,
@@ -23125,11 +23216,11 @@ function ConnectedMailInviteCard({
23125
23216
  onOpenEvent
23126
23217
  }) {
23127
23218
  const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
23128
- const part = attachments.find(chunkW3PSIIMN_cjs.isCalendarAttachment);
23219
+ const part = attachments.find(chunkLM7DVT7C_cjs.isCalendarAttachment);
23129
23220
  const { data: settings } = react.useCalendarSettings(!!part);
23130
23221
  const zone = chunkQUMUAJ2P_cjs.safeZone(settings?.time_zone, chunkQUMUAJ2P_cjs.detectTimeZone());
23131
23222
  const { data: ics } = react.useMailAttachmentText(accountId, messageId, part, { enabled: isOnline });
23132
- const invite = ics ? chunkW3PSIIMN_cjs.parseIcsInvite(ics, zone) : null;
23223
+ const invite = ics ? chunkLM7DVT7C_cjs.parseIcsInvite(ics, zone) : null;
23133
23224
  const lookup = react.useCalendarEventByUid(invite?.uid && invite.method !== "REPLY" ? invite.uid : null);
23134
23225
  const respond = react.useRespondToEvent();
23135
23226
  const [partstat, setPartstat] = react$1.useState(null);
@@ -23137,7 +23228,7 @@ function ConnectedMailInviteCard({
23137
23228
  react$1.useEffect(() => setPartstat(event?.my_partstat ?? null), [event?.my_partstat]);
23138
23229
  if (!part || !invite) return null;
23139
23230
  const cancelled = invite.method === "CANCEL" || invite.status === "CANCELLED";
23140
- const when2 = invite.startUtc && invite.endUtc ? chunkW3PSIIMN_cjs.formatEventWhen(
23231
+ const when2 = invite.startUtc && invite.endUtc ? chunkLM7DVT7C_cjs.formatEventWhen(
23141
23232
  {
23142
23233
  all_day: invite.allDay,
23143
23234
  start_utc: invite.startUtc,
@@ -23281,7 +23372,7 @@ function CancelView({ slug, token }) {
23281
23372
  react.cancelPublicBooking(apiBaseUrl, slug, token).then(() => setState("done")).catch((err) => {
23282
23373
  setState("idle");
23283
23374
  setError(
23284
- err instanceof react.PublicBookingError && err.status === 404 ? "This booking was not found \u2014 it may already be cancelled." : chunkW3PSIIMN_cjs.publicBookingMessage(err)
23375
+ err instanceof react.PublicBookingError && err.status === 404 ? "This booking was not found \u2014 it may already be cancelled." : chunkLM7DVT7C_cjs.publicBookingMessage(err)
23285
23376
  );
23286
23377
  });
23287
23378
  },
@@ -23310,7 +23401,7 @@ function Confirmation({
23310
23401
  ] }),
23311
23402
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-1 text-sm", children: [
23312
23403
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-medium", children: confirmation.title }),
23313
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground", "data-testid": "book-confirmed-when", children: chunkW3PSIIMN_cjs.formatSlotRange(confirmation.start, confirmation.end, zone) })
23404
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground", "data-testid": "book-confirmed-when", children: chunkLM7DVT7C_cjs.formatSlotRange(confirmation.start, confirmation.end, zone) })
23314
23405
  ] }),
23315
23406
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "A confirmation has been sent to your e-mail." }),
23316
23407
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -23372,7 +23463,7 @@ function ConnectedPublicBooking({ slug, cancelToken }) {
23372
23463
  };
23373
23464
  }, [apiBaseUrl, slug, duration, offset, reload, cancelToken]);
23374
23465
  const chosenDuration = duration ?? page?.durations[0] ?? 30;
23375
- const days = react$1.useMemo(() => chunkW3PSIIMN_cjs.groupSlotsByDay(page?.slots ?? [], zone), [page?.slots, zone]);
23466
+ const days = react$1.useMemo(() => chunkLM7DVT7C_cjs.groupSlotsByDay(page?.slots ?? [], zone), [page?.slots, zone]);
23376
23467
  const submit = react$1.useCallback(async () => {
23377
23468
  if (!picked) return;
23378
23469
  setSubmitting(true);
@@ -23388,7 +23479,7 @@ function ConnectedPublicBooking({ slug, cancelToken }) {
23388
23479
  })
23389
23480
  );
23390
23481
  } catch (err) {
23391
- setSubmitError(chunkW3PSIIMN_cjs.publicBookingMessage(err));
23482
+ setSubmitError(chunkLM7DVT7C_cjs.publicBookingMessage(err));
23392
23483
  if (err instanceof react.PublicBookingError && err.status === 409) {
23393
23484
  setPicked(null);
23394
23485
  setReload((n) => n + 1);
@@ -23412,11 +23503,11 @@ function ConnectedPublicBooking({ slug, cancelToken }) {
23412
23503
  }
23413
23504
  ) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-3", "data-testid": "book-error", children: [
23414
23505
  /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-lg font-semibold", children: loadError instanceof react.PublicBookingError && loadError.status === 404 ? "Page not found" : "Could not load this page" }),
23415
- /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-muted-foreground", children: chunkW3PSIIMN_cjs.publicBookingMessage(loadError) }),
23506
+ /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-muted-foreground", children: chunkLM7DVT7C_cjs.publicBookingMessage(loadError) }),
23416
23507
  !(loadError instanceof react.PublicBookingError && loadError.status === 404) && /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outline", onClick: () => setReload((n) => n + 1), children: "Try again" })
23417
23508
  ] }) });
23418
23509
  }
23419
- const pickedLabel = picked ? chunkW3PSIIMN_cjs.formatSlotRange(
23510
+ const pickedLabel = picked ? chunkLM7DVT7C_cjs.formatSlotRange(
23420
23511
  picked,
23421
23512
  new Date(new Date(picked).getTime() + chosenDuration * 6e4).toISOString(),
23422
23513
  zone
@@ -23541,7 +23632,7 @@ function ConnectedPublicBooking({ slug, cancelToken }) {
23541
23632
  onChange: (e) => setZone(e.target.value),
23542
23633
  "aria-label": "Your time zone",
23543
23634
  "data-testid": "book-zone",
23544
- children: chunkW3PSIIMN_cjs.zoneOptions(zone).map((z) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: z, children: z.replace(/_/g, " ") }, z))
23635
+ children: chunkLM7DVT7C_cjs.zoneOptions(zone).map((z) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: z, children: z.replace(/_/g, " ") }, z))
23545
23636
  }
23546
23637
  )
23547
23638
  ] })
@@ -23550,7 +23641,7 @@ function ConnectedPublicBooking({ slug, cancelToken }) {
23550
23641
  loading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [
23551
23642
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
23552
23643
  " Finding free times\u2026"
23553
- ] }) : loadError ? /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-destructive", "data-testid": "book-error", children: chunkW3PSIIMN_cjs.publicBookingMessage(loadError) }) : days.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", "data-testid": "book-no-slots", children: "No free times in these two weeks." }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-4", "data-testid": "book-days", children: days.map((day) => /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "grid gap-2", "data-testid": `book-day-${day.date}`, children: [
23644
+ ] }) : loadError ? /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-destructive", "data-testid": "book-error", children: chunkLM7DVT7C_cjs.publicBookingMessage(loadError) }) : days.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", "data-testid": "book-no-slots", children: "No free times in these two weeks." }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-4", "data-testid": "book-days", children: days.map((day) => /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "grid gap-2", "data-testid": `book-day-${day.date}`, children: [
23554
23645
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm font-medium", children: day.label }),
23555
23646
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-3 gap-2 sm:grid-cols-4 md:grid-cols-5", children: day.slots.map((s) => /* @__PURE__ */ jsxRuntime.jsx(
23556
23647
  ui.Button,
@@ -23822,7 +23913,7 @@ function useAddFromUrls({
23822
23913
  if (urls.length === 0 || !workspaceId) return false;
23823
23914
  let result;
23824
23915
  try {
23825
- result = await uploadFromUrls({ urls, shared, configExtId });
23916
+ result = await uploadFromUrls({ urls, shared, configExtId, workspaceId });
23826
23917
  } catch {
23827
23918
  return false;
23828
23919
  }
@@ -26619,7 +26710,7 @@ function useBatchCompleteToasts() {
26619
26710
  }
26620
26711
  }, AI_FIELDS_NOTICE_WINDOW_MS);
26621
26712
  } else if (message.batch_type === "entity_extract") {
26622
- say(`${chunkZIQGSFHG_cjs.entitiesPhrase()} extracted from ${chunkZIQGSFHG_cjs.documentCount(docIds.length)}`, "success", {
26713
+ say(`${chunkVSABGETQ_cjs.entitiesPhrase()} extracted from ${chunkVSABGETQ_cjs.documentCount(docIds.length)}`, "success", {
26623
26714
  ...openTags && { action: { label: "View", onClick: openTags } }
26624
26715
  });
26625
26716
  } else if (message.batch_type === "upload") {
@@ -28115,12 +28206,12 @@ var DocumentReviewCard = react$1.lazy(
28115
28206
  () => import('../DocumentReviewCard-VFNMJSK7.cjs').then((module) => ({ default: module.DocumentReviewCard }))
28116
28207
  );
28117
28208
  var ConnectedDocumentViewer = react$1.lazy(
28118
- () => import('../ConnectedDocumentViewer-IQHDCAZ5.cjs').then((module) => ({
28209
+ () => import('../ConnectedDocumentViewer-R5GFEUPB.cjs').then((module) => ({
28119
28210
  default: module.ConnectedDocumentViewer
28120
28211
  }))
28121
28212
  );
28122
28213
  function defaultReviewCard(props) {
28123
- return /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkZIQGSFHG_cjs.LoadingIndicator, { message: "Loading document viewer..." }), children: /* @__PURE__ */ jsxRuntime.jsx(DocumentReviewCard, { ...props }, `navigator-${props.currentDocument.external_id}`) });
28214
+ return /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVSABGETQ_cjs.LoadingIndicator, { message: "Loading document viewer..." }), children: /* @__PURE__ */ jsxRuntime.jsx(DocumentReviewCard, { ...props }, `navigator-${props.currentDocument.external_id}`) });
28124
28215
  }
28125
28216
  function ConnectedFilesPage({
28126
28217
  isModal = false,
@@ -28166,7 +28257,7 @@ function ConnectedFilesPage({
28166
28257
  const deleteDocuments = react.useDeleteDocuments();
28167
28258
  const isDocumentsPending = isLoading && documents.length === 0;
28168
28259
  const { workspaceId, userId, live } = chunkKGAYUFXD_cjs.useConnectedWorkspace();
28169
- const { role, members } = chunkUDMII47W_cjs.useConnectedWorkspaceRole();
28260
+ const { role, members } = chunkSU374FEM_cjs.useConnectedWorkspaceRole();
28170
28261
  const { data: workspaces } = react.useWorkspaces({ enabled: live });
28171
28262
  const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
28172
28263
  const isMember = role != null;
@@ -28656,7 +28747,7 @@ function ConnectedFilesPage({
28656
28747
  viewMode === "grid" ? (
28657
28748
  // ‹ n / N › over the table's displayed rows; a step opens the document.
28658
28749
  /* @__PURE__ */ jsxRuntime.jsx(
28659
- chunkZIQGSFHG_cjs.GridRowNavigator,
28750
+ chunkVSABGETQ_cjs.GridRowNavigator,
28660
28751
  {
28661
28752
  gridApi,
28662
28753
  selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
@@ -29799,16 +29890,7 @@ function ProcessingSection({
29799
29890
  tasks,
29800
29891
  onDelete
29801
29892
  }) {
29802
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVGNCU5JJ_cjs.TaskSection, { title, count: count2, status, tooltip: SECTION_TOOLTIPS[status], children: /* @__PURE__ */ jsxRuntime.jsx(
29803
- chunkFHXXDPNU_cjs.UploadTaskList,
29804
- {
29805
- tasks,
29806
- title: "",
29807
- showEmptyState: false,
29808
- onDelete,
29809
- renderFileIcon: renderFileIcon2
29810
- }
29811
- ) });
29893
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkVGNCU5JJ_cjs.TaskSection, { title, count: count2, status, tooltip: SECTION_TOOLTIPS[status], children: /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.UploadTaskList, { tasks, title: "", onDelete, renderFileIcon: renderFileIcon2 }) });
29812
29894
  }
29813
29895
  function ConnectedDocumentProcessingPanel({
29814
29896
  workspaceId,
@@ -31353,7 +31435,7 @@ function ConnectedRequestWorkspaceAccess({
31353
31435
  ] });
31354
31436
  }
31355
31437
  function MessageText({ message }) {
31356
- const workspaceId = chunk2FRUMQLS_cjs.useDocumentWorkspace();
31438
+ const workspaceId = chunkEUGCT5MB_cjs.useDocumentWorkspace();
31357
31439
  const selectedWorkspaceId = react.useArbiSessionState((s) => s.workspaceId);
31358
31440
  const documentIds = react$1.useMemo(
31359
31441
  () => workspaceId === selectedWorkspaceId ? Array.from(
@@ -31368,11 +31450,11 @@ function MessageText({ message }) {
31368
31450
  );
31369
31451
  const thumbnails = react.useDocumentThumbnails(documentIds);
31370
31452
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
31371
- /* @__PURE__ */ jsxRuntime.jsx(chunk2FRUMQLS_cjs.ConnectedMarkdown, { children: message }),
31453
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEUGCT5MB_cjs.ConnectedMarkdown, { children: message }),
31372
31454
  workspaceId && documentIds.map((docId) => {
31373
31455
  const thumbnail = thumbnails.get(docId);
31374
31456
  return thumbnail ? /* @__PURE__ */ jsxRuntime.jsx(
31375
- chunk2FRUMQLS_cjs.WorkspaceDocumentReference,
31457
+ chunkEUGCT5MB_cjs.WorkspaceDocumentReference,
31376
31458
  {
31377
31459
  workspaceId,
31378
31460
  docId,
@@ -31393,7 +31475,7 @@ function MessageText({ message }) {
31393
31475
  }
31394
31476
  function ConnectedChatMessageBody({ text: text2, workspaceId }) {
31395
31477
  const documentWorkspace = workspaceId ?? Array.from(text2.matchAll(/\/(wrk-[a-zA-Z0-9]{8})\/con-[a-zA-Z0-9]{8}/g)).at(-1)?.[1] ?? null;
31396
- return /* @__PURE__ */ jsxRuntime.jsx(chunk2FRUMQLS_cjs.DocumentWorkspaceContext.Provider, { value: documentWorkspace, children: /* @__PURE__ */ jsxRuntime.jsx(MessageText, { message: text2 }) });
31478
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkEUGCT5MB_cjs.DocumentWorkspaceContext.Provider, { value: documentWorkspace, children: /* @__PURE__ */ jsxRuntime.jsx(MessageText, { message: text2 }) });
31397
31479
  }
31398
31480
  var anyone = () => true;
31399
31481
  function ConnectedRecipientSelector({
@@ -31440,7 +31522,7 @@ function ConnectedRecipientSelector({
31440
31522
  setSelectorOpen(false);
31441
31523
  setSearchValue("");
31442
31524
  };
31443
- const identity = (user) => /* @__PURE__ */ jsxRuntime.jsx(chunk3VFQYKB5_cjs.ConnectedUserEntity, { user, size: "xs", variant: "pill", showPresence: true, interactive: false });
31525
+ const identity = (user) => /* @__PURE__ */ jsxRuntime.jsx(chunk7TOBKEOV_cjs.ConnectedUserEntity, { user, size: "xs", variant: "pill", showPresence: true, interactive: false });
31444
31526
  const selected = selectedRecipients.flatMap((id) => {
31445
31527
  const user = getUserById(id);
31446
31528
  if (!user) return [];
@@ -31684,7 +31766,7 @@ function renderMessengerUser(user, variant) {
31684
31766
  switch (variant) {
31685
31767
  case "avatar":
31686
31768
  return /* @__PURE__ */ jsxRuntime.jsx(
31687
- chunk3VFQYKB5_cjs.ConnectedUserEntity,
31769
+ chunk7TOBKEOV_cjs.ConnectedUserEntity,
31688
31770
  {
31689
31771
  user,
31690
31772
  size: "lg",
@@ -31695,7 +31777,7 @@ function renderMessengerUser(user, variant) {
31695
31777
  );
31696
31778
  case "small-avatar":
31697
31779
  return /* @__PURE__ */ jsxRuntime.jsx(
31698
- chunk3VFQYKB5_cjs.ConnectedUserEntity,
31780
+ chunk7TOBKEOV_cjs.ConnectedUserEntity,
31699
31781
  {
31700
31782
  user,
31701
31783
  size: "sm",
@@ -31705,9 +31787,9 @@ function renderMessengerUser(user, variant) {
31705
31787
  }
31706
31788
  );
31707
31789
  case "author":
31708
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3VFQYKB5_cjs.ConnectedUserEntity, { user, size: "sm", variant: "pill" });
31790
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk7TOBKEOV_cjs.ConnectedUserEntity, { user, size: "sm", variant: "pill" });
31709
31791
  case "member":
31710
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3VFQYKB5_cjs.ConnectedUserEntity, { user, size: "sm", variant: "pill", interactive: false });
31792
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk7TOBKEOV_cjs.ConnectedUserEntity, { user, size: "sm", variant: "pill", interactive: false });
31711
31793
  }
31712
31794
  }
31713
31795
  var renderMessageBody = (text2, context) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedChatMessageBody, { text: text2, workspaceId: context.workspaceId });
@@ -32546,7 +32628,7 @@ function ConnectedConfigForm({ availableModels, ...rest }) {
32546
32628
  ({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedModelSelector, { value, onValueChange: onChange, className: "w-full" }),
32547
32629
  []
32548
32630
  );
32549
- return /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
32631
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
32550
32632
  }
32551
32633
  function ConnectedAgentConfigForm({ agentExtId, agentName, onSaved }) {
32552
32634
  const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
@@ -32663,7 +32745,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
32663
32745
  }, [name, selectedWorkspaces, role, createAgent, addWorkspaceUsers, arbi, notify17]);
32664
32746
  if (editAgent) {
32665
32747
  return /* @__PURE__ */ jsxRuntime.jsx(
32666
- chunkFHXXDPNU_cjs.AgentEditView,
32748
+ chunkCCTNZ25D_cjs.AgentEditView,
32667
32749
  {
32668
32750
  agentName: editAgent.name,
32669
32751
  config: /* @__PURE__ */ jsxRuntime.jsx(
@@ -32679,7 +32761,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
32679
32761
  }
32680
32762
  if (view === "main") {
32681
32763
  return /* @__PURE__ */ jsxRuntime.jsx(
32682
- chunkFHXXDPNU_cjs.AgentMainView,
32764
+ chunkCCTNZ25D_cjs.AgentMainView,
32683
32765
  {
32684
32766
  onConnectExternal: () => setView("connect"),
32685
32767
  config: mainAgent ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -32695,11 +32777,11 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
32695
32777
  }
32696
32778
  if (result) {
32697
32779
  return /* @__PURE__ */ jsxRuntime.jsx(
32698
- chunkFHXXDPNU_cjs.AgentCreatedView,
32780
+ chunkCCTNZ25D_cjs.AgentCreatedView,
32699
32781
  {
32700
32782
  email: result.email,
32701
32783
  signingKey: result.signingKey,
32702
- instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
32784
+ instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
32703
32785
  config: /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentConfigForm, { agentExtId: result.extId, agentName: result.name }),
32704
32786
  isConfigOpen: configOpen,
32705
32787
  onToggleConfig: () => setConfigOpen((v) => !v),
@@ -32708,7 +32790,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
32708
32790
  );
32709
32791
  }
32710
32792
  return /* @__PURE__ */ jsxRuntime.jsx(
32711
- chunkFHXXDPNU_cjs.AgentCreateView,
32793
+ chunkCCTNZ25D_cjs.AgentCreateView,
32712
32794
  {
32713
32795
  name,
32714
32796
  onNameChange: setName,
@@ -34521,14 +34603,14 @@ var referencesOf = (inputs) => {
34521
34603
  return value?.documents ?? [];
34522
34604
  };
34523
34605
  var PROMPT_BINDINGS = {
34524
- [chunkFHXXDPNU_cjs.GENERATE_IMAGE_ID]: {
34606
+ [chunkCCTNZ25D_cjs.GENERATE_IMAGE_ID]: {
34525
34607
  attachScope: false,
34526
34608
  tools: (inputs) => {
34527
34609
  const aspectRatio = typeof inputs.aspect_ratio === "string" ? inputs.aspect_ratio : "";
34528
34610
  return {
34529
34611
  retrieval_chunk: browser.buildRetrievalChunkTool([]),
34530
34612
  retrieval_full_context: browser.buildRetrievalFullContextTool(referencesOf(inputs)),
34531
- ...aspectRatio && aspectRatio !== chunkFHXXDPNU_cjs.IMAGE_ASPECT_AUTO ? {
34613
+ ...aspectRatio && aspectRatio !== chunkCCTNZ25D_cjs.IMAGE_ASPECT_AUTO ? {
34532
34614
  image_generation: {
34533
34615
  name: "image_generation",
34534
34616
  description: "image generation",
@@ -34549,19 +34631,19 @@ var text = (inputs, name) => {
34549
34631
  function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
34550
34632
  const { data: documents = [] } = react.useDocuments();
34551
34633
  const { data: workspaceTags = [] } = react.useTags();
34552
- const tags = react$1.useMemo(() => chunkY6ZNWC7E_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
34634
+ const tags = react$1.useMemo(() => chunkOYRORWS2_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
34553
34635
  const createTag = react.useCreateTag();
34554
34636
  const updateTag = react.useUpdateTag();
34555
34637
  const generate = react.useGenerateDocTags();
34556
- const { create: createTask } = chunk45Y7ASBC_cjs.useWorkflowTasks();
34638
+ const { create: createTask } = chunk7ZVL44YM_cjs.useWorkflowTasks();
34557
34639
  const applyModel = react.useApplyChatModel();
34558
34640
  const session = react.useArbiSessionStore();
34559
34641
  const { notify: notify17, openFiles, openNewConversation } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
34560
34642
  const annotate = react$1.useCallback(
34561
34643
  async ({ inputs, scope }) => {
34562
34644
  const description = text(inputs, "description");
34563
- const name = text(inputs, "name") || chunkFHXXDPNU_cjs.deriveAnnotationName(description);
34564
- const matching = chunkY6ZNWC7E_cjs.matchWorkflowScope(documents, scope);
34645
+ const name = text(inputs, "name") || chunkCCTNZ25D_cjs.deriveAnnotationName(description);
34646
+ const matching = chunkOYRORWS2_cjs.matchWorkflowScope(documents, scope);
34565
34647
  if (!name || !description || matching.length === 0) return;
34566
34648
  try {
34567
34649
  const existing = tags.find((t) => t.name.toLowerCase() === name.toLowerCase());
@@ -34604,9 +34686,9 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
34604
34686
  async (launch) => {
34605
34687
  const { workflow, inputs, scope, agentId } = launch;
34606
34688
  if (workflow.run.kind === "operation") {
34607
- if (workflow.id === chunkFHXXDPNU_cjs.ANNOTATE_ID) {
34689
+ if (workflow.id === chunkCCTNZ25D_cjs.ANNOTATE_ID) {
34608
34690
  await annotate(launch);
34609
- chunkFHXXDPNU_cjs.recordWorkflowUse(workflow.id);
34691
+ chunkCCTNZ25D_cjs.recordWorkflowUse(workflow.id);
34610
34692
  return;
34611
34693
  }
34612
34694
  throw new Error(`No host handler for workflow "${workflow.id}"`);
@@ -34616,7 +34698,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
34616
34698
  );
34617
34699
  const prompt = chunk555BS22J_cjs.composeWorkflowPrompt(workflow, inputs, { documentTitles });
34618
34700
  if (!prompt) return;
34619
- chunkFHXXDPNU_cjs.recordWorkflowUse(workflow.id);
34701
+ chunkCCTNZ25D_cjs.recordWorkflowUse(workflow.id);
34620
34702
  if (agentId) {
34621
34703
  try {
34622
34704
  const created = await createTask({
@@ -34661,7 +34743,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
34661
34743
  const binding = PROMPT_BINDINGS[workflow.id];
34662
34744
  if (!inPlace) openNewConversation();
34663
34745
  if (binding?.attachScope !== false && !chunk555BS22J_cjs.isEmptyWorkflowScope(scope)) {
34664
- const ids = chunkY6ZNWC7E_cjs.matchWorkflowScope(documents, scope).map((d) => d.external_id);
34746
+ const ids = chunkOYRORWS2_cjs.matchWorkflowScope(documents, scope).map((d) => d.external_id);
34665
34747
  if (ids.length > 0) {
34666
34748
  session.setConversationDocuments(
34667
34749
  inPlace ? session.getState().conversationId ?? "new" : "new",
@@ -34696,30 +34778,30 @@ function ConnectedWorkflowStart({
34696
34778
  const onLaunch = useLaunchWorkflow({ landing });
34697
34779
  const { openUpload } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
34698
34780
  const { data: workspaceTags = [] } = react.useTags();
34699
- const tags = react$1.useMemo(() => chunkY6ZNWC7E_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
34781
+ const tags = react$1.useMemo(() => chunkOYRORWS2_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
34700
34782
  const fieldPlaceholder = react$1.useCallback(
34701
34783
  (field, inputs, workflow) => {
34702
- if (workflow.id !== chunkFHXXDPNU_cjs.ANNOTATE_ID || field.name !== "name") return void 0;
34703
- const derived = chunkFHXXDPNU_cjs.deriveAnnotationName(String(inputs.description ?? ""));
34784
+ if (workflow.id !== chunkCCTNZ25D_cjs.ANNOTATE_ID || field.name !== "name") return void 0;
34785
+ const derived = chunkCCTNZ25D_cjs.deriveAnnotationName(String(inputs.description ?? ""));
34704
34786
  return derived ? `Otherwise \u201C${derived}\u201D` : "Taken from the description";
34705
34787
  },
34706
34788
  []
34707
34789
  );
34708
34790
  return /* @__PURE__ */ jsxRuntime.jsx(
34709
- chunkUDMII47W_cjs.ConnectedWorkflowLauncher,
34791
+ chunkSU374FEM_cjs.ConnectedWorkflowLauncher,
34710
34792
  {
34711
34793
  ...rest,
34712
34794
  workflows,
34713
34795
  onLaunch,
34714
- renderIcon: chunkFHXXDPNU_cjs.renderWorkflowIcon,
34796
+ renderIcon: chunkCCTNZ25D_cjs.renderWorkflowIcon,
34715
34797
  onAddFiles: openUpload,
34716
34798
  agentLabels: AGENT_LABELS,
34717
34799
  addFilesAction,
34718
34800
  fieldPlaceholder,
34719
- submitLabel: ({ workflow, matchedCount }) => workflow.id === chunkFHXXDPNU_cjs.ANNOTATE_ID && matchedCount !== null ? `Annotate ${matchedCount} document${matchedCount !== 1 ? "s" : ""}` : void 0,
34801
+ submitLabel: ({ workflow, matchedCount }) => workflow.id === chunkCCTNZ25D_cjs.ANNOTATE_ID && matchedCount !== null ? `Annotate ${matchedCount} document${matchedCount !== 1 ? "s" : ""}` : void 0,
34720
34802
  renderNotice: ({ workflow, inputs }) => {
34721
- if (workflow.id !== chunkFHXXDPNU_cjs.ANNOTATE_ID) return null;
34722
- const name = String(inputs.name ?? "").trim() || chunkFHXXDPNU_cjs.deriveAnnotationName(String(inputs.description ?? ""));
34803
+ if (workflow.id !== chunkCCTNZ25D_cjs.ANNOTATE_ID) return null;
34804
+ const name = String(inputs.name ?? "").trim() || chunkCCTNZ25D_cjs.deriveAnnotationName(String(inputs.description ?? ""));
34723
34805
  const existing = name ? tags.find((t) => t.name.toLowerCase() === name.toLowerCase()) : void 0;
34724
34806
  if (!existing) return null;
34725
34807
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -34756,9 +34838,9 @@ function resolveLaunchInputs(workflow, request) {
34756
34838
  return { ...fromContext, ...fromScope, ...request.inputs };
34757
34839
  }
34758
34840
  function useWorkflowLaunch() {
34759
- const { skills } = chunk45Y7ASBC_cjs.useWorkflowDefinitions();
34841
+ const { skills } = chunk7ZVL44YM_cjs.useWorkflowDefinitions();
34760
34842
  const launch = react$1.useCallback(
34761
- (workflowId, options2 = {}) => chunkFHXXDPNU_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
34843
+ (workflowId, options2 = {}) => chunkCCTNZ25D_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
34762
34844
  []
34763
34845
  );
34764
34846
  const itemsFor = react$1.useCallback(
@@ -34787,9 +34869,9 @@ function useWorkflowLaunch() {
34787
34869
  return { launch, itemsFor, scopeItemsFor };
34788
34870
  }
34789
34871
  function Inner() {
34790
- const request = chunkFHXXDPNU_cjs.useWorkflowLaunchRequest();
34791
- const close = chunkFHXXDPNU_cjs.closeWorkflowLaunch;
34792
- const { skills } = chunk45Y7ASBC_cjs.useWorkflowDefinitions();
34872
+ const request = chunkCCTNZ25D_cjs.useWorkflowLaunchRequest();
34873
+ const close = chunkCCTNZ25D_cjs.closeWorkflowLaunch;
34874
+ const { skills } = chunk7ZVL44YM_cjs.useWorkflowDefinitions();
34793
34875
  const run = useLaunchWorkflow({ landing: request?.landing });
34794
34876
  const workflow = skills.find((w) => w.id === request?.workflowId);
34795
34877
  const inputs = react$1.useMemo(
@@ -34826,7 +34908,7 @@ function Inner() {
34826
34908
  );
34827
34909
  }
34828
34910
  function WorkflowLaunchHost() {
34829
- return chunkFHXXDPNU_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
34911
+ return chunkCCTNZ25D_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
34830
34912
  }
34831
34913
  function isNeedsConfirmationDetail(detail) {
34832
34914
  return typeof detail === "object" && detail !== null && detail.needs_confirmation === "resource_private";
@@ -35203,7 +35285,7 @@ function WorkflowRunStatusCell({ conversation }) {
35203
35285
  return person ? ui.getUserDisplayName(person) : void 0;
35204
35286
  };
35205
35287
  return /* @__PURE__ */ jsxRuntime.jsx(
35206
- chunkFHXXDPNU_cjs.WorkflowRunStatus,
35288
+ chunkCCTNZ25D_cjs.WorkflowRunStatus,
35207
35289
  {
35208
35290
  steps,
35209
35291
  states,
@@ -35237,7 +35319,7 @@ function ConversationStatusCell({ conversation }) {
35237
35319
  if (conversation.plan?.steps?.length && !isLiveGenerating)
35238
35320
  return /* @__PURE__ */ jsxRuntime.jsx(WorkflowRunStatusCell, { conversation });
35239
35321
  return /* @__PURE__ */ jsxRuntime.jsx(
35240
- chunkFHXXDPNU_cjs.ThreadStatusLine,
35322
+ chunkCCTNZ25D_cjs.ThreadStatusLine,
35241
35323
  {
35242
35324
  state: threadStateOf(conversation, isLiveGenerating),
35243
35325
  className: "h-full",
@@ -35724,7 +35806,7 @@ function ConnectedTaskStartDialog({
35724
35806
  };
35725
35807
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
35726
35808
  /* @__PURE__ */ jsxRuntime.jsx(
35727
- chunkFHXXDPNU_cjs.TaskStartDialog,
35809
+ chunkCCTNZ25D_cjs.TaskStartDialog,
35728
35810
  {
35729
35811
  open: open && !later,
35730
35812
  onOpenChange: (next) => {
@@ -35749,14 +35831,14 @@ function ConnectedTaskStartDialog({
35749
35831
  }
35750
35832
  ),
35751
35833
  later && /* @__PURE__ */ jsxRuntime.jsx(
35752
- chunk45Y7ASBC_cjs.ConnectedTaskComposer,
35834
+ chunk7ZVL44YM_cjs.ConnectedTaskComposer,
35753
35835
  {
35754
35836
  open: true,
35755
35837
  onOpenChange: (next) => !next && setLater(null),
35756
35838
  kind: "workflow",
35757
35839
  startLater: true,
35758
35840
  initialPrompt: later.prompt,
35759
- initialWorkflowId: later.todo ? chunkFHXXDPNU_cjs.REMIND_TASK_ID : void 0,
35841
+ initialWorkflowId: later.todo ? chunkCCTNZ25D_cjs.REMIND_TASK_ID : void 0,
35760
35842
  initialShared: later.shared,
35761
35843
  launchWorkflow: later.workflow
35762
35844
  }
@@ -35770,7 +35852,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
35770
35852
  const [later, setLater] = react$1.useState(null);
35771
35853
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
35772
35854
  /* @__PURE__ */ jsxRuntime.jsx(
35773
- chunkFHXXDPNU_cjs.ThreadLauncher,
35855
+ chunkCCTNZ25D_cjs.ThreadLauncher,
35774
35856
  {
35775
35857
  workflows: task.workflows,
35776
35858
  people: task.people,
@@ -35800,14 +35882,14 @@ function ConnectedThreadLauncher({ autoFocus }) {
35800
35882
  }
35801
35883
  ),
35802
35884
  later && /* @__PURE__ */ jsxRuntime.jsx(
35803
- chunk45Y7ASBC_cjs.ConnectedTaskComposer,
35885
+ chunk7ZVL44YM_cjs.ConnectedTaskComposer,
35804
35886
  {
35805
35887
  open: true,
35806
35888
  onOpenChange: (next) => !next && setLater(null),
35807
35889
  kind: "workflow",
35808
35890
  startLater: true,
35809
35891
  initialPrompt: later.prompt,
35810
- initialWorkflowId: later.todo ? chunkFHXXDPNU_cjs.REMIND_TASK_ID : void 0,
35892
+ initialWorkflowId: later.todo ? chunkCCTNZ25D_cjs.REMIND_TASK_ID : void 0,
35811
35893
  initialShared: later.shared,
35812
35894
  launchWorkflow: later.workflow
35813
35895
  }
@@ -35836,13 +35918,13 @@ function ConnectedNewThreadDialog({
35836
35918
  });
35837
35919
  const parentOptions = react$1.useMemo(() => {
35838
35920
  const leaf = { external_id: "__new__" };
35839
- return chunkFHXXDPNU_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
35921
+ return chunkCCTNZ25D_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
35840
35922
  id: t.external_id,
35841
35923
  name: t.title?.trim() || "Untitled task"
35842
35924
  }));
35843
35925
  }, [tasks]);
35844
35926
  const submit = async (values) => {
35845
- const request = chunkFHXXDPNU_cjs.newThreadToRequest(values);
35927
+ const request = chunkCCTNZ25D_cjs.newThreadToRequest(values);
35846
35928
  try {
35847
35929
  if (!workspaceId) throw new Error("Open a workspace to add a task.");
35848
35930
  if (!request.startAssistant && request.todo) {
@@ -35883,7 +35965,7 @@ function ConnectedNewThreadDialog({
35883
35965
  }
35884
35966
  };
35885
35967
  return /* @__PURE__ */ jsxRuntime.jsx(
35886
- chunkFHXXDPNU_cjs.NewThreadDialog,
35968
+ chunkCCTNZ25D_cjs.NewThreadDialog,
35887
35969
  {
35888
35970
  open,
35889
35971
  onOpenChange,
@@ -35899,7 +35981,7 @@ function ConnectedNewThreadDialog({
35899
35981
  var START_VISIBLE = 8;
35900
35982
  var START_SEARCH_ABOVE = 8;
35901
35983
  function ConnectedConversationStart() {
35902
- const { start } = chunk45Y7ASBC_cjs.useWorkflowDefinitions();
35984
+ const { start } = chunk7ZVL44YM_cjs.useWorkflowDefinitions();
35903
35985
  const { openSkillsBrowser } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
35904
35986
  const [query, setQuery] = react$1.useState("");
35905
35987
  const q = query.trim().toLowerCase();
@@ -35914,7 +35996,7 @@ function ConnectedConversationStart() {
35914
35996
  const browse = openSkillsBrowser ? [
35915
35997
  {
35916
35998
  id: "browse-all",
35917
- iconNode: chunkFHXXDPNU_cjs.renderWorkflowIcon("library"),
35999
+ iconNode: chunkCCTNZ25D_cjs.renderWorkflowIcon("library"),
35918
36000
  title: "Browse all",
35919
36001
  description: "See every skill, make a copy, add your own",
35920
36002
  onSelect: () => openSkillsBrowser(),
@@ -35958,7 +36040,7 @@ function parseTypedSkill(draft) {
35958
36040
  return m ? { slug: m[1].toLowerCase(), text: (m[2] ?? "").trim() } : null;
35959
36041
  }
35960
36042
  function useSlashSkillWorkflows({ landing }) {
35961
- const { skills, skillsEnabled } = chunk45Y7ASBC_cjs.useWorkflowDefinitions();
36043
+ const { skills, skillsEnabled } = chunk7ZVL44YM_cjs.useWorkflowDefinitions();
35962
36044
  const { commands } = react.useBuiltinCommands();
35963
36045
  const [active, setActive] = react$1.useState(null);
35964
36046
  const open = (workflow, text2) => {
@@ -36064,7 +36146,7 @@ function AgentBarShell({
36064
36146
  }, [isStepsExpanded, steps]);
36065
36147
  const visibleStepCount = react$1.useMemo(() => browser.topLevelAgentSteps(steps ?? []).length, [steps]);
36066
36148
  return /* @__PURE__ */ jsxRuntime.jsx(
36067
- chunkFHXXDPNU_cjs.AgentBar,
36149
+ chunkCCTNZ25D_cjs.AgentBar,
36068
36150
  {
36069
36151
  className,
36070
36152
  testId,
@@ -36076,7 +36158,7 @@ function AgentBarShell({
36076
36158
  drawerRef: scrollRef,
36077
36159
  onDrawerScroll: handleDrawerScroll,
36078
36160
  drawer: /* @__PURE__ */ jsxRuntime.jsx(
36079
- chunk3VFQYKB5_cjs.AgentSteps,
36161
+ chunk7TOBKEOV_cjs.AgentSteps,
36080
36162
  {
36081
36163
  steps: stepList,
36082
36164
  isStreaming,
@@ -36128,7 +36210,7 @@ function AgentControlBar({
36128
36210
  const waitingOnChildren = runningLanes.length > 0 && ["sub_agent", "spawn_subagent", "deep_research", "run_skill"].includes(currentTool ?? "");
36129
36211
  const waitingLabel = runningLanes.length === 1 ? `Waiting on ${runningLanes[0].job}` : `Waiting on ${runningLanes.length} sub-agents`;
36130
36212
  const liveTimerNode = liveTimer && /* @__PURE__ */ jsxRuntime.jsx(
36131
- chunk3VFQYKB5_cjs.MessageLiveSeconds,
36213
+ chunk7TOBKEOV_cjs.MessageLiveSeconds,
36132
36214
  {
36133
36215
  ...liveTimer,
36134
36216
  offsetSeconds: currentStep?.t ?? 0,
@@ -36137,7 +36219,7 @@ function AgentControlBar({
36137
36219
  }
36138
36220
  );
36139
36221
  const status = /* @__PURE__ */ jsxRuntime.jsx(
36140
- chunkFHXXDPNU_cjs.AgentBarStatus,
36222
+ chunkCCTNZ25D_cjs.AgentBarStatus,
36141
36223
  {
36142
36224
  state: showState ? controlState : void 0,
36143
36225
  stateLabel: STATE_LABEL[controlState],
@@ -36179,7 +36261,7 @@ function AgentControlBar({
36179
36261
  ];
36180
36262
  const controls = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
36181
36263
  onStop && /* @__PURE__ */ jsxRuntime.jsx(
36182
- chunkFHXXDPNU_cjs.AgentBarIconButton,
36264
+ chunkCCTNZ25D_cjs.AgentBarIconButton,
36183
36265
  {
36184
36266
  onClick: onStop,
36185
36267
  title: "Stop",
@@ -36188,22 +36270,22 @@ function AgentControlBar({
36188
36270
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3 w-3", fill: "currentColor" })
36189
36271
  }
36190
36272
  ),
36191
- /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.AgentBarMenu, { items: menuItems })
36273
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.AgentBarMenu, { items: menuItems })
36192
36274
  ] });
36193
36275
  const displayedQueuedMessages = (transientQueuedMessages ?? []).filter(
36194
36276
  (message) => !message.serverId || !queuedMessages.some((queued) => queued.external_id === message.serverId)
36195
36277
  );
36196
36278
  const queuedNotes = displayedQueuedMessages.filter((message) => message.content);
36197
- const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkFHXXDPNU_cjs.AgentBarNotes, { children: [
36279
+ const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkCCTNZ25D_cjs.AgentBarNotes, { children: [
36198
36280
  queuedNotes.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
36199
- chunkFHXXDPNU_cjs.AgentBarQueuedNote,
36281
+ chunkCCTNZ25D_cjs.AgentBarQueuedNote,
36200
36282
  {
36201
36283
  text: message.content ?? "",
36202
36284
  isAcknowledged: message.acknowledged
36203
36285
  },
36204
36286
  index
36205
36287
  )),
36206
- probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
36288
+ probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
36207
36289
  ] }) : null;
36208
36290
  return /* @__PURE__ */ jsxRuntime.jsx(
36209
36291
  AgentBarShell,
@@ -36363,13 +36445,6 @@ function ThreadSearch({ children, ResultsBoundary = chunkMZZ3SBQL_cjs.ErrorBound
36363
36445
  }
36364
36446
  var DEFAULT_THREAD_VISIBILITY = { me: null, workspace: null };
36365
36447
  var relativeTime = (iso) => ui.formatRelativeTime(iso, { style: "short" });
36366
- var LIST_LABELS = {
36367
- emptyTitle: "Nothing here yet",
36368
- emptyMessage: "Use New: just type what you need, or fill in an owner and a due date. You always decide when a thread is done.",
36369
- untitled: `Untitled ${ui.getEntityLabel("CONVERSATION").toLowerCase()}`,
36370
- noMatches: `No ${ui.getEntityLabel("CONVERSATION", "PLURAL").toLowerCase()} match.`,
36371
- selectAll: "Select all"
36372
- };
36373
36448
  var RENAME_DIALOG = { testId: "rename-conversation-modal" };
36374
36449
  function useStableRecencyOrder(rows) {
36375
36450
  const orderRef = react$1.useRef([]);
@@ -36389,95 +36464,46 @@ function ConnectedThreadsPage({
36389
36464
  showHeader = true,
36390
36465
  search = false,
36391
36466
  ResultsBoundary,
36392
- focusLauncher,
36393
- layout = "list",
36394
- workflowActions
36467
+ focusLauncher
36395
36468
  }) {
36396
- const mode = layout === "inbox" ? "tasks" : "threads";
36397
- const { confirm, notify: notify17, openConversation, openDocument } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
36469
+ const { confirm, notify: notify17, openConversation } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
36398
36470
  const { conversations: all, isLoading } = react.useConversationItems();
36399
36471
  const [doneFilter] = react.useTransientView("threads.done", "exclude");
36400
36472
  const [visibilityFilters] = react.useTransientView("threads.visibility", DEFAULT_THREAD_VISIBILITY);
36401
36473
  const [meetingFilter] = react.useTransientView("threads.meetings", null);
36402
- const [topbarFilterQuery, setTopbarFilterQuery] = react.useTransientView("topbar.filter", "");
36474
+ const [topbarFilterQuery] = react.useTransientView("topbar.filter", "");
36403
36475
  const currentUserExtId = react.useArbiSession().user?.external_id;
36404
- const listed = react$1.useMemo(
36405
- () => all.filter((c) => mode === "threads" || c.status != null),
36406
- [all, mode]
36407
- );
36408
- const tasks = useStableRecencyOrder(listed);
36476
+ const tasks = useStableRecencyOrder(all);
36409
36477
  const updateConversation = react.useUpdateConversation();
36410
36478
  const deleteConversation = react.useDeleteConversation();
36411
- const people = chunk45Y7ASBC_cjs.useTaskPeople();
36412
- const renderPerson = chunk45Y7ASBC_cjs.useRenderTaskPerson();
36413
36479
  const canEditShared = react.useCanEditShared();
36414
36480
  const isWorkspaceOwner = react.useIsWorkspaceOwner();
36415
- const { data: agents = [] } = react.useAgents();
36416
36481
  const { data: workflows = [] } = react.useWorkflows();
36417
- const agentNames = react$1.useMemo(
36418
- () => Object.fromEntries(agents.map((a) => [a.external_id, a.given_name || a.email])),
36419
- [agents]
36420
- );
36421
36482
  const workflowNames = react$1.useMemo(
36422
36483
  () => Object.fromEntries(workflows.map((w) => [w.external_id, w.name])),
36423
36484
  [workflows]
36424
36485
  );
36425
- const runConversation = react.useRunConversation();
36426
- const [busyId, setBusyId] = react$1.useState(null);
36427
- const [editorOpen, setEditorOpen] = react$1.useState(false);
36428
- const [editing, setEditing] = react$1.useState(null);
36429
- const [startOpen, setStartOpen] = react$1.useState(false);
36430
- const [parentForNew, setParentForNew] = react$1.useState(void 0);
36431
36486
  const nameOf = (task) => task.title?.trim() || task.workflow_ext_id && workflowNames[task.workflow_ext_id] || "Untitled task";
36432
- const openCreate = () => {
36433
- setParentForNew(void 0);
36434
- setStartOpen(true);
36435
- };
36436
- const openAddSubtask = (parent) => {
36437
- setParentForNew(parent.external_id);
36438
- setStartOpen(true);
36439
- };
36440
36487
  const [renaming, setRenaming] = react$1.useState(null);
36441
36488
  const [newTitle, setNewTitle] = react$1.useState("");
36442
36489
  const [isExportOpen, setIsExportOpen] = react$1.useState(false);
36443
36490
  const [exportRows, setExportRows] = react$1.useState([]);
36444
- const openEdit = (task) => {
36445
- if (mode === "threads" || !task.status) {
36446
- setRenaming(task);
36447
- setNewTitle(task.title ?? "");
36448
- return;
36449
- }
36450
- setEditing(task);
36451
- setEditorOpen(true);
36491
+ const openRename = (task) => {
36492
+ setRenaming(task);
36493
+ setNewTitle(task.title ?? "");
36452
36494
  };
36453
- const act = async (task, action, success, failure) => {
36454
- setBusyId(task.external_id);
36495
+ const act = async (action, success, failure) => {
36455
36496
  try {
36456
36497
  await action();
36457
- if (success) notify17(success, "success");
36498
+ notify17(success, "success");
36458
36499
  } catch (error) {
36459
36500
  notify17(
36460
36501
  error instanceof browser.ArbiApiError && error.detail ? `${failure}: ${error.detail}` : failure,
36461
36502
  "error"
36462
36503
  );
36463
- } finally {
36464
- setBusyId(null);
36465
36504
  }
36466
36505
  };
36467
36506
  const patch = (task, body) => updateConversation.mutateAsync({ conversationId: task.external_id, patch: body });
36468
- const setStatus = (task, status, success) => act(task, () => patch(task, { status }), success, "Failed to update task");
36469
- const handleToggleShared = (task, shouldShare) => act(
36470
- task,
36471
- () => patch(task, { shared: shouldShare }),
36472
- shouldShare ? `Shared \u201C${nameOf(task)}\u201D with the workspace` : `Made \u201C${nameOf(task)}\u201D private`,
36473
- "Failed to change who can see the task"
36474
- );
36475
- const handleMove = (task, parentId) => act(
36476
- task,
36477
- () => patch(task, { parent_conversation_ext_id: parentId }),
36478
- parentId ? `Moved \u201C${nameOf(task)}\u201D` : `Moved \u201C${nameOf(task)}\u201D to the top level`,
36479
- "Failed to move task"
36480
- );
36481
36507
  const handleDelete = async (task) => {
36482
36508
  const subtasks = tasks.filter((t) => t.parent_conversation_ext_id === task.external_id).length;
36483
36509
  const confirmed = await confirm({
@@ -36486,7 +36512,6 @@ function ConnectedThreadsPage({
36486
36512
  });
36487
36513
  if (!confirmed) return;
36488
36514
  await act(
36489
- task,
36490
36515
  () => deleteConversation.mutateAsync(task.external_id),
36491
36516
  `Deleted \u201C${nameOf(task)}\u201D`,
36492
36517
  "Failed to delete task"
@@ -36566,31 +36591,11 @@ function ConnectedThreadsPage({
36566
36591
  notify17("Failed to share some conversations", "error");
36567
36592
  }
36568
36593
  };
36569
- const { data: workspaceDocs } = react.useDocuments();
36570
- const outputsByTask = react$1.useMemo(() => {
36571
- const out = {};
36572
- for (const [conversationId, docs] of Object.entries(
36573
- chunkDASZUEP3_cjs.groupOutputsByConversation(workspaceDocs ?? [])
36574
- )) {
36575
- out[conversationId] = docs.map((d) => ({
36576
- id: d.external_id,
36577
- name: ui.getDocumentTitle(d, d.external_id)
36578
- }));
36579
- }
36580
- return out;
36581
- }, [workspaceDocs]);
36582
- const handleOpenOutput = (documentId) => openDocument(documentId);
36583
- const handleGrantAccess = (task) => act(
36584
- task,
36585
- () => runConversation.mutateAsync(task.external_id),
36586
- `Running \u201C${nameOf(task)}\u201D`,
36587
- "Failed to run task"
36588
- );
36589
36594
  const threadLabels = useThreadLabels(canEditShared);
36590
36595
  const selectionActions = (selected, isCompact) => {
36591
36596
  const mine = selected.every((c) => c.created_by_ext_id === currentUserExtId);
36592
36597
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
36593
- mode === "threads" && selected.every((row2) => row2.is_owner || row2.is_shared && canEditShared) && selected.some((row2) => row2.status !== "done") && !selected.some((row2) => row2.in_progress || row2.status === "generating") && /* @__PURE__ */ jsxRuntime.jsx(
36598
+ selected.every((row2) => row2.is_owner || row2.is_shared && canEditShared) && selected.some((row2) => row2.status !== "done") && !selected.some((row2) => row2.in_progress || row2.status === "generating") && /* @__PURE__ */ jsxRuntime.jsx(
36594
36599
  chunkV4ISCZJ7_cjs.SelectionBarAction,
36595
36600
  {
36596
36601
  icon: lucideReact.CheckCheck,
@@ -36627,7 +36632,7 @@ function ConnectedThreadsPage({
36627
36632
  testId: "export-chats-button"
36628
36633
  }
36629
36634
  ),
36630
- mode === "threads" && selected.every((row2) => row2.is_owner || isWorkspaceOwner) && /* @__PURE__ */ jsxRuntime.jsx(
36635
+ selected.every((row2) => row2.is_owner || isWorkspaceOwner) && /* @__PURE__ */ jsxRuntime.jsx(
36631
36636
  chunkV4ISCZJ7_cjs.SelectionBarAction,
36632
36637
  {
36633
36638
  icon: lucideReact.Trash2,
@@ -36640,132 +36645,80 @@ function ConnectedThreadsPage({
36640
36645
  )
36641
36646
  ] });
36642
36647
  };
36643
- const page = /* @__PURE__ */ jsxRuntime.jsxs(
36644
- "div",
36645
- {
36646
- className: "flex h-full min-h-0 flex-col",
36647
- "data-testid": mode === "tasks" ? "tasks-page" : "threads-page",
36648
- children: [
36649
- /* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-0 flex-1 flex-col bg-background", children: mode === "threads" ? /* @__PURE__ */ jsxRuntime.jsx(
36650
- chunkFHXXDPNU_cjs.ConversationListView,
36648
+ const page = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col", "data-testid": "threads-page", children: [
36649
+ /* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-0 flex-1 flex-col bg-background", children: /* @__PURE__ */ jsxRuntime.jsx(
36650
+ chunkCCTNZ25D_cjs.ConversationListView,
36651
+ {
36652
+ showHeader,
36653
+ conversations: tasks,
36654
+ doneFilter,
36655
+ visibilityFilters,
36656
+ meetingFilter,
36657
+ renderThread: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
36658
+ ConversationEntity,
36651
36659
  {
36652
- showHeader,
36653
- conversations: tasks,
36654
- doneFilter,
36655
- visibilityFilters,
36656
- meetingFilter,
36657
- renderThread: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
36658
- ConversationEntity,
36659
- {
36660
- conversation: row2,
36661
- showRePrefix: false,
36662
- labelMaxWidth: "max-w-full",
36663
- className: "w-full max-w-full [&_.truncate]:line-clamp-2 [&_.truncate]:whitespace-normal [&_.truncate]:break-words [&_.truncate]:text-left",
36664
- "data-testid": `thread-open-${row2.external_id}`
36665
- }
36666
- ),
36667
- renderLabels: threadLabels.renderLabels,
36668
- labelText: threadLabels.labelText,
36669
- renderBy: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
36670
- chunkFHXXDPNU_cjs.ConversationTurnSpeaker,
36671
- {
36672
- variant: "icon",
36673
- role: row2.last_message_role,
36674
- actor: row2.last_message_actor,
36675
- currentUserId: currentUserExtId,
36676
- colorClass: row2.last_message_actor ? ui.getUserAvatarColor(row2.last_message_actor.external_id) : void 0
36677
- }
36678
- ),
36679
- renderStatus: (row2) => /* @__PURE__ */ jsxRuntime.jsx(ConversationStatusCell, { conversation: row2 }),
36680
- isLoading,
36681
- filterText: topbarFilterQuery ?? "",
36682
- formatDate: relativeTime,
36683
- onOpen: (c) => openConversation(c.external_id),
36684
- onRename: openEdit,
36685
- onDelete: handleDelete,
36686
- canEditShared,
36687
- isWorkspaceOwner,
36688
- selectionActions,
36689
- footer: /* @__PURE__ */ jsxRuntime.jsx(ConnectedThreadLauncher, { autoFocus: focusLauncher })
36690
- }
36691
- ) : /* @__PURE__ */ jsxRuntime.jsx(
36692
- chunkFHXXDPNU_cjs.TaskInbox,
36693
- {
36694
- tasks,
36695
- isLoading,
36696
- ...workflowActions,
36697
- onCreate: openCreate,
36698
- filterText: topbarFilterQuery ?? "",
36699
- labels: LIST_LABELS,
36700
- gridId: "conversation-list-grid-v4",
36701
- onFilterTextChange: (text2) => setTopbarFilterQuery(text2),
36702
- outputsByTask,
36703
- onOpenActivity: (task) => openConversation(task.external_id),
36704
- formatRelative: relativeTime,
36705
- onOpenOutput: handleOpenOutput,
36706
- busyId,
36707
- formatDate: ui.formatFriendlyDate,
36708
- onOpenThread: (conversationId) => openConversation(conversationId),
36709
- onMarkDone: (task) => setStatus(task, "done", `Marked \u201C${nameOf(task)}\u201D done`),
36710
- onReopen: (task) => setStatus(task, "todo", `Reopened \u201C${nameOf(task)}\u201D`),
36711
- people,
36712
- agentNames,
36713
- workflowNames,
36714
- canEditShared,
36715
- isWorkspaceOwner,
36716
- renderPerson,
36717
- onToggleShared: handleToggleShared,
36718
- onEdit: openEdit,
36719
- onDelete: handleDelete,
36720
- onAddSubtask: openAddSubtask,
36721
- onMove: handleMove,
36722
- onMarkDoneMany: handleMarkDoneMany,
36723
- onDeleteMany: handleDeleteMany,
36724
- onGrantAccess: handleGrantAccess,
36725
- selectionActions
36726
- }
36727
- ) }),
36728
- /* @__PURE__ */ jsxRuntime.jsx(
36729
- ConnectedTaskStartDialog,
36730
- {
36731
- open: startOpen,
36732
- onOpenChange: setStartOpen,
36733
- initialParentId: parentForNew
36660
+ conversation: row2,
36661
+ showRePrefix: false,
36662
+ labelMaxWidth: "max-w-full",
36663
+ className: "w-full max-w-full [&_.truncate]:line-clamp-2 [&_.truncate]:whitespace-normal [&_.truncate]:break-words [&_.truncate]:text-left",
36664
+ "data-testid": `thread-open-${row2.external_id}`
36734
36665
  }
36735
36666
  ),
36736
- /* @__PURE__ */ jsxRuntime.jsx(chunk45Y7ASBC_cjs.ConnectedTaskComposer, { open: editorOpen, onOpenChange: setEditorOpen, task: editing }),
36737
- /* @__PURE__ */ jsxRuntime.jsx(
36738
- ConnectedExportDialog,
36667
+ renderLabels: threadLabels.renderLabels,
36668
+ labelText: threadLabels.labelText,
36669
+ renderBy: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
36670
+ chunkCCTNZ25D_cjs.ConversationTurnSpeaker,
36739
36671
  {
36740
- open: isExportOpen,
36741
- onOpenChange: setIsExportOpen,
36742
- items: exportRows.map((c) => ({ extId: c.external_id, label: nameOf(c) })),
36743
- entityType: "CONVERSATION",
36744
- testId: "export-chats-modal"
36672
+ variant: "icon",
36673
+ role: row2.last_message_role,
36674
+ actor: row2.last_message_actor,
36675
+ currentUserId: currentUserExtId,
36676
+ colorClass: row2.last_message_actor ? ui.getUserAvatarColor(row2.last_message_actor.external_id) : void 0
36745
36677
  }
36746
36678
  ),
36747
- /* @__PURE__ */ jsxRuntime.jsx(
36748
- chunkJBL4PPEE_cjs.RenameDialog,
36749
- {
36750
- open: !!renaming,
36751
- onClose: () => {
36752
- setRenaming(null);
36753
- setNewTitle("");
36754
- },
36755
- title: `Rename ${ui.getEntityLabel("CONVERSATION")}`,
36756
- labels: { description: "Rename the conversation title" },
36757
- fieldLabel: `${ui.getEntityLabel("CONVERSATION")} Title`,
36758
- placeholder: "Enter title",
36759
- value: newTitle,
36760
- onChange: setNewTitle,
36761
- onSave: handleSaveRename,
36762
- canSave: !!newTitle.trim(),
36763
- dialogTestId: RENAME_DIALOG.testId
36764
- }
36765
- )
36766
- ]
36767
- }
36768
- );
36679
+ renderStatus: (row2) => /* @__PURE__ */ jsxRuntime.jsx(ConversationStatusCell, { conversation: row2 }),
36680
+ isLoading,
36681
+ filterText: topbarFilterQuery ?? "",
36682
+ formatDate: relativeTime,
36683
+ onOpen: (c) => openConversation(c.external_id),
36684
+ onRename: openRename,
36685
+ onDelete: handleDelete,
36686
+ canEditShared,
36687
+ isWorkspaceOwner,
36688
+ selectionActions,
36689
+ footer: /* @__PURE__ */ jsxRuntime.jsx(ConnectedThreadLauncher, { autoFocus: focusLauncher })
36690
+ }
36691
+ ) }),
36692
+ /* @__PURE__ */ jsxRuntime.jsx(
36693
+ ConnectedExportDialog,
36694
+ {
36695
+ open: isExportOpen,
36696
+ onOpenChange: setIsExportOpen,
36697
+ items: exportRows.map((c) => ({ extId: c.external_id, label: nameOf(c) })),
36698
+ entityType: "CONVERSATION",
36699
+ testId: "export-chats-modal"
36700
+ }
36701
+ ),
36702
+ /* @__PURE__ */ jsxRuntime.jsx(
36703
+ chunkJBL4PPEE_cjs.RenameDialog,
36704
+ {
36705
+ open: !!renaming,
36706
+ onClose: () => {
36707
+ setRenaming(null);
36708
+ setNewTitle("");
36709
+ },
36710
+ title: `Rename ${ui.getEntityLabel("CONVERSATION")}`,
36711
+ labels: { description: "Rename the conversation title" },
36712
+ fieldLabel: `${ui.getEntityLabel("CONVERSATION")} Title`,
36713
+ placeholder: "Enter title",
36714
+ value: newTitle,
36715
+ onChange: setNewTitle,
36716
+ onSave: handleSaveRename,
36717
+ canSave: !!newTitle.trim(),
36718
+ dialogTestId: RENAME_DIALOG.testId
36719
+ }
36720
+ )
36721
+ ] });
36769
36722
  return search ? /* @__PURE__ */ jsxRuntime.jsx(ThreadSearch, { ResultsBoundary, children: page }) : page;
36770
36723
  }
36771
36724
  function ConnectedFilterDropdown({
@@ -36969,7 +36922,7 @@ function ConnectedConversationPage({
36969
36922
  }
36970
36923
  );
36971
36924
  const { data: workspaceTags = [] } = react.useTags();
36972
- const historyCount = chunkFHXXDPNU_cjs.filterConversationRows(
36925
+ const historyCount = chunkCCTNZ25D_cjs.filterConversationRows(
36973
36926
  conversations,
36974
36927
  threadFilter,
36975
36928
  (row2) => workspaceTags.filter((tag) => row2.label_ext_ids?.includes(tag.external_id)).map((tag) => tag.name).join(" "),
@@ -37019,7 +36972,7 @@ function ConnectedConversationPage({
37019
36972
  ] })
37020
36973
  }
37021
36974
  ),
37022
- isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunk45Y7ASBC_cjs.ConnectedThreadTaskBar, { conversationId: currentConversationId })
36975
+ isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunk7ZVL44YM_cjs.ConnectedThreadTaskBar, { conversationId: currentConversationId })
37023
36976
  ] }),
37024
36977
  isInChat && /* @__PURE__ */ jsxRuntime.jsx(
37025
36978
  ConversationThread2,
@@ -37893,7 +37846,7 @@ function ConversationThread({
37893
37846
  }, [isGenerating]);
37894
37847
  const slashWorkflows = useSlashSkillWorkflows({ landing: "current-chat" });
37895
37848
  const composerSkills = react$1.useMemo(
37896
- () => ({ builtin: chunkFHXXDPNU_cjs.BUILTIN_SKILLS, openFor: slashWorkflows.openFor }),
37849
+ () => ({ builtin: chunkCCTNZ25D_cjs.BUILTIN_SKILLS, openFor: slashWorkflows.openFor }),
37897
37850
  [slashWorkflows.openFor]
37898
37851
  );
37899
37852
  const browseSkills = react$1.useMemo(
@@ -37942,7 +37895,7 @@ function ConversationThread({
37942
37895
  useStartRequestedDraft();
37943
37896
  const orphanedMessage = react.getOrphanedLastMessage(messageHistory, isGenerating, assistantMode);
37944
37897
  return /* @__PURE__ */ jsxRuntime.jsxs(chunk56WWEK6I_cjs.ConversationBody, { children: [
37945
- /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ConversationMain, { "data-testid": `conversation-${currentConversationId}`, children: threadsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ConversationLoading, {}) : messageHistory.length > 0 || isBranching ? /* @__PURE__ */ jsxRuntime.jsx(chunk3VFQYKB5_cjs.AskAgainContext.Provider, { value: handleAskAgain, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkRGPKW6KQ_cjs.TranscriptRunsContext.Provider, { value: transcriptRunInfo, children: [
37898
+ /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ConversationMain, { "data-testid": `conversation-${currentConversationId}`, children: threadsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ConversationLoading, {}) : messageHistory.length > 0 || isBranching ? /* @__PURE__ */ jsxRuntime.jsx(chunk7TOBKEOV_cjs.AskAgainContext.Provider, { value: handleAskAgain, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkRGPKW6KQ_cjs.TranscriptRunsContext.Provider, { value: transcriptRunInfo, children: [
37946
37899
  meetingCallExtId && transcriptLineCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center py-2", children: /* @__PURE__ */ jsxRuntime.jsx(
37947
37900
  chunk3UGJCSTO_cjs.ConversationFilter,
37948
37901
  {
@@ -37960,7 +37913,7 @@ function ConversationThread({
37960
37913
  ]
37961
37914
  }
37962
37915
  ) }),
37963
- /* @__PURE__ */ jsxRuntime.jsx(chunk3VFQYKB5_cjs.ConnectedMessageArea, { ref: containerRef, messages: visibleMessages }),
37916
+ /* @__PURE__ */ jsxRuntime.jsx(chunk7TOBKEOV_cjs.ConnectedMessageArea, { ref: containerRef, messages: visibleMessages }),
37964
37917
  showProvisional && /* @__PURE__ */ jsxRuntime.jsx(chunk33PWCTND_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
37965
37918
  ] }) }) : meetingCallExtId ? (
37966
37919
  // A meeting thread with nothing yet: call-aware, not the upload prompt.
@@ -37968,7 +37921,7 @@ function ConversationThread({
37968
37921
  /* @__PURE__ */ jsxRuntime.jsx(chunk33PWCTND_cjs.CallConversationEmpty, { callExtId: meetingCallExtId }),
37969
37922
  /* @__PURE__ */ jsxRuntime.jsx(chunk33PWCTND_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
37970
37923
  ] })
37971
- ) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(chunk3VFQYKB5_cjs.ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
37924
+ ) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(chunk7TOBKEOV_cjs.ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
37972
37925
  ConnectedConversationEmpty,
37973
37926
  {
37974
37927
  hasDocuments: allWorkspaceDocuments.length > 0,
@@ -38039,7 +37992,7 @@ function ConversationThread({
38039
37992
  children: react.READ_ONLY_MEETING_TEXT
38040
37993
  }
38041
37994
  ) : /* @__PURE__ */ jsxRuntime.jsx(
38042
- chunk3VFQYKB5_cjs.ConversationComposer,
37995
+ chunk7TOBKEOV_cjs.ConversationComposer,
38043
37996
  {
38044
37997
  handleSendMessage: handleUserSend,
38045
37998
  placeholder: pendingAnswer ? "Type your answer to ARBI \u2014 or pick an option above" : void 0,
@@ -38175,8 +38128,8 @@ function ConnectedForgotPassword({
38175
38128
  initialIsKeyEncrypted = false
38176
38129
  }) {
38177
38130
  const arbi = react.useArbi();
38178
- const sso = chunk3VFQYKB5_cjs.useSsoSignIn();
38179
- const { onRecovered: onSiteRecovered } = chunk3VFQYKB5_cjs.useAuthPages();
38131
+ const sso = chunk7TOBKEOV_cjs.useSsoSignIn();
38132
+ const { onRecovered: onSiteRecovered } = chunk7TOBKEOV_cjs.useAuthPages();
38180
38133
  const [showSsoPrompt, setShowSsoPrompt] = react$1.useState(false);
38181
38134
  const [email, setEmail] = react$1.useState(initialEmail ?? "");
38182
38135
  const [recoveryKey, setRecoveryKey] = react$1.useState(initialRecoveryKey ?? null);
@@ -38312,9 +38265,9 @@ function ConnectedForgotPassword({
38312
38265
  );
38313
38266
  }
38314
38267
  function useSsoVerificationRedirect() {
38315
- const sso = chunk3VFQYKB5_cjs.useSsoSignIn();
38268
+ const sso = chunk7TOBKEOV_cjs.useSsoSignIn();
38316
38269
  const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
38317
- const { onVerificationFailed } = chunk3VFQYKB5_cjs.useAuthPages();
38270
+ const { onVerificationFailed } = chunk7TOBKEOV_cjs.useAuthPages();
38318
38271
  react$1.useEffect(() => {
38319
38272
  const urlParams = new URLSearchParams(window.location.search);
38320
38273
  const success = urlParams.get("success") || null;
@@ -38351,18 +38304,18 @@ function ConnectedLoginPage({
38351
38304
  layout = "page",
38352
38305
  ...compact
38353
38306
  } = {}) {
38354
- return layout === "compact" ? /* @__PURE__ */ jsxRuntime.jsx(chunk3VFQYKB5_cjs.CompactLogin, { ...compact }) : /* @__PURE__ */ jsxRuntime.jsx(LoginPage, {});
38307
+ return layout === "compact" ? /* @__PURE__ */ jsxRuntime.jsx(chunk7TOBKEOV_cjs.CompactLogin, { ...compact }) : /* @__PURE__ */ jsxRuntime.jsx(LoginPage, {});
38355
38308
  }
38356
38309
  function LoginPage() {
38357
- const sso = chunk3VFQYKB5_cjs.useSsoSignIn();
38358
- const auth = chunk3VFQYKB5_cjs.useAuthPages();
38310
+ const sso = chunk7TOBKEOV_cjs.useSsoSignIn();
38311
+ const auth = chunk7TOBKEOV_cjs.useAuthPages();
38359
38312
  const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
38360
38313
  const isSsoOnly = !!auth.ssoOnly;
38361
38314
  const allowRegistration = auth.allowRegistration ?? true;
38362
38315
  const isOnline = documentTools.useIsOnline();
38363
38316
  const passwordRules = auth.passwordRules;
38364
38317
  useSsoVerificationRedirect();
38365
- const formState = chunk3VFQYKB5_cjs.useLoginForm();
38318
+ const formState = chunk7TOBKEOV_cjs.useLoginForm();
38366
38319
  const deploymentDomain = react.useArbi().getDeploymentDomain();
38367
38320
  const {
38368
38321
  email,
@@ -38399,11 +38352,11 @@ function LoginPage() {
38399
38352
  handleLocalLogin,
38400
38353
  handleRegister,
38401
38354
  handleRequestVerificationCode
38402
- } = chunk3VFQYKB5_cjs.useLoginActions({
38355
+ } = chunk7TOBKEOV_cjs.useLoginActions({
38403
38356
  formState,
38404
38357
  formActions: formState
38405
38358
  });
38406
- const { isDisabled: isRegisterSubmitDisabled } = chunk3VFQYKB5_cjs.useRegisterSubmitState(
38359
+ const { isDisabled: isRegisterSubmitDisabled } = chunk7TOBKEOV_cjs.useRegisterSubmitState(
38407
38360
  isRegistering,
38408
38361
  isAuthenticating,
38409
38362
  password,
@@ -38947,7 +38900,7 @@ function SsoResendVerificationButton({
38947
38900
  onClick: async () => handleResendEmailVerification(),
38948
38901
  disabled: loading || disabled,
38949
38902
  "aria-label": "Resend verification email",
38950
- children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZIQGSFHG_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
38903
+ children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkVSABGETQ_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
38951
38904
  "Didn't get a verification email? ",
38952
38905
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: "Resend" })
38953
38906
  ] })
@@ -38958,16 +38911,16 @@ function SsoResendVerificationButton({
38958
38911
  }
38959
38912
  var NO_RECOVERY_KEY_WARNING2 = "Without your password or a recovery key, we cannot recover your account or data.";
38960
38913
  function ConnectedSsoCallback() {
38961
- const sso = chunk3VFQYKB5_cjs.useSsoSignIn();
38914
+ const sso = chunk7TOBKEOV_cjs.useSsoSignIn();
38962
38915
  const { isAuthenticated: isAuthenticated2, isLoading, user } = sso;
38963
- const auth = chunk3VFQYKB5_cjs.useAuthPages();
38916
+ const auth = chunk7TOBKEOV_cjs.useAuthPages();
38964
38917
  const { notify: notify17, navigate } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
38965
38918
  const passwordRules = auth.passwordRules;
38966
38919
  const isProcessing = react$1.useRef(false);
38967
38920
  const hasCheckedStatus = react$1.useRef(false);
38968
38921
  const [accessToken, setAccessToken] = react$1.useState(null);
38969
38922
  const [ssoStatus, setSsoStatus] = react$1.useState(null);
38970
- const ssoName = react$1.useMemo(() => chunk3VFQYKB5_cjs.resolveSsoName(user ?? {}, ssoStatus ?? {}), [user, ssoStatus]);
38923
+ const ssoName = react$1.useMemo(() => chunk7TOBKEOV_cjs.resolveSsoName(user ?? {}, ssoStatus ?? {}), [user, ssoStatus]);
38971
38924
  const [password, setPassword] = react$1.useState("");
38972
38925
  const [confirmPassword, setConfirmPassword] = react$1.useState("");
38973
38926
  const [error, setError] = react$1.useState(null);
@@ -39145,7 +39098,7 @@ function ConnectedSsoCallback() {
39145
39098
  setIsCheckingStatus(true);
39146
39099
  try {
39147
39100
  console.info("[SSO] Checking user status...");
39148
- const response = await chunk3VFQYKB5_cjs.ssoAccountStatus(arbi, accessToken, user);
39101
+ const response = await chunk7TOBKEOV_cjs.ssoAccountStatus(arbi, accessToken, user);
39149
39102
  console.info("[SSO] User status:", response.status);
39150
39103
  setSsoStatus(response);
39151
39104
  } catch (error2) {
@@ -39189,7 +39142,7 @@ function ConnectedSsoCallback() {
39189
39142
  setIsSubmitting(true);
39190
39143
  setError(null);
39191
39144
  try {
39192
- const { login, registered, linked } = await chunk3VFQYKB5_cjs.completeSsoSignIn(arbi, {
39145
+ const { login, registered, linked } = await chunk7TOBKEOV_cjs.completeSsoSignIn(arbi, {
39193
39146
  token: accessToken,
39194
39147
  user,
39195
39148
  status: ssoStatus,
@@ -39641,7 +39594,7 @@ function ConnectedRecoveryKeyDialog({
39641
39594
  const arbi = react.useArbi();
39642
39595
  const { user, isSso: isSsoMode } = react.useArbiSession();
39643
39596
  const userEmail = user?.email;
39644
- const sso = chunk3VFQYKB5_cjs.useSsoSignIn();
39597
+ const sso = chunk7TOBKEOV_cjs.useSsoSignIn();
39645
39598
  const handleVerify = async () => {
39646
39599
  setError(null);
39647
39600
  if (!password) {
@@ -39841,27 +39794,27 @@ function ConnectedOAuthConsentPage({
39841
39794
  oauthErrorRedirect(params.redirectUri, params.state, "access_denied");
39842
39795
  }
39843
39796
  if (error && !params) {
39844
- return /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
39797
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
39845
39798
  }
39846
39799
  if (!params) {
39847
39800
  return null;
39848
39801
  }
39849
39802
  if (clientInfo?.isLocalAgentFlow) {
39850
- return /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentMessage, { tone: "warning", title: "Close this tab", children: "This tab opened alongside the correct authorization page. Please close this tab and complete the connection in the other tab that opened at the same time." }) });
39803
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentMessage, { tone: "warning", title: "Close this tab", children: "This tab opened alongside the correct authorization page. Please close this tab and complete the connection in the other tab that opened at the same time." }) });
39851
39804
  }
39852
39805
  if (!isAuthenticated2) {
39853
39806
  return null;
39854
39807
  }
39855
39808
  if (callbackUrl) {
39856
- return /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFHXXDPNU_cjs.ConsentCard, { size: "md", children: [
39857
- /* @__PURE__ */ jsxRuntime.jsxs(chunkFHXXDPNU_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
39809
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkCCTNZ25D_cjs.ConsentCard, { size: "md", children: [
39810
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkCCTNZ25D_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
39858
39811
  "A new tab has opened to complete the connection. If it succeeded, you can close this page. If you see a connection error there, paste the URL below into Claude Cowork \u2014",
39859
39812
  " ",
39860
39813
  copied ? "it's already copied to your clipboard." : "copy it first."
39861
39814
  ] }),
39862
- /* @__PURE__ */ jsxRuntime.jsxs(chunkFHXXDPNU_cjs.ConsentSection, { title: "Callback URL", children: [
39863
- /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
39864
- /* @__PURE__ */ jsxRuntime.jsxs(chunkFHXXDPNU_cjs.ConsentText, { variant: "hint", children: [
39815
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkCCTNZ25D_cjs.ConsentSection, { title: "Callback URL", children: [
39816
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
39817
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkCCTNZ25D_cjs.ConsentText, { variant: "hint", children: [
39865
39818
  "In Claude Code, paste the URL at the prompt that says",
39866
39819
  " ",
39867
39820
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-foreground", children: '"paste the full redirect URL here"' }),
@@ -39870,17 +39823,17 @@ function ConnectedOAuthConsentPage({
39870
39823
  ] })
39871
39824
  ] }) });
39872
39825
  }
39873
- return /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFHXXDPNU_cjs.ConsentCard, { children: [
39874
- /* @__PURE__ */ jsxRuntime.jsxs(chunkFHXXDPNU_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
39875
- /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
39826
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkCCTNZ25D_cjs.ConsentCard, { children: [
39827
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkCCTNZ25D_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
39828
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
39876
39829
  " is requesting access to your ",
39877
39830
  appName,
39878
39831
  " workspace."
39879
39832
  ] }),
39880
- /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentPermissionList, { items: permissions }) }),
39881
- error && /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentNotice, { tone: "error", children: error }),
39882
- /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
39883
- /* @__PURE__ */ jsxRuntime.jsx(chunkFHXXDPNU_cjs.ConsentFootnote, { children: footnote })
39833
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentPermissionList, { items: permissions }) }),
39834
+ error && /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentNotice, { tone: "error", children: error }),
39835
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
39836
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentFootnote, { children: footnote })
39884
39837
  ] }) });
39885
39838
  }
39886
39839
  function ConnectedSharedFilesPage({
@@ -40205,10 +40158,10 @@ function useContextualHints() {
40205
40158
  const session = react.useArbiSessionStore();
40206
40159
  const { data: userSettings } = react.useUserSettings();
40207
40160
  const updateUserSettings = react.useUpdateUserSettings();
40208
- const [sessionOverride] = react.useTransientView(chunkZIQGSFHG_cjs.TIPS_VISIBILITY_OVERRIDE, null);
40209
- const setShowHints = (value) => chunkZIQGSFHG_cjs.setHintsSessionOverride(session, value);
40161
+ const [sessionOverride] = react.useTransientView(chunkVSABGETQ_cjs.TIPS_VISIBILITY_OVERRIDE, null);
40162
+ const setShowHints = (value) => chunkVSABGETQ_cjs.setHintsSessionOverride(session, value);
40210
40163
  const setShowHintsPersisted = (value) => {
40211
- chunkZIQGSFHG_cjs.setHintsSessionOverride(session, null);
40164
+ chunkVSABGETQ_cjs.setHintsSessionOverride(session, null);
40212
40165
  updateUserSettings.mutate({ show_hints: value });
40213
40166
  };
40214
40167
  return {
@@ -40243,7 +40196,7 @@ function ConnectedTipBar({
40243
40196
  workspaceOpen,
40244
40197
  ...state
40245
40198
  };
40246
- const { tip, index, count: count2, previous, next, onHoverChange } = chunkZIQGSFHG_cjs.useTipsPlacement({
40199
+ const { tip, index, count: count2, previous, next, onHoverChange } = chunkVSABGETQ_cjs.useTipsPlacement({
40247
40200
  registry,
40248
40201
  context,
40249
40202
  state: situation,
@@ -40310,7 +40263,7 @@ function useGettingStarted({
40310
40263
  const { dismissed, loaded: dismissedLoaded, dismissTip } = react.useDismissedTips();
40311
40264
  const welcomeJourneyEnabled = react.useFeature("welcomeJourney");
40312
40265
  const session = react.useArbiSessionStore();
40313
- const [replayView] = react.useTransientView(chunkZIQGSFHG_cjs.WELCOME_REPLAY_VIEW, false);
40266
+ const [replayView] = react.useTransientView(chunkVSABGETQ_cjs.WELCOME_REPLAY_VIEW, false);
40314
40267
  const welcomeReplay = replayView === true;
40315
40268
  const welcomeDialogOpen = chunkGMM3RBIB_cjs.useDialogProps("welcome") !== null;
40316
40269
  const inWorkspace = react.useArbiSessionState((s) => !!s.workspaceId && s.workspaceStatus === "open");
@@ -40396,7 +40349,7 @@ function useGettingStarted({
40396
40349
  dismiss: () => {
40397
40350
  if (allCoreComplete) dismissTip(GETTING_STARTED_DONE_TIP);
40398
40351
  if (welcomeReplay) {
40399
- session.setTransientView(chunkZIQGSFHG_cjs.WELCOME_REPLAY_VIEW, void 0);
40352
+ session.setTransientView(chunkVSABGETQ_cjs.WELCOME_REPLAY_VIEW, void 0);
40400
40353
  return;
40401
40354
  }
40402
40355
  if (allCoreComplete) return;
@@ -40418,7 +40371,7 @@ function ConnectedGettingStarted({
40418
40371
  const coreSteps = steps.filter((s) => !s.optional);
40419
40372
  const currentStep = coreSteps.find((s) => !s.done);
40420
40373
  return /* @__PURE__ */ jsxRuntime.jsx(
40421
- chunkZ4KXF7WS_cjs.GettingStartedStrip,
40374
+ chunkEG6YBT7G_cjs.GettingStartedStrip,
40422
40375
  {
40423
40376
  steps: coreSteps,
40424
40377
  currentStepId: currentStep?.id,
@@ -40624,91 +40577,91 @@ Object.defineProperty(exports, "useWorkspaceDocs", {
40624
40577
  });
40625
40578
  Object.defineProperty(exports, "ConnectedTaskActivityDialog", {
40626
40579
  enumerable: true,
40627
- get: function () { return chunk45Y7ASBC_cjs.ConnectedTaskActivityDialog; }
40580
+ get: function () { return chunk7ZVL44YM_cjs.ConnectedTaskActivityDialog; }
40628
40581
  });
40629
40582
  Object.defineProperty(exports, "ConnectedTaskComposer", {
40630
40583
  enumerable: true,
40631
- get: function () { return chunk45Y7ASBC_cjs.ConnectedTaskComposer; }
40584
+ get: function () { return chunk7ZVL44YM_cjs.ConnectedTaskComposer; }
40632
40585
  });
40633
40586
  Object.defineProperty(exports, "ConnectedThreadTaskBar", {
40634
40587
  enumerable: true,
40635
- get: function () { return chunk45Y7ASBC_cjs.ConnectedThreadTaskBar; }
40588
+ get: function () { return chunk7ZVL44YM_cjs.ConnectedThreadTaskBar; }
40636
40589
  });
40637
40590
  Object.defineProperty(exports, "ConnectedWorkflowHistory", {
40638
40591
  enumerable: true,
40639
- get: function () { return chunk45Y7ASBC_cjs.ConnectedWorkflowHistory; }
40592
+ get: function () { return chunk7ZVL44YM_cjs.ConnectedWorkflowHistory; }
40640
40593
  });
40641
40594
  Object.defineProperty(exports, "ConnectedWorkflowRunner", {
40642
40595
  enumerable: true,
40643
- get: function () { return chunk45Y7ASBC_cjs.ConnectedWorkflowRunner; }
40596
+ get: function () { return chunk7ZVL44YM_cjs.ConnectedWorkflowRunner; }
40644
40597
  });
40645
40598
  Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS", {
40646
40599
  enumerable: true,
40647
- get: function () { return chunk45Y7ASBC_cjs.DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS; }
40600
+ get: function () { return chunk7ZVL44YM_cjs.DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS; }
40648
40601
  });
40649
40602
  Object.defineProperty(exports, "DEFAULT_WORKFLOW_RUN_PAGE_LABELS", {
40650
40603
  enumerable: true,
40651
- get: function () { return chunk45Y7ASBC_cjs.DEFAULT_WORKFLOW_RUN_PAGE_LABELS; }
40604
+ get: function () { return chunk7ZVL44YM_cjs.DEFAULT_WORKFLOW_RUN_PAGE_LABELS; }
40652
40605
  });
40653
40606
  Object.defineProperty(exports, "WorkflowRunThread", {
40654
40607
  enumerable: true,
40655
- get: function () { return chunk45Y7ASBC_cjs.WorkflowRunThread; }
40608
+ get: function () { return chunk7ZVL44YM_cjs.WorkflowRunThread; }
40656
40609
  });
40657
40610
  Object.defineProperty(exports, "WorkflowRunWorkspaceChangedError", {
40658
40611
  enumerable: true,
40659
- get: function () { return chunk45Y7ASBC_cjs.WorkflowRunWorkspaceChangedError; }
40612
+ get: function () { return chunk7ZVL44YM_cjs.WorkflowRunWorkspaceChangedError; }
40660
40613
  });
40661
40614
  Object.defineProperty(exports, "buildProjectSummaries", {
40662
40615
  enumerable: true,
40663
- get: function () { return chunk45Y7ASBC_cjs.buildProjectSummaries; }
40616
+ get: function () { return chunk7ZVL44YM_cjs.buildProjectSummaries; }
40664
40617
  });
40665
40618
  Object.defineProperty(exports, "primaryProjectWorkspace", {
40666
40619
  enumerable: true,
40667
- get: function () { return chunk45Y7ASBC_cjs.primaryProjectWorkspace; }
40620
+ get: function () { return chunk7ZVL44YM_cjs.primaryProjectWorkspace; }
40668
40621
  });
40669
40622
  Object.defineProperty(exports, "useEnsureRequiredLabels", {
40670
40623
  enumerable: true,
40671
- get: function () { return chunk45Y7ASBC_cjs.useEnsureRequiredLabels; }
40624
+ get: function () { return chunk7ZVL44YM_cjs.useEnsureRequiredLabels; }
40672
40625
  });
40673
40626
  Object.defineProperty(exports, "useProjectSummaries", {
40674
40627
  enumerable: true,
40675
- get: function () { return chunk45Y7ASBC_cjs.useProjectSummaries; }
40628
+ get: function () { return chunk7ZVL44YM_cjs.useProjectSummaries; }
40676
40629
  });
40677
40630
  Object.defineProperty(exports, "useProjectSummary", {
40678
40631
  enumerable: true,
40679
- get: function () { return chunk45Y7ASBC_cjs.useProjectSummary; }
40632
+ get: function () { return chunk7ZVL44YM_cjs.useProjectSummary; }
40680
40633
  });
40681
40634
  Object.defineProperty(exports, "useRenderTaskPerson", {
40682
40635
  enumerable: true,
40683
- get: function () { return chunk45Y7ASBC_cjs.useRenderTaskPerson; }
40636
+ get: function () { return chunk7ZVL44YM_cjs.useRenderTaskPerson; }
40684
40637
  });
40685
40638
  Object.defineProperty(exports, "useRequiredLabels", {
40686
40639
  enumerable: true,
40687
- get: function () { return chunk45Y7ASBC_cjs.useRequiredLabels; }
40640
+ get: function () { return chunk7ZVL44YM_cjs.useRequiredLabels; }
40688
40641
  });
40689
40642
  Object.defineProperty(exports, "useSkillsEnabled", {
40690
40643
  enumerable: true,
40691
- get: function () { return chunk45Y7ASBC_cjs.useSkillsEnabled; }
40644
+ get: function () { return chunk7ZVL44YM_cjs.useSkillsEnabled; }
40692
40645
  });
40693
40646
  Object.defineProperty(exports, "useTaskPeople", {
40694
40647
  enumerable: true,
40695
- get: function () { return chunk45Y7ASBC_cjs.useTaskPeople; }
40648
+ get: function () { return chunk7ZVL44YM_cjs.useTaskPeople; }
40696
40649
  });
40697
40650
  Object.defineProperty(exports, "useWorkflowDefinitions", {
40698
40651
  enumerable: true,
40699
- get: function () { return chunk45Y7ASBC_cjs.useWorkflowDefinitions; }
40652
+ get: function () { return chunk7ZVL44YM_cjs.useWorkflowDefinitions; }
40700
40653
  });
40701
40654
  Object.defineProperty(exports, "useWorkflowTasks", {
40702
40655
  enumerable: true,
40703
- get: function () { return chunk45Y7ASBC_cjs.useWorkflowTasks; }
40656
+ get: function () { return chunk7ZVL44YM_cjs.useWorkflowTasks; }
40704
40657
  });
40705
40658
  Object.defineProperty(exports, "useWorkflowsPageState", {
40706
40659
  enumerable: true,
40707
- get: function () { return chunk45Y7ASBC_cjs.useWorkflowsPageState; }
40660
+ get: function () { return chunk7ZVL44YM_cjs.useWorkflowsPageState; }
40708
40661
  });
40709
40662
  Object.defineProperty(exports, "workflowRunView", {
40710
40663
  enumerable: true,
40711
- get: function () { return chunk45Y7ASBC_cjs.workflowRunView; }
40664
+ get: function () { return chunk7ZVL44YM_cjs.workflowRunView; }
40712
40665
  });
40713
40666
  Object.defineProperty(exports, "FILES_PREFS_KEY", {
40714
40667
  enumerable: true,
@@ -40744,127 +40697,127 @@ Object.defineProperty(exports, "usePendingFolders", {
40744
40697
  });
40745
40698
  Object.defineProperty(exports, "AgentSteps", {
40746
40699
  enumerable: true,
40747
- get: function () { return chunk3VFQYKB5_cjs.AgentSteps; }
40700
+ get: function () { return chunk7TOBKEOV_cjs.AgentSteps; }
40748
40701
  });
40749
40702
  Object.defineProperty(exports, "AnswerTable", {
40750
40703
  enumerable: true,
40751
- get: function () { return chunk3VFQYKB5_cjs.AnswerTable; }
40704
+ get: function () { return chunk7TOBKEOV_cjs.AnswerTable; }
40752
40705
  });
40753
40706
  Object.defineProperty(exports, "ArbiChat", {
40754
40707
  enumerable: true,
40755
- get: function () { return chunk3VFQYKB5_cjs.ArbiChat; }
40708
+ get: function () { return chunk7TOBKEOV_cjs.ArbiChat; }
40756
40709
  });
40757
40710
  Object.defineProperty(exports, "AskAgainContext", {
40758
40711
  enumerable: true,
40759
- get: function () { return chunk3VFQYKB5_cjs.AskAgainContext; }
40712
+ get: function () { return chunk7TOBKEOV_cjs.AskAgainContext; }
40760
40713
  });
40761
40714
  Object.defineProperty(exports, "ConnectedBranchControls", {
40762
40715
  enumerable: true,
40763
- get: function () { return chunk3VFQYKB5_cjs.ConnectedBranchControls; }
40716
+ get: function () { return chunk7TOBKEOV_cjs.ConnectedBranchControls; }
40764
40717
  });
40765
40718
  Object.defineProperty(exports, "ConnectedCitationRenderer", {
40766
40719
  enumerable: true,
40767
- get: function () { return chunk3VFQYKB5_cjs.ConnectedCitationRenderer; }
40720
+ get: function () { return chunk7TOBKEOV_cjs.ConnectedCitationRenderer; }
40768
40721
  });
40769
40722
  Object.defineProperty(exports, "ConnectedCompactConversation", {
40770
40723
  enumerable: true,
40771
- get: function () { return chunk3VFQYKB5_cjs.ConnectedCompactConversation; }
40724
+ get: function () { return chunk7TOBKEOV_cjs.ConnectedCompactConversation; }
40772
40725
  });
40773
40726
  Object.defineProperty(exports, "ConnectedConversationDocumentPicker", {
40774
40727
  enumerable: true,
40775
- get: function () { return chunk3VFQYKB5_cjs.ConnectedConversationDocumentPicker; }
40728
+ get: function () { return chunk7TOBKEOV_cjs.ConnectedConversationDocumentPicker; }
40776
40729
  });
40777
40730
  Object.defineProperty(exports, "ConnectedEmbeddedChat", {
40778
40731
  enumerable: true,
40779
- get: function () { return chunk3VFQYKB5_cjs.ConnectedEmbeddedChat; }
40732
+ get: function () { return chunk7TOBKEOV_cjs.ConnectedEmbeddedChat; }
40780
40733
  });
40781
40734
  Object.defineProperty(exports, "ConnectedMessage", {
40782
40735
  enumerable: true,
40783
- get: function () { return chunk3VFQYKB5_cjs.ConnectedMessage; }
40736
+ get: function () { return chunk7TOBKEOV_cjs.ConnectedMessage; }
40784
40737
  });
40785
40738
  Object.defineProperty(exports, "ConnectedMessageArea", {
40786
40739
  enumerable: true,
40787
- get: function () { return chunk3VFQYKB5_cjs.ConnectedMessageArea; }
40740
+ get: function () { return chunk7TOBKEOV_cjs.ConnectedMessageArea; }
40788
40741
  });
40789
40742
  Object.defineProperty(exports, "ConnectedMessageList", {
40790
40743
  enumerable: true,
40791
- get: function () { return chunk3VFQYKB5_cjs.ConnectedMessageList; }
40744
+ get: function () { return chunk7TOBKEOV_cjs.ConnectedMessageList; }
40792
40745
  });
40793
40746
  Object.defineProperty(exports, "ConnectedThreadsPreview", {
40794
40747
  enumerable: true,
40795
- get: function () { return chunk3VFQYKB5_cjs.ConnectedThreadsPreview; }
40748
+ get: function () { return chunk7TOBKEOV_cjs.ConnectedThreadsPreview; }
40796
40749
  });
40797
40750
  Object.defineProperty(exports, "ConnectedUserEntity", {
40798
40751
  enumerable: true,
40799
- get: function () { return chunk3VFQYKB5_cjs.ConnectedUserEntity; }
40752
+ get: function () { return chunk7TOBKEOV_cjs.ConnectedUserEntity; }
40800
40753
  });
40801
40754
  Object.defineProperty(exports, "ConversationComposer", {
40802
40755
  enumerable: true,
40803
- get: function () { return chunk3VFQYKB5_cjs.ConversationComposer; }
40756
+ get: function () { return chunk7TOBKEOV_cjs.ConversationComposer; }
40804
40757
  });
40805
40758
  Object.defineProperty(exports, "EmbeddedChatPanel", {
40806
40759
  enumerable: true,
40807
- get: function () { return chunk3VFQYKB5_cjs.EmbeddedChatPanel; }
40760
+ get: function () { return chunk7TOBKEOV_cjs.EmbeddedChatPanel; }
40808
40761
  });
40809
40762
  Object.defineProperty(exports, "MessageDetailsModal", {
40810
40763
  enumerable: true,
40811
- get: function () { return chunk3VFQYKB5_cjs.MessageDetailsModal; }
40764
+ get: function () { return chunk7TOBKEOV_cjs.MessageDetailsModal; }
40812
40765
  });
40813
40766
  Object.defineProperty(exports, "MessageLiveSeconds", {
40814
40767
  enumerable: true,
40815
- get: function () { return chunk3VFQYKB5_cjs.MessageLiveSeconds; }
40768
+ get: function () { return chunk7TOBKEOV_cjs.MessageLiveSeconds; }
40816
40769
  });
40817
40770
  Object.defineProperty(exports, "RunningSubagents", {
40818
40771
  enumerable: true,
40819
- get: function () { return chunk3VFQYKB5_cjs.RunningSubagents; }
40772
+ get: function () { return chunk7TOBKEOV_cjs.RunningSubagents; }
40820
40773
  });
40821
40774
  Object.defineProperty(exports, "SourceChips", {
40822
40775
  enumerable: true,
40823
- get: function () { return chunk3VFQYKB5_cjs.SourceChips; }
40776
+ get: function () { return chunk7TOBKEOV_cjs.SourceChips; }
40824
40777
  });
40825
40778
  Object.defineProperty(exports, "WorkflowStepMessage", {
40826
40779
  enumerable: true,
40827
- get: function () { return chunk3VFQYKB5_cjs.WorkflowStepMessage; }
40780
+ get: function () { return chunk7TOBKEOV_cjs.WorkflowStepMessage; }
40828
40781
  });
40829
40782
  Object.defineProperty(exports, "backUpOnSignup", {
40830
40783
  enumerable: true,
40831
- get: function () { return chunk3VFQYKB5_cjs.backUpOnSignup; }
40784
+ get: function () { return chunk7TOBKEOV_cjs.backUpOnSignup; }
40832
40785
  });
40833
40786
  Object.defineProperty(exports, "defaultHost", {
40834
40787
  enumerable: true,
40835
- get: function () { return chunk3VFQYKB5_cjs.defaultHost; }
40788
+ get: function () { return chunk7TOBKEOV_cjs.defaultHost; }
40836
40789
  });
40837
40790
  Object.defineProperty(exports, "renderConnectedUser", {
40838
40791
  enumerable: true,
40839
- get: function () { return chunk3VFQYKB5_cjs.renderConnectedUser; }
40792
+ get: function () { return chunk7TOBKEOV_cjs.renderConnectedUser; }
40840
40793
  });
40841
40794
  Object.defineProperty(exports, "resolveSsoName", {
40842
40795
  enumerable: true,
40843
- get: function () { return chunk3VFQYKB5_cjs.resolveSsoName; }
40796
+ get: function () { return chunk7TOBKEOV_cjs.resolveSsoName; }
40844
40797
  });
40845
40798
  Object.defineProperty(exports, "useAuthPages", {
40846
40799
  enumerable: true,
40847
- get: function () { return chunk3VFQYKB5_cjs.useAuthPages; }
40800
+ get: function () { return chunk7TOBKEOV_cjs.useAuthPages; }
40848
40801
  });
40849
40802
  Object.defineProperty(exports, "useOpenChunk", {
40850
40803
  enumerable: true,
40851
- get: function () { return chunk3VFQYKB5_cjs.useOpenChunk; }
40804
+ get: function () { return chunk7TOBKEOV_cjs.useOpenChunk; }
40852
40805
  });
40853
40806
  Object.defineProperty(exports, "useOpenWorkspaceIcon", {
40854
40807
  enumerable: true,
40855
- get: function () { return chunk3VFQYKB5_cjs.useOpenWorkspaceIcon; }
40808
+ get: function () { return chunk7TOBKEOV_cjs.useOpenWorkspaceIcon; }
40856
40809
  });
40857
40810
  Object.defineProperty(exports, "useSlashItems", {
40858
40811
  enumerable: true,
40859
- get: function () { return chunk3VFQYKB5_cjs.useSlashItems; }
40812
+ get: function () { return chunk7TOBKEOV_cjs.useSlashItems; }
40860
40813
  });
40861
40814
  Object.defineProperty(exports, "useSsoSignIn", {
40862
40815
  enumerable: true,
40863
- get: function () { return chunk3VFQYKB5_cjs.useSsoSignIn; }
40816
+ get: function () { return chunk7TOBKEOV_cjs.useSsoSignIn; }
40864
40817
  });
40865
40818
  Object.defineProperty(exports, "useWorkspaceDocTitles", {
40866
40819
  enumerable: true,
40867
- get: function () { return chunk3VFQYKB5_cjs.useWorkspaceDocTitles; }
40820
+ get: function () { return chunk7TOBKEOV_cjs.useWorkspaceDocTitles; }
40868
40821
  });
40869
40822
  Object.defineProperty(exports, "useConnectedThreadActivity", {
40870
40823
  enumerable: true,
@@ -40944,43 +40897,43 @@ Object.defineProperty(exports, "useResolvedDocStatus", {
40944
40897
  });
40945
40898
  Object.defineProperty(exports, "ConnectedWorkflowDocumentsField", {
40946
40899
  enumerable: true,
40947
- get: function () { return chunkUDMII47W_cjs.ConnectedWorkflowDocumentsField; }
40900
+ get: function () { return chunkSU374FEM_cjs.ConnectedWorkflowDocumentsField; }
40948
40901
  });
40949
40902
  Object.defineProperty(exports, "ConnectedWorkflowLauncher", {
40950
40903
  enumerable: true,
40951
- get: function () { return chunkUDMII47W_cjs.ConnectedWorkflowLauncher; }
40904
+ get: function () { return chunkSU374FEM_cjs.ConnectedWorkflowLauncher; }
40952
40905
  });
40953
40906
  Object.defineProperty(exports, "ConnectedWorkflowsTable", {
40954
40907
  enumerable: true,
40955
- get: function () { return chunkUDMII47W_cjs.ConnectedWorkflowsTable; }
40908
+ get: function () { return chunkSU374FEM_cjs.ConnectedWorkflowsTable; }
40956
40909
  });
40957
40910
  Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS", {
40958
40911
  enumerable: true,
40959
- get: function () { return chunkUDMII47W_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
40912
+ get: function () { return chunkSU374FEM_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
40960
40913
  });
40961
40914
  Object.defineProperty(exports, "toWorkflowFieldDocument", {
40962
40915
  enumerable: true,
40963
- get: function () { return chunkUDMII47W_cjs.toWorkflowFieldDocument; }
40916
+ get: function () { return chunkSU374FEM_cjs.toWorkflowFieldDocument; }
40964
40917
  });
40965
40918
  Object.defineProperty(exports, "useConnectedAgentOptions", {
40966
40919
  enumerable: true,
40967
- get: function () { return chunkUDMII47W_cjs.useConnectedAgentOptions; }
40920
+ get: function () { return chunkSU374FEM_cjs.useConnectedAgentOptions; }
40968
40921
  });
40969
40922
  Object.defineProperty(exports, "useConnectedWorkflowScopeSource", {
40970
40923
  enumerable: true,
40971
- get: function () { return chunkUDMII47W_cjs.useConnectedWorkflowScopeSource; }
40924
+ get: function () { return chunkSU374FEM_cjs.useConnectedWorkflowScopeSource; }
40972
40925
  });
40973
40926
  Object.defineProperty(exports, "useConnectedWorkspaceRole", {
40974
40927
  enumerable: true,
40975
- get: function () { return chunkUDMII47W_cjs.useConnectedWorkspaceRole; }
40928
+ get: function () { return chunkSU374FEM_cjs.useConnectedWorkspaceRole; }
40976
40929
  });
40977
40930
  Object.defineProperty(exports, "useDocxCommentTarget", {
40978
40931
  enumerable: true,
40979
- get: function () { return chunkUDMII47W_cjs.useDocxCommentTarget; }
40932
+ get: function () { return chunkSU374FEM_cjs.useDocxCommentTarget; }
40980
40933
  });
40981
40934
  Object.defineProperty(exports, "useNativeDocxSupport", {
40982
40935
  enumerable: true,
40983
- get: function () { return chunkUDMII47W_cjs.useNativeDocxSupport; }
40936
+ get: function () { return chunkSU374FEM_cjs.useNativeDocxSupport; }
40984
40937
  });
40985
40938
  Object.defineProperty(exports, "useOpenWorkflow", {
40986
40939
  enumerable: true,
@@ -41024,39 +40977,39 @@ Object.defineProperty(exports, "useViewerStreamingDocument", {
41024
40977
  });
41025
40978
  Object.defineProperty(exports, "ConnectedMarkdown", {
41026
40979
  enumerable: true,
41027
- get: function () { return chunk2FRUMQLS_cjs.ConnectedMarkdown; }
40980
+ get: function () { return chunkEUGCT5MB_cjs.ConnectedMarkdown; }
41028
40981
  });
41029
40982
  Object.defineProperty(exports, "DocumentChip", {
41030
40983
  enumerable: true,
41031
- get: function () { return chunk2FRUMQLS_cjs.DocumentChip; }
40984
+ get: function () { return chunkEUGCT5MB_cjs.DocumentChip; }
41032
40985
  });
41033
40986
  Object.defineProperty(exports, "DocumentWorkspaceContext", {
41034
40987
  enumerable: true,
41035
- get: function () { return chunk2FRUMQLS_cjs.DocumentWorkspaceContext; }
40988
+ get: function () { return chunkEUGCT5MB_cjs.DocumentWorkspaceContext; }
41036
40989
  });
41037
40990
  Object.defineProperty(exports, "ExternalLink", {
41038
40991
  enumerable: true,
41039
- get: function () { return chunk2FRUMQLS_cjs.ExternalLink; }
40992
+ get: function () { return chunkEUGCT5MB_cjs.ExternalLink; }
41040
40993
  });
41041
40994
  Object.defineProperty(exports, "InternalDocLink", {
41042
40995
  enumerable: true,
41043
- get: function () { return chunk2FRUMQLS_cjs.InternalDocLink; }
40996
+ get: function () { return chunkEUGCT5MB_cjs.InternalDocLink; }
41044
40997
  });
41045
40998
  Object.defineProperty(exports, "MailChip", {
41046
40999
  enumerable: true,
41047
- get: function () { return chunk2FRUMQLS_cjs.MailChip; }
41000
+ get: function () { return chunkEUGCT5MB_cjs.MailChip; }
41048
41001
  });
41049
41002
  Object.defineProperty(exports, "MermaidDiagram", {
41050
41003
  enumerable: true,
41051
- get: function () { return chunk2FRUMQLS_cjs.MermaidDiagram; }
41004
+ get: function () { return chunkEUGCT5MB_cjs.MermaidDiagram; }
41052
41005
  });
41053
41006
  Object.defineProperty(exports, "WorkspaceDocumentReference", {
41054
41007
  enumerable: true,
41055
- get: function () { return chunk2FRUMQLS_cjs.WorkspaceDocumentReference; }
41008
+ get: function () { return chunkEUGCT5MB_cjs.WorkspaceDocumentReference; }
41056
41009
  });
41057
41010
  Object.defineProperty(exports, "useDocumentWorkspace", {
41058
41011
  enumerable: true,
41059
- get: function () { return chunk2FRUMQLS_cjs.useDocumentWorkspace; }
41012
+ get: function () { return chunkEUGCT5MB_cjs.useDocumentWorkspace; }
41060
41013
  });
41061
41014
  Object.defineProperty(exports, "useMeetingThreadMessages", {
41062
41015
  enumerable: true,
@@ -41171,6 +41124,7 @@ exports.ConnectedEntitlementGate = ConnectedEntitlementGate;
41171
41124
  exports.ConnectedExportDialog = ConnectedExportDialog;
41172
41125
  exports.ConnectedExportPanel = ConnectedExportPanel;
41173
41126
  exports.ConnectedFactsPage = ConnectedFactsPage;
41127
+ exports.ConnectedFactsSmartSearch = ConnectedFactsSmartSearch;
41174
41128
  exports.ConnectedFieldsEditor = ConnectedFieldsEditor;
41175
41129
  exports.ConnectedFieldsManager = ConnectedFieldsManager;
41176
41130
  exports.ConnectedFilesBulkActions = ConnectedFilesBulkActions;