@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.
- package/README.md +16 -12
- package/dist/{ConnectedCallDock-VMEBH4LG.js → ConnectedCallDock-3EHDHB5D.js} +4 -4
- package/dist/{ConnectedCallDock-VMEBH4LG.js.map → ConnectedCallDock-3EHDHB5D.js.map} +1 -1
- package/dist/{ConnectedCallDock-FFIDDYGH.cjs → ConnectedCallDock-NXF2YSY2.cjs} +4 -4
- package/dist/{ConnectedCallDock-FFIDDYGH.cjs.map → ConnectedCallDock-NXF2YSY2.cjs.map} +1 -1
- package/dist/ConnectedCallRoom-2FNSX2VG.js +2 -2
- package/dist/ConnectedCallRoom-HYRLJUIV.cjs +2 -2
- package/dist/{ConnectedDocumentViewer-NIZBKBJN.js → ConnectedDocumentViewer-2GU4SA5L.js} +11 -11
- package/dist/{ConnectedDocumentViewer-NIZBKBJN.js.map → ConnectedDocumentViewer-2GU4SA5L.js.map} +1 -1
- package/dist/{ConnectedDocumentViewer-IQHDCAZ5.cjs → ConnectedDocumentViewer-R5GFEUPB.cjs} +12 -12
- package/dist/{ConnectedDocumentViewer-IQHDCAZ5.cjs.map → ConnectedDocumentViewer-R5GFEUPB.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-FPW3BNBN.js → ConnectedNativeDocxComparison-KGRT2RSK.js} +8 -8
- package/dist/{ConnectedNativeDocxComparison-FPW3BNBN.js.map → ConnectedNativeDocxComparison-KGRT2RSK.js.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-HJ4FTVH6.cjs → ConnectedNativeDocxComparison-NMVGZYYW.cjs} +9 -9
- package/dist/{ConnectedNativeDocxComparison-HJ4FTVH6.cjs.map → ConnectedNativeDocxComparison-NMVGZYYW.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-PF46MU5H.cjs → ConnectedNativeDocxEditor-NZZSG4N7.cjs} +9 -9
- package/dist/{ConnectedNativeDocxEditor-PF46MU5H.cjs.map → ConnectedNativeDocxEditor-NZZSG4N7.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-S7NJMDSU.js → ConnectedNativeDocxEditor-WO4MQUEJ.js} +7 -7
- package/dist/{ConnectedNativeDocxEditor-S7NJMDSU.js.map → ConnectedNativeDocxEditor-WO4MQUEJ.js.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-5MHLV24V.js → ConnectedStreamedWordArtifact-PETCKJXL.js} +8 -8
- package/dist/ConnectedStreamedWordArtifact-PETCKJXL.js.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-LNGW7YGV.cjs → ConnectedStreamedWordArtifact-UIXR3P3H.cjs} +9 -9
- package/dist/ConnectedStreamedWordArtifact-UIXR3P3H.cjs.map +1 -0
- package/dist/DocumentReviewCard-5U3TGJZA.js +2 -2
- package/dist/DocumentReviewCard-VFNMJSK7.cjs +2 -2
- package/dist/{WorkspaceTableView-EH5CEB44.js → WorkspaceTableView-LBESYCXW.js} +4 -4
- package/dist/{WorkspaceTableView-EH5CEB44.js.map → WorkspaceTableView-LBESYCXW.js.map} +1 -1
- package/dist/{WorkspaceTableView-DHMCJRC6.cjs → WorkspaceTableView-OIMBOLG6.cjs} +4 -4
- package/dist/{WorkspaceTableView-DHMCJRC6.cjs.map → WorkspaceTableView-OIMBOLG6.cjs.map} +1 -1
- package/dist/agents/index.cjs +283 -287
- package/dist/agents/index.js +6 -6
- package/dist/agents/tasks/ConversationListView.d.ts +0 -2
- package/dist/agents/tasks/PersonPill.d.ts +1 -2
- package/dist/agents/tasks/TaskTable.d.ts +0 -14
- package/dist/agents/tasks/ThreadStatusLine.d.ts +1 -4
- package/dist/agents/tasks/UploadTaskList.d.ts +1 -5
- package/dist/agents/tasks/WorkflowComposer.d.ts +1 -1
- package/dist/agents/tasks/WorkflowsTable.d.ts +3 -4
- package/dist/agents/tasks/index.d.ts +0 -2
- package/dist/agents/tasks/taskComposerTypes.d.ts +0 -1
- package/dist/agents/workflows/WorkflowConfigDialog.d.ts +2 -3
- package/dist/agents/workflows/WorkflowRunner.d.ts +3 -7
- package/dist/calendar/index.cjs +116 -116
- package/dist/calendar/index.js +1 -1
- package/dist/calls/index.cjs +1 -1
- package/dist/calls/index.js +1 -1
- package/dist/chat/index.cjs +2 -2
- package/dist/chat/index.js +2 -2
- package/dist/{chunk-PVPGD6QR.js → chunk-34DWIXUN.js} +3 -3
- package/dist/{chunk-PVPGD6QR.js.map → chunk-34DWIXUN.js.map} +1 -1
- package/dist/{chunk-QUZPQWPX.js → chunk-4SXG6ACE.js} +237 -5
- package/dist/chunk-4SXG6ACE.js.map +1 -0
- package/dist/{chunk-23ACBETH.cjs → chunk-5CKTUHNS.cjs} +4 -4
- package/dist/{chunk-23ACBETH.cjs.map → chunk-5CKTUHNS.cjs.map} +1 -1
- package/dist/{chunk-3VFQYKB5.cjs → chunk-7TOBKEOV.cjs} +284 -74
- package/dist/chunk-7TOBKEOV.cjs.map +1 -0
- package/dist/{chunk-45Y7ASBC.cjs → chunk-7ZVL44YM.cjs} +49 -51
- package/dist/chunk-7ZVL44YM.cjs.map +1 -0
- package/dist/{chunk-COZDIUG7.cjs → chunk-BI6O7OMA.cjs} +32 -14
- package/dist/chunk-BI6O7OMA.cjs.map +1 -0
- package/dist/{chunk-JWRTUYLC.js → chunk-BPPX3ESB.js} +3 -3
- package/dist/{chunk-JWRTUYLC.js.map → chunk-BPPX3ESB.js.map} +1 -1
- package/dist/{chunk-FHXXDPNU.cjs → chunk-CCTNZ25D.cjs} +32 -460
- package/dist/chunk-CCTNZ25D.cjs.map +1 -0
- package/dist/{chunk-HGFU47TY.js → chunk-D4LZKHIL.js} +3 -3
- package/dist/{chunk-HGFU47TY.js.map → chunk-D4LZKHIL.js.map} +1 -1
- package/dist/{chunk-EOIJ5JYP.cjs → chunk-DDUHNTD3.cjs} +4 -4
- package/dist/{chunk-EOIJ5JYP.cjs.map → chunk-DDUHNTD3.cjs.map} +1 -1
- package/dist/{chunk-AWVGKHJT.js → chunk-E5RN3LWS.js} +2 -2
- package/dist/{chunk-AWVGKHJT.js.map → chunk-E5RN3LWS.js.map} +1 -1
- package/dist/{chunk-Z4KXF7WS.cjs → chunk-EG6YBT7G.cjs} +7 -7
- package/dist/{chunk-Z4KXF7WS.cjs.map → chunk-EG6YBT7G.cjs.map} +1 -1
- package/dist/{chunk-2FRUMQLS.cjs → chunk-EUGCT5MB.cjs} +3 -3
- package/dist/{chunk-2FRUMQLS.cjs.map → chunk-EUGCT5MB.cjs.map} +1 -1
- package/dist/{chunk-RFKAE6WS.js → chunk-G7GPG5NO.js} +26 -453
- package/dist/chunk-G7GPG5NO.js.map +1 -0
- package/dist/{chunk-YBVBDVQX.cjs → chunk-GE45EHTG.cjs} +18 -18
- package/dist/{chunk-YBVBDVQX.cjs.map → chunk-GE45EHTG.cjs.map} +1 -1
- package/dist/{chunk-PGKZBAJB.js → chunk-KIDUTH2V.js} +9 -11
- package/dist/chunk-KIDUTH2V.js.map +1 -0
- package/dist/{chunk-TAI23FCY.js → chunk-KVNXCL2Y.js} +8 -9
- package/dist/chunk-KVNXCL2Y.js.map +1 -0
- package/dist/{chunk-W3PSIIMN.cjs → chunk-LM7DVT7C.cjs} +2 -2
- package/dist/{chunk-W3PSIIMN.cjs.map → chunk-LM7DVT7C.cjs.map} +1 -1
- package/dist/{chunk-Y6ZNWC7E.cjs → chunk-OYRORWS2.cjs} +13 -14
- package/dist/chunk-OYRORWS2.cjs.map +1 -0
- package/dist/{chunk-OZL5ABLF.js → chunk-PLUMPQA4.js} +6 -9
- package/dist/chunk-PLUMPQA4.js.map +1 -0
- package/dist/{chunk-323R76RZ.js → chunk-PTBGTGFG.js} +3 -3
- package/dist/{chunk-323R76RZ.js.map → chunk-PTBGTGFG.js.map} +1 -1
- package/dist/{chunk-BWWND4Y7.js → chunk-QQLGNNZI.js} +3 -3
- package/dist/{chunk-BWWND4Y7.js.map → chunk-QQLGNNZI.js.map} +1 -1
- package/dist/{chunk-UDMII47W.cjs → chunk-SU374FEM.cjs} +10 -13
- package/dist/chunk-SU374FEM.cjs.map +1 -0
- package/dist/{chunk-APXW5XGA.js → chunk-TJJE3XOO.js} +3 -3
- package/dist/{chunk-APXW5XGA.js.map → chunk-TJJE3XOO.js.map} +1 -1
- package/dist/{chunk-ZIQGSFHG.cjs → chunk-VSABGETQ.cjs} +5 -5
- package/dist/{chunk-ZIQGSFHG.cjs.map → chunk-VSABGETQ.cjs.map} +1 -1
- package/dist/{chunk-SBVOYSOO.js → chunk-WH2BIMAZ.js} +3 -3
- package/dist/{chunk-SBVOYSOO.js.map → chunk-WH2BIMAZ.js.map} +1 -1
- package/dist/{chunk-F73EZQT4.cjs → chunk-WJEJF5NT.cjs} +242 -3
- package/dist/chunk-WJEJF5NT.cjs.map +1 -0
- package/dist/{chunk-W5D5GFP2.js → chunk-WLA3DA62.js} +281 -71
- package/dist/chunk-WLA3DA62.js.map +1 -0
- package/dist/{chunk-ZDZY6OPL.cjs → chunk-XUEJYHEP.cjs} +3 -3
- package/dist/{chunk-ZDZY6OPL.cjs.map → chunk-XUEJYHEP.cjs.map} +1 -1
- package/dist/{chunk-NDVLCOWS.js → chunk-Z6LX4ZGL.js} +31 -13
- package/dist/chunk-Z6LX4ZGL.js.map +1 -0
- package/dist/connect/docx.cjs +13 -13
- package/dist/connect/docx.js +9 -9
- package/dist/connect/index.cjs +609 -655
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +1 -0
- package/dist/connect/index.js +210 -257
- package/dist/connect/index.js.map +1 -1
- package/dist/connect/viewer.cjs +10 -10
- package/dist/connect/viewer.js +9 -9
- package/dist/connection/ConnectedWorkflowBuilder.d.ts +1 -4
- package/dist/connection/ConnectedWorkflowHistory.d.ts +1 -4
- package/dist/connection/ConnectedWorkflowRunner.d.ts +3 -4
- package/dist/connection/ConnectedWorkflowsTable.d.ts +5 -4
- package/dist/connection/conversation/ConnectedMessageArea.d.ts +2 -0
- package/dist/connection/conversation/ConnectedMessageList.d.ts +4 -1
- package/dist/connection/embedded/EmbeddedChatPanel.d.ts +3 -1
- package/dist/connection/facts/ConnectedFactsPage.d.ts +8 -8
- package/dist/connection/facts/ConnectedFactsSmartSearch.d.ts +9 -0
- package/dist/connection/facts/types.d.ts +1 -6
- package/dist/connection/threads-page/ConnectedThreadsPage.d.ts +1 -4
- package/dist/connection/viewer/useImageCrop.d.ts +6 -3
- package/dist/connection/workflows/ConnectedWorkflowsPage.d.ts +4 -13
- package/dist/connection/workflows/support.d.ts +1 -1
- package/dist/dashboards/index.cjs +1 -1
- package/dist/dashboards/index.js +1 -1
- package/dist/embed/index.cjs +19 -11
- package/dist/embed/index.d.ts +2 -0
- package/dist/embed/index.js +8 -8
- package/dist/facts/index.cjs +70 -281
- package/dist/facts/index.cjs.map +1 -1
- package/dist/facts/index.js +9 -241
- package/dist/facts/index.js.map +1 -1
- package/dist/files/index.cjs +1 -1
- package/dist/files/index.js +1 -1
- package/dist/home/index.cjs +31 -31
- package/dist/home/index.js +4 -4
- package/dist/index.cjs +571 -575
- package/dist/index.js +20 -20
- package/dist/settings/index.cjs +2 -2
- package/dist/settings/index.js +2 -2
- package/dist/studio/index.cjs +2 -2
- package/dist/studio/index.js +2 -2
- package/dist/workflow-canvas/index.cjs +26 -31
- package/dist/workflow-canvas/index.cjs.map +1 -1
- package/dist/workflow-canvas/index.js +11 -16
- package/dist/workflow-canvas/index.js.map +1 -1
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ConnectedStreamedWordArtifact-5MHLV24V.js.map +0 -1
- package/dist/ConnectedStreamedWordArtifact-LNGW7YGV.cjs.map +0 -1
- package/dist/agents/tasks/TaskInbox.d.ts +0 -26
- package/dist/chunk-3VFQYKB5.cjs.map +0 -1
- package/dist/chunk-45Y7ASBC.cjs.map +0 -1
- package/dist/chunk-COZDIUG7.cjs.map +0 -1
- package/dist/chunk-F73EZQT4.cjs.map +0 -1
- package/dist/chunk-FHXXDPNU.cjs.map +0 -1
- package/dist/chunk-NDVLCOWS.js.map +0 -1
- package/dist/chunk-OZL5ABLF.js.map +0 -1
- package/dist/chunk-PGKZBAJB.js.map +0 -1
- package/dist/chunk-QUZPQWPX.js.map +0 -1
- package/dist/chunk-RFKAE6WS.js.map +0 -1
- package/dist/chunk-TAI23FCY.js.map +0 -1
- package/dist/chunk-UDMII47W.cjs.map +0 -1
- package/dist/chunk-W5D5GFP2.js.map +0 -1
- package/dist/chunk-Y6ZNWC7E.cjs.map +0 -1
package/dist/connect/index.cjs
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
16
|
+
var chunkWJEJF5NT_cjs = require('../chunk-WJEJF5NT.cjs');
|
|
17
17
|
var chunkXFL67STW_cjs = require('../chunk-XFL67STW.cjs');
|
|
18
|
-
var
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
75
|
+
var chunkOYRORWS2_cjs = require('../chunk-OYRORWS2.cjs');
|
|
76
76
|
require('../chunk-3YEXZX4H.cjs');
|
|
77
|
-
var
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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[
|
|
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(() =>
|
|
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(() =>
|
|
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(() =>
|
|
1461
|
+
const all = react$1.useMemo(() => chunkCCTNZ25D_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
|
|
1462
1462
|
const shown = react$1.useMemo(
|
|
1463
|
-
() =>
|
|
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:
|
|
1475
|
-
{ id: "mine", label:
|
|
1476
|
-
{ id: "shared", label:
|
|
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:
|
|
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
|
|
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
|
-
|
|
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(
|
|
1593
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.SkillViewToggle, { value: view, onChange: setView })
|
|
1594
1594
|
] }),
|
|
1595
1595
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1596
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 ? `${
|
|
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
|
-
|
|
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
|
-
|
|
1719
|
+
chunkCCTNZ25D_cjs.SkillLibraryDetail,
|
|
1720
1720
|
{
|
|
1721
1721
|
skill: current,
|
|
1722
1722
|
icon,
|
|
1723
|
-
instructions: current.docExtId ? currentText ?
|
|
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 =
|
|
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 =
|
|
1772
|
+
const slug = chunkCCTNZ25D_cjs.skillSlug(name);
|
|
1773
1773
|
try {
|
|
1774
|
-
await onSave(slug,
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
1897
|
-
templates =
|
|
1898
|
-
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 ?
|
|
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 (!
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
2034
|
+
chunkCCTNZ25D_cjs.AgentAvatarField,
|
|
2035
2035
|
{
|
|
2036
2036
|
picture,
|
|
2037
2037
|
isBusy: avatarBusy,
|
|
2038
|
-
canGenerate: isEdit ||
|
|
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(
|
|
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(
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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(() =>
|
|
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
|
-
|
|
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] ?
|
|
2796
|
+
const progress = agentTasks[0] ? chunkCCTNZ25D_cjs.goalProgress(agentTasks[0]) : null;
|
|
2797
2797
|
const name = displayName(agent);
|
|
2798
2798
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2799
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
3374
|
-
const blob = format === "docx" ? new Blob([
|
|
3375
|
-
documentTools.downloadBlob(blob,
|
|
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:
|
|
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
|
-
|
|
3931
|
+
chunkVSABGETQ_cjs.entitiesPhrase().toLowerCase(),
|
|
3932
3932
|
" from ",
|
|
3933
|
-
|
|
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:
|
|
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:
|
|
4053
|
+
labels: chunkVSABGETQ_cjs.tagTableLabels(tag.kind),
|
|
4054
4054
|
testId: "tags-rows"
|
|
4055
4055
|
}
|
|
4056
4056
|
),
|
|
4057
4057
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4058
|
-
|
|
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:
|
|
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:
|
|
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 =
|
|
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 ${
|
|
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 ${
|
|
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
|
-
|
|
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 =
|
|
4205
|
+
const n = chunkVSABGETQ_cjs.tagsPageNouns();
|
|
4206
4206
|
const action = view === "person" || view === "organisation" ? {
|
|
4207
4207
|
label: "Extract",
|
|
4208
|
-
title: `Extract ${
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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(
|
|
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 =
|
|
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:
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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:
|
|
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(
|
|
12884
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkCCTNZ25D_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkCCTNZ25D_cjs.ConsentCard, { size: "md", children: [
|
|
12794
12885
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12795
|
-
|
|
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(
|
|
12803
|
-
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12804
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
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
|
-
|
|
12897
|
+
chunkCCTNZ25D_cjs.ConsentBulletList,
|
|
12807
12898
|
{
|
|
12808
12899
|
items: [
|
|
12809
12900
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12810
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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 } =
|
|
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
|
-
|
|
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 =
|
|
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 } =
|
|
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(
|
|
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 } =
|
|
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 ?
|
|
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 ? [
|
|
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(
|
|
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(
|
|
17973
|
-
start && /* @__PURE__ */ jsxRuntime.jsx(
|
|
17974
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
17975
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17976
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
18129
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkEG6YBT7G_cjs.DashboardColumns, { children: [
|
|
18039
18130
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
18040
|
-
|
|
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
|
-
|
|
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 =
|
|
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}: ${
|
|
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: ${
|
|
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:
|
|
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(
|
|
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(
|
|
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(
|
|
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:
|
|
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) =>
|
|
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 ?
|
|
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 =
|
|
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(
|
|
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(
|
|
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." :
|
|
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 :
|
|
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:
|
|
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(
|
|
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:
|
|
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(
|
|
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:
|
|
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: ${
|
|
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(
|
|
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) =>
|
|
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(() =>
|
|
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:
|
|
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(() =>
|
|
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(
|
|
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
|
-
|
|
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 ?
|
|
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 =
|
|
21625
|
+
const allDay = chunkLM7DVT7C_cjs.isAllDayDraft(draft);
|
|
21535
21626
|
const range = react$1.useMemo(() => {
|
|
21536
21627
|
try {
|
|
21537
|
-
const { startMs, endMs } =
|
|
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 ?
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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:
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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:
|
|
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 =
|
|
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
|
-
|
|
22320
|
+
chunkLM7DVT7C_cjs.conferenceUrl(e) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22230
22321
|
ui.Button,
|
|
22231
22322
|
{
|
|
22232
22323
|
type: "button",
|
|
22233
22324
|
size: "sm",
|
|
22234
|
-
variant:
|
|
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,
|
|
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
|
-
|
|
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 ?
|
|
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) =>
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 || !
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 (!
|
|
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 } =
|
|
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 =
|
|
22616
|
-
if (calls && draft.conference?.url &&
|
|
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(
|
|
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 (
|
|
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 =
|
|
22735
|
+
const problem = chunkLM7DVT7C_cjs.validateDraft(editor.draft, zone);
|
|
22645
22736
|
if (problem) {
|
|
22646
|
-
setEditor({ ...editor, error:
|
|
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(
|
|
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 } =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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: () =>
|
|
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
|
-
|
|
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:
|
|
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" &&
|
|
23083
|
+
onOpenMeetingChat: calls && selectedEvent.conference?.type === "arbi" && chunkLM7DVT7C_cjs.conferenceUrl(selectedEvent) ? () => {
|
|
22993
23084
|
setSelected(null);
|
|
22994
|
-
calls.openChat(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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 ?
|
|
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 ?
|
|
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." :
|
|
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:
|
|
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(() =>
|
|
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(
|
|
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:
|
|
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 ?
|
|
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:
|
|
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:
|
|
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(`${
|
|
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-
|
|
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(
|
|
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 } =
|
|
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
|
-
|
|
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 =
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
31790
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunk7TOBKEOV_cjs.ConnectedUserEntity, { user, size: "sm", variant: "pill" });
|
|
31709
31791
|
case "member":
|
|
31710
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
32780
|
+
chunkCCTNZ25D_cjs.AgentCreatedView,
|
|
32699
32781
|
{
|
|
32700
32782
|
email: result.email,
|
|
32701
32783
|
signingKey: result.signingKey,
|
|
32702
|
-
instructions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
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
|
-
|
|
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
|
-
[
|
|
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 !==
|
|
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(() =>
|
|
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 } =
|
|
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") ||
|
|
34564
|
-
const matching =
|
|
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 ===
|
|
34689
|
+
if (workflow.id === chunkCCTNZ25D_cjs.ANNOTATE_ID) {
|
|
34608
34690
|
await annotate(launch);
|
|
34609
|
-
|
|
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
|
-
|
|
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 =
|
|
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(() =>
|
|
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 !==
|
|
34703
|
-
const derived =
|
|
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
|
-
|
|
34791
|
+
chunkSU374FEM_cjs.ConnectedWorkflowLauncher,
|
|
34710
34792
|
{
|
|
34711
34793
|
...rest,
|
|
34712
34794
|
workflows,
|
|
34713
34795
|
onLaunch,
|
|
34714
|
-
renderIcon:
|
|
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 ===
|
|
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 !==
|
|
34722
|
-
const name = String(inputs.name ?? "").trim() ||
|
|
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 } =
|
|
34841
|
+
const { skills } = chunk7ZVL44YM_cjs.useWorkflowDefinitions();
|
|
34760
34842
|
const launch = react$1.useCallback(
|
|
34761
|
-
(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 =
|
|
34791
|
-
const close =
|
|
34792
|
-
const { skills } =
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 ?
|
|
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
|
-
|
|
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
|
-
|
|
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 ?
|
|
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
|
|
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 =
|
|
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
|
-
|
|
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 } =
|
|
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:
|
|
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 } =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
36279
|
+
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkCCTNZ25D_cjs.AgentBarNotes, { children: [
|
|
36198
36280
|
queuedNotes.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
36199
|
-
|
|
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(
|
|
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
|
|
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
|
|
36474
|
+
const [topbarFilterQuery] = react.useTransientView("topbar.filter", "");
|
|
36403
36475
|
const currentUserExtId = react.useArbiSession().user?.external_id;
|
|
36404
|
-
const
|
|
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
|
|
36445
|
-
|
|
36446
|
-
|
|
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 (
|
|
36454
|
-
setBusyId(task.external_id);
|
|
36495
|
+
const act = async (action, success, failure) => {
|
|
36455
36496
|
try {
|
|
36456
36497
|
await action();
|
|
36457
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
"
|
|
36645
|
-
|
|
36646
|
-
|
|
36647
|
-
|
|
36648
|
-
|
|
36649
|
-
|
|
36650
|
-
|
|
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
|
-
|
|
36653
|
-
|
|
36654
|
-
|
|
36655
|
-
|
|
36656
|
-
|
|
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
|
-
|
|
36737
|
-
|
|
36738
|
-
|
|
36667
|
+
renderLabels: threadLabels.renderLabels,
|
|
36668
|
+
labelText: threadLabels.labelText,
|
|
36669
|
+
renderBy: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
36670
|
+
chunkCCTNZ25D_cjs.ConversationTurnSpeaker,
|
|
36739
36671
|
{
|
|
36740
|
-
|
|
36741
|
-
|
|
36742
|
-
|
|
36743
|
-
|
|
36744
|
-
|
|
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
|
-
|
|
36749
|
-
|
|
36750
|
-
|
|
36751
|
-
|
|
36752
|
-
|
|
36753
|
-
|
|
36754
|
-
|
|
36755
|
-
|
|
36756
|
-
|
|
36757
|
-
|
|
36758
|
-
|
|
36759
|
-
|
|
36760
|
-
|
|
36761
|
-
|
|
36762
|
-
|
|
36763
|
-
|
|
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 =
|
|
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(
|
|
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:
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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 =
|
|
38179
|
-
const { onRecovered: onSiteRecovered } =
|
|
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 =
|
|
38268
|
+
const sso = chunk7TOBKEOV_cjs.useSsoSignIn();
|
|
38316
38269
|
const { notify: notify17 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
|
|
38317
|
-
const { onVerificationFailed } =
|
|
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(
|
|
38307
|
+
return layout === "compact" ? /* @__PURE__ */ jsxRuntime.jsx(chunk7TOBKEOV_cjs.CompactLogin, { ...compact }) : /* @__PURE__ */ jsxRuntime.jsx(LoginPage, {});
|
|
38355
38308
|
}
|
|
38356
38309
|
function LoginPage() {
|
|
38357
|
-
const sso =
|
|
38358
|
-
const auth =
|
|
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 =
|
|
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
|
-
} =
|
|
38355
|
+
} = chunk7TOBKEOV_cjs.useLoginActions({
|
|
38403
38356
|
formState,
|
|
38404
38357
|
formActions: formState
|
|
38405
38358
|
});
|
|
38406
|
-
const { isDisabled: isRegisterSubmitDisabled } =
|
|
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(
|
|
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 =
|
|
38914
|
+
const sso = chunk7TOBKEOV_cjs.useSsoSignIn();
|
|
38962
38915
|
const { isAuthenticated: isAuthenticated2, isLoading, user } = sso;
|
|
38963
|
-
const auth =
|
|
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(() =>
|
|
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
|
|
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
|
|
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 =
|
|
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(
|
|
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(
|
|
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(
|
|
39857
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
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(
|
|
39863
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39864
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
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(
|
|
39874
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
39875
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
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(
|
|
39881
|
-
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
39882
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39883
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
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(
|
|
40209
|
-
const setShowHints = (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
|
-
|
|
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 } =
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
|
40580
|
+
get: function () { return chunk7ZVL44YM_cjs.ConnectedTaskActivityDialog; }
|
|
40628
40581
|
});
|
|
40629
40582
|
Object.defineProperty(exports, "ConnectedTaskComposer", {
|
|
40630
40583
|
enumerable: true,
|
|
40631
|
-
get: function () { return
|
|
40584
|
+
get: function () { return chunk7ZVL44YM_cjs.ConnectedTaskComposer; }
|
|
40632
40585
|
});
|
|
40633
40586
|
Object.defineProperty(exports, "ConnectedThreadTaskBar", {
|
|
40634
40587
|
enumerable: true,
|
|
40635
|
-
get: function () { return
|
|
40588
|
+
get: function () { return chunk7ZVL44YM_cjs.ConnectedThreadTaskBar; }
|
|
40636
40589
|
});
|
|
40637
40590
|
Object.defineProperty(exports, "ConnectedWorkflowHistory", {
|
|
40638
40591
|
enumerable: true,
|
|
40639
|
-
get: function () { return
|
|
40592
|
+
get: function () { return chunk7ZVL44YM_cjs.ConnectedWorkflowHistory; }
|
|
40640
40593
|
});
|
|
40641
40594
|
Object.defineProperty(exports, "ConnectedWorkflowRunner", {
|
|
40642
40595
|
enumerable: true,
|
|
40643
|
-
get: function () { return
|
|
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
|
|
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
|
|
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
|
|
40608
|
+
get: function () { return chunk7ZVL44YM_cjs.WorkflowRunThread; }
|
|
40656
40609
|
});
|
|
40657
40610
|
Object.defineProperty(exports, "WorkflowRunWorkspaceChangedError", {
|
|
40658
40611
|
enumerable: true,
|
|
40659
|
-
get: function () { return
|
|
40612
|
+
get: function () { return chunk7ZVL44YM_cjs.WorkflowRunWorkspaceChangedError; }
|
|
40660
40613
|
});
|
|
40661
40614
|
Object.defineProperty(exports, "buildProjectSummaries", {
|
|
40662
40615
|
enumerable: true,
|
|
40663
|
-
get: function () { return
|
|
40616
|
+
get: function () { return chunk7ZVL44YM_cjs.buildProjectSummaries; }
|
|
40664
40617
|
});
|
|
40665
40618
|
Object.defineProperty(exports, "primaryProjectWorkspace", {
|
|
40666
40619
|
enumerable: true,
|
|
40667
|
-
get: function () { return
|
|
40620
|
+
get: function () { return chunk7ZVL44YM_cjs.primaryProjectWorkspace; }
|
|
40668
40621
|
});
|
|
40669
40622
|
Object.defineProperty(exports, "useEnsureRequiredLabels", {
|
|
40670
40623
|
enumerable: true,
|
|
40671
|
-
get: function () { return
|
|
40624
|
+
get: function () { return chunk7ZVL44YM_cjs.useEnsureRequiredLabels; }
|
|
40672
40625
|
});
|
|
40673
40626
|
Object.defineProperty(exports, "useProjectSummaries", {
|
|
40674
40627
|
enumerable: true,
|
|
40675
|
-
get: function () { return
|
|
40628
|
+
get: function () { return chunk7ZVL44YM_cjs.useProjectSummaries; }
|
|
40676
40629
|
});
|
|
40677
40630
|
Object.defineProperty(exports, "useProjectSummary", {
|
|
40678
40631
|
enumerable: true,
|
|
40679
|
-
get: function () { return
|
|
40632
|
+
get: function () { return chunk7ZVL44YM_cjs.useProjectSummary; }
|
|
40680
40633
|
});
|
|
40681
40634
|
Object.defineProperty(exports, "useRenderTaskPerson", {
|
|
40682
40635
|
enumerable: true,
|
|
40683
|
-
get: function () { return
|
|
40636
|
+
get: function () { return chunk7ZVL44YM_cjs.useRenderTaskPerson; }
|
|
40684
40637
|
});
|
|
40685
40638
|
Object.defineProperty(exports, "useRequiredLabels", {
|
|
40686
40639
|
enumerable: true,
|
|
40687
|
-
get: function () { return
|
|
40640
|
+
get: function () { return chunk7ZVL44YM_cjs.useRequiredLabels; }
|
|
40688
40641
|
});
|
|
40689
40642
|
Object.defineProperty(exports, "useSkillsEnabled", {
|
|
40690
40643
|
enumerable: true,
|
|
40691
|
-
get: function () { return
|
|
40644
|
+
get: function () { return chunk7ZVL44YM_cjs.useSkillsEnabled; }
|
|
40692
40645
|
});
|
|
40693
40646
|
Object.defineProperty(exports, "useTaskPeople", {
|
|
40694
40647
|
enumerable: true,
|
|
40695
|
-
get: function () { return
|
|
40648
|
+
get: function () { return chunk7ZVL44YM_cjs.useTaskPeople; }
|
|
40696
40649
|
});
|
|
40697
40650
|
Object.defineProperty(exports, "useWorkflowDefinitions", {
|
|
40698
40651
|
enumerable: true,
|
|
40699
|
-
get: function () { return
|
|
40652
|
+
get: function () { return chunk7ZVL44YM_cjs.useWorkflowDefinitions; }
|
|
40700
40653
|
});
|
|
40701
40654
|
Object.defineProperty(exports, "useWorkflowTasks", {
|
|
40702
40655
|
enumerable: true,
|
|
40703
|
-
get: function () { return
|
|
40656
|
+
get: function () { return chunk7ZVL44YM_cjs.useWorkflowTasks; }
|
|
40704
40657
|
});
|
|
40705
40658
|
Object.defineProperty(exports, "useWorkflowsPageState", {
|
|
40706
40659
|
enumerable: true,
|
|
40707
|
-
get: function () { return
|
|
40660
|
+
get: function () { return chunk7ZVL44YM_cjs.useWorkflowsPageState; }
|
|
40708
40661
|
});
|
|
40709
40662
|
Object.defineProperty(exports, "workflowRunView", {
|
|
40710
40663
|
enumerable: true,
|
|
40711
|
-
get: function () { return
|
|
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
|
|
40700
|
+
get: function () { return chunk7TOBKEOV_cjs.AgentSteps; }
|
|
40748
40701
|
});
|
|
40749
40702
|
Object.defineProperty(exports, "AnswerTable", {
|
|
40750
40703
|
enumerable: true,
|
|
40751
|
-
get: function () { return
|
|
40704
|
+
get: function () { return chunk7TOBKEOV_cjs.AnswerTable; }
|
|
40752
40705
|
});
|
|
40753
40706
|
Object.defineProperty(exports, "ArbiChat", {
|
|
40754
40707
|
enumerable: true,
|
|
40755
|
-
get: function () { return
|
|
40708
|
+
get: function () { return chunk7TOBKEOV_cjs.ArbiChat; }
|
|
40756
40709
|
});
|
|
40757
40710
|
Object.defineProperty(exports, "AskAgainContext", {
|
|
40758
40711
|
enumerable: true,
|
|
40759
|
-
get: function () { return
|
|
40712
|
+
get: function () { return chunk7TOBKEOV_cjs.AskAgainContext; }
|
|
40760
40713
|
});
|
|
40761
40714
|
Object.defineProperty(exports, "ConnectedBranchControls", {
|
|
40762
40715
|
enumerable: true,
|
|
40763
|
-
get: function () { return
|
|
40716
|
+
get: function () { return chunk7TOBKEOV_cjs.ConnectedBranchControls; }
|
|
40764
40717
|
});
|
|
40765
40718
|
Object.defineProperty(exports, "ConnectedCitationRenderer", {
|
|
40766
40719
|
enumerable: true,
|
|
40767
|
-
get: function () { return
|
|
40720
|
+
get: function () { return chunk7TOBKEOV_cjs.ConnectedCitationRenderer; }
|
|
40768
40721
|
});
|
|
40769
40722
|
Object.defineProperty(exports, "ConnectedCompactConversation", {
|
|
40770
40723
|
enumerable: true,
|
|
40771
|
-
get: function () { return
|
|
40724
|
+
get: function () { return chunk7TOBKEOV_cjs.ConnectedCompactConversation; }
|
|
40772
40725
|
});
|
|
40773
40726
|
Object.defineProperty(exports, "ConnectedConversationDocumentPicker", {
|
|
40774
40727
|
enumerable: true,
|
|
40775
|
-
get: function () { return
|
|
40728
|
+
get: function () { return chunk7TOBKEOV_cjs.ConnectedConversationDocumentPicker; }
|
|
40776
40729
|
});
|
|
40777
40730
|
Object.defineProperty(exports, "ConnectedEmbeddedChat", {
|
|
40778
40731
|
enumerable: true,
|
|
40779
|
-
get: function () { return
|
|
40732
|
+
get: function () { return chunk7TOBKEOV_cjs.ConnectedEmbeddedChat; }
|
|
40780
40733
|
});
|
|
40781
40734
|
Object.defineProperty(exports, "ConnectedMessage", {
|
|
40782
40735
|
enumerable: true,
|
|
40783
|
-
get: function () { return
|
|
40736
|
+
get: function () { return chunk7TOBKEOV_cjs.ConnectedMessage; }
|
|
40784
40737
|
});
|
|
40785
40738
|
Object.defineProperty(exports, "ConnectedMessageArea", {
|
|
40786
40739
|
enumerable: true,
|
|
40787
|
-
get: function () { return
|
|
40740
|
+
get: function () { return chunk7TOBKEOV_cjs.ConnectedMessageArea; }
|
|
40788
40741
|
});
|
|
40789
40742
|
Object.defineProperty(exports, "ConnectedMessageList", {
|
|
40790
40743
|
enumerable: true,
|
|
40791
|
-
get: function () { return
|
|
40744
|
+
get: function () { return chunk7TOBKEOV_cjs.ConnectedMessageList; }
|
|
40792
40745
|
});
|
|
40793
40746
|
Object.defineProperty(exports, "ConnectedThreadsPreview", {
|
|
40794
40747
|
enumerable: true,
|
|
40795
|
-
get: function () { return
|
|
40748
|
+
get: function () { return chunk7TOBKEOV_cjs.ConnectedThreadsPreview; }
|
|
40796
40749
|
});
|
|
40797
40750
|
Object.defineProperty(exports, "ConnectedUserEntity", {
|
|
40798
40751
|
enumerable: true,
|
|
40799
|
-
get: function () { return
|
|
40752
|
+
get: function () { return chunk7TOBKEOV_cjs.ConnectedUserEntity; }
|
|
40800
40753
|
});
|
|
40801
40754
|
Object.defineProperty(exports, "ConversationComposer", {
|
|
40802
40755
|
enumerable: true,
|
|
40803
|
-
get: function () { return
|
|
40756
|
+
get: function () { return chunk7TOBKEOV_cjs.ConversationComposer; }
|
|
40804
40757
|
});
|
|
40805
40758
|
Object.defineProperty(exports, "EmbeddedChatPanel", {
|
|
40806
40759
|
enumerable: true,
|
|
40807
|
-
get: function () { return
|
|
40760
|
+
get: function () { return chunk7TOBKEOV_cjs.EmbeddedChatPanel; }
|
|
40808
40761
|
});
|
|
40809
40762
|
Object.defineProperty(exports, "MessageDetailsModal", {
|
|
40810
40763
|
enumerable: true,
|
|
40811
|
-
get: function () { return
|
|
40764
|
+
get: function () { return chunk7TOBKEOV_cjs.MessageDetailsModal; }
|
|
40812
40765
|
});
|
|
40813
40766
|
Object.defineProperty(exports, "MessageLiveSeconds", {
|
|
40814
40767
|
enumerable: true,
|
|
40815
|
-
get: function () { return
|
|
40768
|
+
get: function () { return chunk7TOBKEOV_cjs.MessageLiveSeconds; }
|
|
40816
40769
|
});
|
|
40817
40770
|
Object.defineProperty(exports, "RunningSubagents", {
|
|
40818
40771
|
enumerable: true,
|
|
40819
|
-
get: function () { return
|
|
40772
|
+
get: function () { return chunk7TOBKEOV_cjs.RunningSubagents; }
|
|
40820
40773
|
});
|
|
40821
40774
|
Object.defineProperty(exports, "SourceChips", {
|
|
40822
40775
|
enumerable: true,
|
|
40823
|
-
get: function () { return
|
|
40776
|
+
get: function () { return chunk7TOBKEOV_cjs.SourceChips; }
|
|
40824
40777
|
});
|
|
40825
40778
|
Object.defineProperty(exports, "WorkflowStepMessage", {
|
|
40826
40779
|
enumerable: true,
|
|
40827
|
-
get: function () { return
|
|
40780
|
+
get: function () { return chunk7TOBKEOV_cjs.WorkflowStepMessage; }
|
|
40828
40781
|
});
|
|
40829
40782
|
Object.defineProperty(exports, "backUpOnSignup", {
|
|
40830
40783
|
enumerable: true,
|
|
40831
|
-
get: function () { return
|
|
40784
|
+
get: function () { return chunk7TOBKEOV_cjs.backUpOnSignup; }
|
|
40832
40785
|
});
|
|
40833
40786
|
Object.defineProperty(exports, "defaultHost", {
|
|
40834
40787
|
enumerable: true,
|
|
40835
|
-
get: function () { return
|
|
40788
|
+
get: function () { return chunk7TOBKEOV_cjs.defaultHost; }
|
|
40836
40789
|
});
|
|
40837
40790
|
Object.defineProperty(exports, "renderConnectedUser", {
|
|
40838
40791
|
enumerable: true,
|
|
40839
|
-
get: function () { return
|
|
40792
|
+
get: function () { return chunk7TOBKEOV_cjs.renderConnectedUser; }
|
|
40840
40793
|
});
|
|
40841
40794
|
Object.defineProperty(exports, "resolveSsoName", {
|
|
40842
40795
|
enumerable: true,
|
|
40843
|
-
get: function () { return
|
|
40796
|
+
get: function () { return chunk7TOBKEOV_cjs.resolveSsoName; }
|
|
40844
40797
|
});
|
|
40845
40798
|
Object.defineProperty(exports, "useAuthPages", {
|
|
40846
40799
|
enumerable: true,
|
|
40847
|
-
get: function () { return
|
|
40800
|
+
get: function () { return chunk7TOBKEOV_cjs.useAuthPages; }
|
|
40848
40801
|
});
|
|
40849
40802
|
Object.defineProperty(exports, "useOpenChunk", {
|
|
40850
40803
|
enumerable: true,
|
|
40851
|
-
get: function () { return
|
|
40804
|
+
get: function () { return chunk7TOBKEOV_cjs.useOpenChunk; }
|
|
40852
40805
|
});
|
|
40853
40806
|
Object.defineProperty(exports, "useOpenWorkspaceIcon", {
|
|
40854
40807
|
enumerable: true,
|
|
40855
|
-
get: function () { return
|
|
40808
|
+
get: function () { return chunk7TOBKEOV_cjs.useOpenWorkspaceIcon; }
|
|
40856
40809
|
});
|
|
40857
40810
|
Object.defineProperty(exports, "useSlashItems", {
|
|
40858
40811
|
enumerable: true,
|
|
40859
|
-
get: function () { return
|
|
40812
|
+
get: function () { return chunk7TOBKEOV_cjs.useSlashItems; }
|
|
40860
40813
|
});
|
|
40861
40814
|
Object.defineProperty(exports, "useSsoSignIn", {
|
|
40862
40815
|
enumerable: true,
|
|
40863
|
-
get: function () { return
|
|
40816
|
+
get: function () { return chunk7TOBKEOV_cjs.useSsoSignIn; }
|
|
40864
40817
|
});
|
|
40865
40818
|
Object.defineProperty(exports, "useWorkspaceDocTitles", {
|
|
40866
40819
|
enumerable: true,
|
|
40867
|
-
get: function () { return
|
|
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
|
|
40900
|
+
get: function () { return chunkSU374FEM_cjs.ConnectedWorkflowDocumentsField; }
|
|
40948
40901
|
});
|
|
40949
40902
|
Object.defineProperty(exports, "ConnectedWorkflowLauncher", {
|
|
40950
40903
|
enumerable: true,
|
|
40951
|
-
get: function () { return
|
|
40904
|
+
get: function () { return chunkSU374FEM_cjs.ConnectedWorkflowLauncher; }
|
|
40952
40905
|
});
|
|
40953
40906
|
Object.defineProperty(exports, "ConnectedWorkflowsTable", {
|
|
40954
40907
|
enumerable: true,
|
|
40955
|
-
get: function () { return
|
|
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
|
|
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
|
|
40916
|
+
get: function () { return chunkSU374FEM_cjs.toWorkflowFieldDocument; }
|
|
40964
40917
|
});
|
|
40965
40918
|
Object.defineProperty(exports, "useConnectedAgentOptions", {
|
|
40966
40919
|
enumerable: true,
|
|
40967
|
-
get: function () { return
|
|
40920
|
+
get: function () { return chunkSU374FEM_cjs.useConnectedAgentOptions; }
|
|
40968
40921
|
});
|
|
40969
40922
|
Object.defineProperty(exports, "useConnectedWorkflowScopeSource", {
|
|
40970
40923
|
enumerable: true,
|
|
40971
|
-
get: function () { return
|
|
40924
|
+
get: function () { return chunkSU374FEM_cjs.useConnectedWorkflowScopeSource; }
|
|
40972
40925
|
});
|
|
40973
40926
|
Object.defineProperty(exports, "useConnectedWorkspaceRole", {
|
|
40974
40927
|
enumerable: true,
|
|
40975
|
-
get: function () { return
|
|
40928
|
+
get: function () { return chunkSU374FEM_cjs.useConnectedWorkspaceRole; }
|
|
40976
40929
|
});
|
|
40977
40930
|
Object.defineProperty(exports, "useDocxCommentTarget", {
|
|
40978
40931
|
enumerable: true,
|
|
40979
|
-
get: function () { return
|
|
40932
|
+
get: function () { return chunkSU374FEM_cjs.useDocxCommentTarget; }
|
|
40980
40933
|
});
|
|
40981
40934
|
Object.defineProperty(exports, "useNativeDocxSupport", {
|
|
40982
40935
|
enumerable: true,
|
|
40983
|
-
get: function () { return
|
|
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
|
|
40980
|
+
get: function () { return chunkEUGCT5MB_cjs.ConnectedMarkdown; }
|
|
41028
40981
|
});
|
|
41029
40982
|
Object.defineProperty(exports, "DocumentChip", {
|
|
41030
40983
|
enumerable: true,
|
|
41031
|
-
get: function () { return
|
|
40984
|
+
get: function () { return chunkEUGCT5MB_cjs.DocumentChip; }
|
|
41032
40985
|
});
|
|
41033
40986
|
Object.defineProperty(exports, "DocumentWorkspaceContext", {
|
|
41034
40987
|
enumerable: true,
|
|
41035
|
-
get: function () { return
|
|
40988
|
+
get: function () { return chunkEUGCT5MB_cjs.DocumentWorkspaceContext; }
|
|
41036
40989
|
});
|
|
41037
40990
|
Object.defineProperty(exports, "ExternalLink", {
|
|
41038
40991
|
enumerable: true,
|
|
41039
|
-
get: function () { return
|
|
40992
|
+
get: function () { return chunkEUGCT5MB_cjs.ExternalLink; }
|
|
41040
40993
|
});
|
|
41041
40994
|
Object.defineProperty(exports, "InternalDocLink", {
|
|
41042
40995
|
enumerable: true,
|
|
41043
|
-
get: function () { return
|
|
40996
|
+
get: function () { return chunkEUGCT5MB_cjs.InternalDocLink; }
|
|
41044
40997
|
});
|
|
41045
40998
|
Object.defineProperty(exports, "MailChip", {
|
|
41046
40999
|
enumerable: true,
|
|
41047
|
-
get: function () { return
|
|
41000
|
+
get: function () { return chunkEUGCT5MB_cjs.MailChip; }
|
|
41048
41001
|
});
|
|
41049
41002
|
Object.defineProperty(exports, "MermaidDiagram", {
|
|
41050
41003
|
enumerable: true,
|
|
41051
|
-
get: function () { return
|
|
41004
|
+
get: function () { return chunkEUGCT5MB_cjs.MermaidDiagram; }
|
|
41052
41005
|
});
|
|
41053
41006
|
Object.defineProperty(exports, "WorkspaceDocumentReference", {
|
|
41054
41007
|
enumerable: true,
|
|
41055
|
-
get: function () { return
|
|
41008
|
+
get: function () { return chunkEUGCT5MB_cjs.WorkspaceDocumentReference; }
|
|
41056
41009
|
});
|
|
41057
41010
|
Object.defineProperty(exports, "useDocumentWorkspace", {
|
|
41058
41011
|
enumerable: true,
|
|
41059
|
-
get: function () { return
|
|
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;
|