@arbidocs/blocks 0.5.96 → 0.5.97
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 +8 -1
- package/dist/{ConnectedCallDock-D4DG4VDA.cjs → ConnectedCallDock-HI2KMQZ3.cjs} +12 -12
- package/dist/{ConnectedCallDock-D4DG4VDA.cjs.map → ConnectedCallDock-HI2KMQZ3.cjs.map} +1 -1
- package/dist/{ConnectedCallDock-VVZUSFFK.js → ConnectedCallDock-Y64FTKFF.js} +11 -11
- package/dist/{ConnectedCallDock-VVZUSFFK.js.map → ConnectedCallDock-Y64FTKFF.js.map} +1 -1
- package/dist/{ConnectedCallRoom-EDHNAJHA.js → ConnectedCallRoom-LEBIJGFT.js} +11 -11
- package/dist/{ConnectedCallRoom-EDHNAJHA.js.map → ConnectedCallRoom-LEBIJGFT.js.map} +1 -1
- package/dist/{ConnectedCallRoom-VDQD25QW.cjs → ConnectedCallRoom-UXIJJKNG.cjs} +12 -12
- package/dist/{ConnectedCallRoom-VDQD25QW.cjs.map → ConnectedCallRoom-UXIJJKNG.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-IS27M6FV.js → ConnectedNativeDocxComparison-6KL5XI3L.js} +10 -10
- package/dist/{ConnectedNativeDocxComparison-IS27M6FV.js.map → ConnectedNativeDocxComparison-6KL5XI3L.js.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-ADQURGHU.cjs → ConnectedNativeDocxComparison-P346QOX5.cjs} +11 -11
- package/dist/{ConnectedNativeDocxComparison-ADQURGHU.cjs.map → ConnectedNativeDocxComparison-P346QOX5.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-7EQ6DE3Q.cjs → ConnectedNativeDocxEditor-7JHSQ6KI.cjs} +11 -11
- package/dist/{ConnectedNativeDocxEditor-7EQ6DE3Q.cjs.map → ConnectedNativeDocxEditor-7JHSQ6KI.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-JYXGX55F.js → ConnectedNativeDocxEditor-ATZ2TG2L.js} +9 -9
- package/dist/{ConnectedNativeDocxEditor-JYXGX55F.js.map → ConnectedNativeDocxEditor-ATZ2TG2L.js.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-IYAQ2L7G.cjs → ConnectedStreamedWordArtifact-5HI3WSAJ.cjs} +11 -11
- package/dist/ConnectedStreamedWordArtifact-5HI3WSAJ.cjs.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-KLLG6W5L.js → ConnectedStreamedWordArtifact-FHSGQHXQ.js} +10 -10
- package/dist/ConnectedStreamedWordArtifact-FHSGQHXQ.js.map +1 -0
- package/dist/{DocumentReviewCard-FEVDNY6U.js → DocumentReviewCard-7UFQGDOG.js} +6 -6
- package/dist/{DocumentReviewCard-FEVDNY6U.js.map → DocumentReviewCard-7UFQGDOG.js.map} +1 -1
- package/dist/{DocumentReviewCard-3H66FMMO.cjs → DocumentReviewCard-E3HB3K2G.cjs} +6 -6
- package/dist/{DocumentReviewCard-3H66FMMO.cjs.map → DocumentReviewCard-E3HB3K2G.cjs.map} +1 -1
- package/dist/{FilesViewerDialog-DSK5HMLL.cjs → FilesViewerDialog-3KWTQARB.cjs} +12 -12
- package/dist/{FilesViewerDialog-DSK5HMLL.cjs.map → FilesViewerDialog-3KWTQARB.cjs.map} +1 -1
- package/dist/{FilesViewerDialog-HL4E57K5.js → FilesViewerDialog-EQKBFAWI.js} +10 -10
- package/dist/{FilesViewerDialog-HL4E57K5.js.map → FilesViewerDialog-EQKBFAWI.js.map} +1 -1
- package/dist/{WorkspaceTableView-X3KZ7YFI.js → WorkspaceTableView-DYABS53K.js} +6 -6
- package/dist/{WorkspaceTableView-X3KZ7YFI.js.map → WorkspaceTableView-DYABS53K.js.map} +1 -1
- package/dist/{WorkspaceTableView-5DWNJN6J.cjs → WorkspaceTableView-ZIQ7JWT5.cjs} +8 -8
- package/dist/{WorkspaceTableView-5DWNJN6J.cjs.map → WorkspaceTableView-ZIQ7JWT5.cjs.map} +1 -1
- package/dist/agents/index.cjs +255 -255
- package/dist/agents/index.js +5 -5
- package/dist/agents/workflows/WorkflowStepAction.d.ts +9 -2
- package/dist/agents/workflows/requiredLabels.d.ts +7 -2
- package/dist/calls/index.cjs +2 -2
- package/dist/calls/index.js +2 -2
- package/dist/{chunk-VSZPY4LK.js → chunk-42IVGYNL.js} +5 -5
- package/dist/{chunk-VSZPY4LK.js.map → chunk-42IVGYNL.js.map} +1 -1
- package/dist/{chunk-GEUP5IV7.js → chunk-4LTDELP2.js} +3 -3
- package/dist/{chunk-GEUP5IV7.js.map → chunk-4LTDELP2.js.map} +1 -1
- package/dist/{chunk-HA27RMKD.js → chunk-4RCLA52C.js} +7 -7
- package/dist/{chunk-HA27RMKD.js.map → chunk-4RCLA52C.js.map} +1 -1
- package/dist/{chunk-6NMLRGUJ.cjs → chunk-6IS3IRUF.cjs} +4 -4
- package/dist/{chunk-6NMLRGUJ.cjs.map → chunk-6IS3IRUF.cjs.map} +1 -1
- package/dist/{chunk-KQUFEMPP.js → chunk-76O7J6IZ.js} +3 -3
- package/dist/{chunk-KQUFEMPP.js.map → chunk-76O7J6IZ.js.map} +1 -1
- package/dist/{chunk-5YIUHRTR.cjs → chunk-AINS6VU6.cjs} +4 -4
- package/dist/{chunk-5YIUHRTR.cjs.map → chunk-AINS6VU6.cjs.map} +1 -1
- package/dist/{chunk-ZA3ZELSH.cjs → chunk-CCALU47C.cjs} +5 -5
- package/dist/{chunk-ZA3ZELSH.cjs.map → chunk-CCALU47C.cjs.map} +1 -1
- package/dist/{chunk-BAJNXRI5.cjs → chunk-DDIV3MYQ.cjs} +5 -5
- package/dist/{chunk-BAJNXRI5.cjs.map → chunk-DDIV3MYQ.cjs.map} +1 -1
- package/dist/{chunk-ZJ3NII4U.cjs → chunk-ECCV4YOL.cjs} +9 -9
- package/dist/{chunk-ZJ3NII4U.cjs.map → chunk-ECCV4YOL.cjs.map} +1 -1
- package/dist/{chunk-S2CKH2LH.js → chunk-FNGFSHVE.js} +3 -3
- package/dist/{chunk-S2CKH2LH.js.map → chunk-FNGFSHVE.js.map} +1 -1
- package/dist/{chunk-CMMFXSTS.cjs → chunk-HXWBXYVN.cjs} +3 -3
- package/dist/{chunk-CMMFXSTS.cjs.map → chunk-HXWBXYVN.cjs.map} +1 -1
- package/dist/{chunk-NRE7ZR6M.js → chunk-ITK7GW7B.js} +3 -3
- package/dist/{chunk-NRE7ZR6M.js.map → chunk-ITK7GW7B.js.map} +1 -1
- package/dist/{chunk-FAKRTCAL.cjs → chunk-J4CXF4A7.cjs} +172 -14
- package/dist/chunk-J4CXF4A7.cjs.map +1 -0
- package/dist/{chunk-AS3HX7LL.js → chunk-K6UKLIRR.js} +3 -3
- package/dist/{chunk-AS3HX7LL.js.map → chunk-K6UKLIRR.js.map} +1 -1
- package/dist/{chunk-RMJNCYPD.js → chunk-KJLHFS7T.js} +3 -3
- package/dist/{chunk-RMJNCYPD.js.map → chunk-KJLHFS7T.js.map} +1 -1
- package/dist/{chunk-4DRLOAVD.js → chunk-LZI4EGOW.js} +209 -56
- package/dist/chunk-LZI4EGOW.js.map +1 -0
- package/dist/{chunk-6OXR4R6J.cjs → chunk-MMSHLHTA.cjs} +3 -3
- package/dist/{chunk-6OXR4R6J.cjs.map → chunk-MMSHLHTA.cjs.map} +1 -1
- package/dist/{chunk-VEK64VEE.js → chunk-N77UYRV7.js} +3 -3
- package/dist/{chunk-VEK64VEE.js.map → chunk-N77UYRV7.js.map} +1 -1
- package/dist/{chunk-64KZM3RZ.cjs → chunk-NZQZ2HFU.cjs} +3 -3
- package/dist/{chunk-64KZM3RZ.cjs.map → chunk-NZQZ2HFU.cjs.map} +1 -1
- package/dist/{chunk-7XVQATK2.cjs → chunk-OXHAUVK2.cjs} +3 -3
- package/dist/{chunk-7XVQATK2.cjs.map → chunk-OXHAUVK2.cjs.map} +1 -1
- package/dist/{chunk-YIKE2IY4.js → chunk-QSBPOYWA.js} +3 -3
- package/dist/{chunk-YIKE2IY4.js.map → chunk-QSBPOYWA.js.map} +1 -1
- package/dist/{chunk-NCGJKKGR.js → chunk-RQW2CFOQ.js} +9 -9
- package/dist/{chunk-NCGJKKGR.js.map → chunk-RQW2CFOQ.js.map} +1 -1
- package/dist/{chunk-DCNBNLWC.js → chunk-RZG4ALKZ.js} +4 -4
- package/dist/{chunk-DCNBNLWC.js.map → chunk-RZG4ALKZ.js.map} +1 -1
- package/dist/{chunk-O2ATVRRO.cjs → chunk-SDXK2COQ.cjs} +27 -27
- package/dist/{chunk-O2ATVRRO.cjs.map → chunk-SDXK2COQ.cjs.map} +1 -1
- package/dist/{chunk-CVYFX7AD.js → chunk-SEBNGA3F.js} +31 -15
- package/dist/chunk-SEBNGA3F.js.map +1 -0
- package/dist/{chunk-ZBQTFA5X.cjs → chunk-SYWJNSPS.cjs} +4 -4
- package/dist/{chunk-ZBQTFA5X.cjs.map → chunk-SYWJNSPS.cjs.map} +1 -1
- package/dist/{chunk-2JXJE7Y4.js → chunk-T7LLYVOW.js} +168 -10
- package/dist/chunk-T7LLYVOW.js.map +1 -0
- package/dist/{chunk-TANZTMPL.cjs → chunk-V2CNHRLZ.cjs} +4 -4
- package/dist/{chunk-TANZTMPL.cjs.map → chunk-V2CNHRLZ.cjs.map} +1 -1
- package/dist/{chunk-IMFE6FKN.cjs → chunk-WN7XPEYK.cjs} +7 -7
- package/dist/{chunk-IMFE6FKN.cjs.map → chunk-WN7XPEYK.cjs.map} +1 -1
- package/dist/{chunk-KVKKVSBT.cjs → chunk-XM4KRGCK.cjs} +252 -99
- package/dist/chunk-XM4KRGCK.cjs.map +1 -0
- package/dist/{chunk-MB2OXZEA.cjs → chunk-XTCNETMI.cjs} +4 -4
- package/dist/{chunk-MB2OXZEA.cjs.map → chunk-XTCNETMI.cjs.map} +1 -1
- package/dist/{chunk-4HMJQ66B.js → chunk-Y7UHKEVT.js} +4 -4
- package/dist/{chunk-4HMJQ66B.js.map → chunk-Y7UHKEVT.js.map} +1 -1
- package/dist/{chunk-CIXA5A65.cjs → chunk-YZ6YOOTF.cjs} +30 -14
- package/dist/chunk-YZ6YOOTF.cjs.map +1 -0
- package/dist/{chunk-QJVDQAYQ.js → chunk-Z4IPTLRS.js} +3 -3
- package/dist/{chunk-QJVDQAYQ.js.map → chunk-Z4IPTLRS.js.map} +1 -1
- package/dist/collaboration/index.cjs +1 -1
- package/dist/collaboration/index.js +1 -1
- package/dist/connect/docx.cjs +14 -14
- package/dist/connect/docx.js +10 -10
- package/dist/connect/index.cjs +680 -677
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.js +43 -40
- package/dist/connect/index.js.map +1 -1
- package/dist/connect/viewer.cjs +9 -9
- package/dist/connect/viewer.js +8 -8
- package/dist/connection/workflows/ConnectedWorkflowRunPage.d.ts +4 -3
- package/dist/connection/workflows/WorkflowRunPage.d.ts +18 -15
- package/dist/connection/workflows/index.d.ts +2 -1
- package/dist/connection/workflows/runProject.d.ts +47 -0
- package/dist/dashboards/index.cjs +1 -1
- package/dist/dashboards/index.js +1 -1
- package/dist/embed/index.cjs +19 -19
- package/dist/embed/index.js +13 -13
- package/dist/index.cjs +383 -383
- package/dist/index.js +12 -12
- package/dist/settings/index.cjs +151 -151
- package/dist/settings/index.js +2 -2
- package/dist/shell/index.cjs +33 -33
- package/dist/shell/index.js +3 -3
- package/dist/studio/index.cjs +5 -5
- package/dist/studio/index.js +4 -4
- package/dist/workflow-canvas/index.cjs +32 -32
- package/dist/workflow-canvas/index.js +17 -17
- package/dist/workspaces/index.cjs +8 -8
- package/dist/workspaces/index.js +1 -1
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ConnectedStreamedWordArtifact-IYAQ2L7G.cjs.map +0 -1
- package/dist/ConnectedStreamedWordArtifact-KLLG6W5L.js.map +0 -1
- package/dist/chunk-2JXJE7Y4.js.map +0 -1
- package/dist/chunk-4DRLOAVD.js.map +0 -1
- package/dist/chunk-CIXA5A65.cjs.map +0 -1
- package/dist/chunk-CVYFX7AD.js.map +0 -1
- package/dist/chunk-FAKRTCAL.cjs.map +0 -1
- package/dist/chunk-KVKKVSBT.cjs.map +0 -1
package/dist/connect/index.cjs
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunk3532KA6K_cjs = require('../chunk-3532KA6K.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkDDIV3MYQ_cjs = require('../chunk-DDIV3MYQ.cjs');
|
|
6
6
|
var chunkWVEYUH6C_cjs = require('../chunk-WVEYUH6C.cjs');
|
|
7
7
|
var chunkTBARSVW7_cjs = require('../chunk-TBARSVW7.cjs');
|
|
8
8
|
var chunkPSIKUQYM_cjs = require('../chunk-PSIKUQYM.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunkNZQZ2HFU_cjs = require('../chunk-NZQZ2HFU.cjs');
|
|
10
|
+
var chunkXM4KRGCK_cjs = require('../chunk-XM4KRGCK.cjs');
|
|
10
11
|
var chunkC5CWKZ5D_cjs = require('../chunk-C5CWKZ5D.cjs');
|
|
11
|
-
var
|
|
12
|
-
var chunkCIXA5A65_cjs = require('../chunk-CIXA5A65.cjs');
|
|
12
|
+
var chunkYZ6YOOTF_cjs = require('../chunk-YZ6YOOTF.cjs');
|
|
13
13
|
var chunkKWJW5TMH_cjs = require('../chunk-KWJW5TMH.cjs');
|
|
14
|
-
var
|
|
15
|
-
var
|
|
14
|
+
var chunkSDXK2COQ_cjs = require('../chunk-SDXK2COQ.cjs');
|
|
15
|
+
var chunkXTCNETMI_cjs = require('../chunk-XTCNETMI.cjs');
|
|
16
16
|
var chunkTZHLO7HF_cjs = require('../chunk-TZHLO7HF.cjs');
|
|
17
17
|
var chunkHDPT7D6F_cjs = require('../chunk-HDPT7D6F.cjs');
|
|
18
18
|
var chunkTJY7XPDE_cjs = require('../chunk-TJY7XPDE.cjs');
|
|
@@ -22,7 +22,7 @@ require('../chunk-UMMZNZV3.cjs');
|
|
|
22
22
|
require('../chunk-AEQT2QQX.cjs');
|
|
23
23
|
var chunkSFRKKPBB_cjs = require('../chunk-SFRKKPBB.cjs');
|
|
24
24
|
require('../chunk-XNW62J54.cjs');
|
|
25
|
-
var
|
|
25
|
+
var chunkECCV4YOL_cjs = require('../chunk-ECCV4YOL.cjs');
|
|
26
26
|
var chunk464YPRAE_cjs = require('../chunk-464YPRAE.cjs');
|
|
27
27
|
var chunkLCPU44GW_cjs = require('../chunk-LCPU44GW.cjs');
|
|
28
28
|
var chunkSIYNZR5B_cjs = require('../chunk-SIYNZR5B.cjs');
|
|
@@ -32,7 +32,7 @@ var chunkKJM5X7NX_cjs = require('../chunk-KJM5X7NX.cjs');
|
|
|
32
32
|
var chunkHEM27NA3_cjs = require('../chunk-HEM27NA3.cjs');
|
|
33
33
|
var chunk7E3SUV4J_cjs = require('../chunk-7E3SUV4J.cjs');
|
|
34
34
|
var chunkGFG7DCJ3_cjs = require('../chunk-GFG7DCJ3.cjs');
|
|
35
|
-
var
|
|
35
|
+
var chunkMMSHLHTA_cjs = require('../chunk-MMSHLHTA.cjs');
|
|
36
36
|
var chunk33MKOWSA_cjs = require('../chunk-33MKOWSA.cjs');
|
|
37
37
|
var chunk223D4727_cjs = require('../chunk-223D4727.cjs');
|
|
38
38
|
var chunkSNUBQMIS_cjs = require('../chunk-SNUBQMIS.cjs');
|
|
@@ -43,11 +43,11 @@ require('../chunk-JH6JTI76.cjs');
|
|
|
43
43
|
var chunkQQMMCXBP_cjs = require('../chunk-QQMMCXBP.cjs');
|
|
44
44
|
require('../chunk-DTMBAFIL.cjs');
|
|
45
45
|
require('../chunk-ZESMRGDV.cjs');
|
|
46
|
-
var
|
|
46
|
+
var chunkCCALU47C_cjs = require('../chunk-CCALU47C.cjs');
|
|
47
47
|
var chunkYSCDHY53_cjs = require('../chunk-YSCDHY53.cjs');
|
|
48
48
|
require('../chunk-NEGFHF3V.cjs');
|
|
49
|
-
var chunkI6GEQWIV_cjs = require('../chunk-I6GEQWIV.cjs');
|
|
50
49
|
var chunkZ3LFF3YT_cjs = require('../chunk-Z3LFF3YT.cjs');
|
|
50
|
+
var chunkI6GEQWIV_cjs = require('../chunk-I6GEQWIV.cjs');
|
|
51
51
|
var chunk4B6HYQTW_cjs = require('../chunk-4B6HYQTW.cjs');
|
|
52
52
|
var chunkADMNU2CR_cjs = require('../chunk-ADMNU2CR.cjs');
|
|
53
53
|
require('../chunk-PCB2BPN3.cjs');
|
|
@@ -57,7 +57,7 @@ var chunkYN7ZQEHS_cjs = require('../chunk-YN7ZQEHS.cjs');
|
|
|
57
57
|
require('../chunk-7G2LJMUG.cjs');
|
|
58
58
|
var chunkJIOHDVWH_cjs = require('../chunk-JIOHDVWH.cjs');
|
|
59
59
|
var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
|
|
60
|
-
var
|
|
60
|
+
var chunkHXWBXYVN_cjs = require('../chunk-HXWBXYVN.cjs');
|
|
61
61
|
var chunkMZZ3SBQL_cjs = require('../chunk-MZZ3SBQL.cjs');
|
|
62
62
|
var chunkLBRJA4ZJ_cjs = require('../chunk-LBRJA4ZJ.cjs');
|
|
63
63
|
var chunkGFLZHV54_cjs = require('../chunk-GFLZHV54.cjs');
|
|
@@ -73,11 +73,11 @@ var chunkZU2B2RZK_cjs = require('../chunk-ZU2B2RZK.cjs');
|
|
|
73
73
|
var chunkNSD37OF5_cjs = require('../chunk-NSD37OF5.cjs');
|
|
74
74
|
require('../chunk-OEJQFPWO.cjs');
|
|
75
75
|
require('../chunk-BQOL4XNZ.cjs');
|
|
76
|
-
var
|
|
76
|
+
var chunkJ4CXF4A7_cjs = require('../chunk-J4CXF4A7.cjs');
|
|
77
77
|
var chunkKNC77LZZ_cjs = require('../chunk-KNC77LZZ.cjs');
|
|
78
78
|
require('../chunk-I4IS6ST6.cjs');
|
|
79
79
|
require('../chunk-EVZH6Z5O.cjs');
|
|
80
|
-
var
|
|
80
|
+
var chunkSYWJNSPS_cjs = require('../chunk-SYWJNSPS.cjs');
|
|
81
81
|
require('../chunk-3YEXZX4H.cjs');
|
|
82
82
|
var chunkZHUQYIV3_cjs = require('../chunk-ZHUQYIV3.cjs');
|
|
83
83
|
var chunkOYXWQTHF_cjs = require('../chunk-OYXWQTHF.cjs');
|
|
@@ -96,6 +96,19 @@ var chunkM74FWYNL_cjs = require('../chunk-M74FWYNL.cjs');
|
|
|
96
96
|
var chunkI6SPGHFY_cjs = require('../chunk-I6SPGHFY.cjs');
|
|
97
97
|
var chunkQUMUAJ2P_cjs = require('../chunk-QUMUAJ2P.cjs');
|
|
98
98
|
var chunkVZOOGA47_cjs = require('../chunk-VZOOGA47.cjs');
|
|
99
|
+
var chunk4ZM3J3SL_cjs = require('../chunk-4ZM3J3SL.cjs');
|
|
100
|
+
require('../chunk-OAIOOVFN.cjs');
|
|
101
|
+
var chunkIOCEKN44_cjs = require('../chunk-IOCEKN44.cjs');
|
|
102
|
+
require('../chunk-F5T4W2R2.cjs');
|
|
103
|
+
var chunk5HEMXXHR_cjs = require('../chunk-5HEMXXHR.cjs');
|
|
104
|
+
var chunkBFKTZUFT_cjs = require('../chunk-BFKTZUFT.cjs');
|
|
105
|
+
var chunkWV65MJ43_cjs = require('../chunk-WV65MJ43.cjs');
|
|
106
|
+
var chunkTMX7YFVM_cjs = require('../chunk-TMX7YFVM.cjs');
|
|
107
|
+
var chunkMOIZ2R5X_cjs = require('../chunk-MOIZ2R5X.cjs');
|
|
108
|
+
var chunkLUO46ELJ_cjs = require('../chunk-LUO46ELJ.cjs');
|
|
109
|
+
var chunkSJSGSHIT_cjs = require('../chunk-SJSGSHIT.cjs');
|
|
110
|
+
var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
|
|
111
|
+
require('../chunk-ZT5MIFLC.cjs');
|
|
99
112
|
var chunk32YCMXT2_cjs = require('../chunk-32YCMXT2.cjs');
|
|
100
113
|
require('../chunk-RT3M5WOS.cjs');
|
|
101
114
|
require('../chunk-7CSEMMDJ.cjs');
|
|
@@ -116,19 +129,6 @@ var chunk5GQOIQCB_cjs = require('../chunk-5GQOIQCB.cjs');
|
|
|
116
129
|
require('../chunk-UDSHVNU3.cjs');
|
|
117
130
|
var chunkIPSHAMO2_cjs = require('../chunk-IPSHAMO2.cjs');
|
|
118
131
|
var chunkFX3K6LNZ_cjs = require('../chunk-FX3K6LNZ.cjs');
|
|
119
|
-
var chunk4ZM3J3SL_cjs = require('../chunk-4ZM3J3SL.cjs');
|
|
120
|
-
require('../chunk-OAIOOVFN.cjs');
|
|
121
|
-
var chunkIOCEKN44_cjs = require('../chunk-IOCEKN44.cjs');
|
|
122
|
-
require('../chunk-F5T4W2R2.cjs');
|
|
123
|
-
var chunk5HEMXXHR_cjs = require('../chunk-5HEMXXHR.cjs');
|
|
124
|
-
var chunkBFKTZUFT_cjs = require('../chunk-BFKTZUFT.cjs');
|
|
125
|
-
var chunkWV65MJ43_cjs = require('../chunk-WV65MJ43.cjs');
|
|
126
|
-
var chunkTMX7YFVM_cjs = require('../chunk-TMX7YFVM.cjs');
|
|
127
|
-
var chunkMOIZ2R5X_cjs = require('../chunk-MOIZ2R5X.cjs');
|
|
128
|
-
var chunkLUO46ELJ_cjs = require('../chunk-LUO46ELJ.cjs');
|
|
129
|
-
var chunkSJSGSHIT_cjs = require('../chunk-SJSGSHIT.cjs');
|
|
130
|
-
var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
|
|
131
|
-
require('../chunk-ZT5MIFLC.cjs');
|
|
132
132
|
var chunkZBP4ZSAJ_cjs = require('../chunk-ZBP4ZSAJ.cjs');
|
|
133
133
|
require('../chunk-PPCATBOY.cjs');
|
|
134
134
|
var chunkUIXY4HKM_cjs = require('../chunk-UIXY4HKM.cjs');
|
|
@@ -244,7 +244,7 @@ function ConnectedWorkspaceActivity({
|
|
|
244
244
|
[feed.data]
|
|
245
245
|
);
|
|
246
246
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
247
|
-
|
|
247
|
+
chunkCCALU47C_cjs.WorkspaceActivityList,
|
|
248
248
|
{
|
|
249
249
|
...listProps,
|
|
250
250
|
items,
|
|
@@ -1124,7 +1124,7 @@ function NotificationCenter({
|
|
|
1124
1124
|
}
|
|
1125
1125
|
];
|
|
1126
1126
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full bg-background", "data-testid": "notifications-page", children: [
|
|
1127
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1127
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.DraggableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1128
1128
|
chunkSJSGSHIT_cjs.TabHeader,
|
|
1129
1129
|
{
|
|
1130
1130
|
tabs,
|
|
@@ -1448,7 +1448,7 @@ function ConnectedOfflineStatus({ compact = false }) {
|
|
|
1448
1448
|
notify17("Still offline \u2014 check your connection and try again.", "warning");
|
|
1449
1449
|
};
|
|
1450
1450
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1451
|
-
|
|
1451
|
+
chunkHXWBXYVN_cjs.OfflinePill,
|
|
1452
1452
|
{
|
|
1453
1453
|
tone,
|
|
1454
1454
|
label,
|
|
@@ -1566,7 +1566,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1566
1566
|
onChange: (e) => {
|
|
1567
1567
|
const file = e.target.files?.[0];
|
|
1568
1568
|
e.target.value = "";
|
|
1569
|
-
if (file) void add(() =>
|
|
1569
|
+
if (file) void add(() => chunkJ4CXF4A7_cjs.importSkillFile(file));
|
|
1570
1570
|
}
|
|
1571
1571
|
}
|
|
1572
1572
|
),
|
|
@@ -1591,7 +1591,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1591
1591
|
className: "space-y-2",
|
|
1592
1592
|
onSubmit: (e) => {
|
|
1593
1593
|
e.preventDefault();
|
|
1594
|
-
if (url.trim()) void add(() =>
|
|
1594
|
+
if (url.trim()) void add(() => chunkJ4CXF4A7_cjs.importSkillFromUrl(url));
|
|
1595
1595
|
},
|
|
1596
1596
|
children: [
|
|
1597
1597
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
|
|
@@ -1654,9 +1654,9 @@ function ConnectedSkillsLibrary({
|
|
|
1654
1654
|
const [type, setType] = react$1.useState("all");
|
|
1655
1655
|
const [view, setView] = react$1.useState("gallery");
|
|
1656
1656
|
const [isBusy, setIsBusy] = react$1.useState(false);
|
|
1657
|
-
const all = react$1.useMemo(() =>
|
|
1657
|
+
const all = react$1.useMemo(() => chunkJ4CXF4A7_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
|
|
1658
1658
|
const shown = react$1.useMemo(
|
|
1659
|
-
() =>
|
|
1659
|
+
() => chunkJ4CXF4A7_cjs.filterLibrarySkills(all, { query, source, type }),
|
|
1660
1660
|
[all, query, source, type]
|
|
1661
1661
|
);
|
|
1662
1662
|
const current = all.find((s) => s.slug === selected) ?? null;
|
|
@@ -1667,21 +1667,21 @@ function ConnectedSkillsLibrary({
|
|
|
1667
1667
|
const count2 = (s) => all.filter((x) => x.source === s).length;
|
|
1668
1668
|
const sourceOptions = [
|
|
1669
1669
|
{ id: "all", label: "All", count: all.length },
|
|
1670
|
-
{ id: "builtin", label:
|
|
1671
|
-
{ id: "mine", label:
|
|
1672
|
-
{ id: "shared", label:
|
|
1670
|
+
{ id: "builtin", label: chunkJ4CXF4A7_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
|
|
1671
|
+
{ id: "mine", label: chunkJ4CXF4A7_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
|
|
1672
|
+
{ id: "shared", label: chunkJ4CXF4A7_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
|
|
1673
1673
|
];
|
|
1674
1674
|
const types = [...new Set(all.map((s) => s.type))];
|
|
1675
1675
|
const typeOptions = [
|
|
1676
1676
|
{ id: "all", label: "Any kind" },
|
|
1677
|
-
...types.map((t) => ({ id: t, label:
|
|
1677
|
+
...types.map((t) => ({ id: t, label: chunkJ4CXF4A7_cjs.SKILL_TYPE_LABELS[t] ?? t }))
|
|
1678
1678
|
];
|
|
1679
1679
|
const pick = (slug) => {
|
|
1680
1680
|
setSelected(slug);
|
|
1681
1681
|
setMode("detail");
|
|
1682
1682
|
};
|
|
1683
1683
|
const markdownOf = async (skill) => {
|
|
1684
|
-
if (!skill.docExtId) return
|
|
1684
|
+
if (!skill.docExtId) return chunkJ4CXF4A7_cjs.workflowToSkillMarkdown(skill.workflow);
|
|
1685
1685
|
const response = await arbi.documents.download(skill.docExtId);
|
|
1686
1686
|
if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
|
|
1687
1687
|
return response.text();
|
|
@@ -1745,7 +1745,7 @@ function ConnectedSkillsLibrary({
|
|
|
1745
1745
|
try {
|
|
1746
1746
|
documentTools.downloadBlob(
|
|
1747
1747
|
new Blob([await markdownOf(skill)], { type: "text/markdown" }),
|
|
1748
|
-
|
|
1748
|
+
chunkJ4CXF4A7_cjs.SKILL_MAIN_FILENAME
|
|
1749
1749
|
);
|
|
1750
1750
|
} catch (error) {
|
|
1751
1751
|
notify17(errorText(error, "Could not export the skill"), "error");
|
|
@@ -1786,10 +1786,10 @@ function ConnectedSkillsLibrary({
|
|
|
1786
1786
|
}
|
|
1787
1787
|
)
|
|
1788
1788
|
] }),
|
|
1789
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1789
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.SkillViewToggle, { value: view, onChange: setView })
|
|
1790
1790
|
] }),
|
|
1791
1791
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1792
|
-
|
|
1792
|
+
chunkJ4CXF4A7_cjs.SkillFilterChips,
|
|
1793
1793
|
{
|
|
1794
1794
|
label: "Show",
|
|
1795
1795
|
value: source,
|
|
@@ -1798,7 +1798,7 @@ function ConnectedSkillsLibrary({
|
|
|
1798
1798
|
}
|
|
1799
1799
|
),
|
|
1800
1800
|
types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1801
|
-
|
|
1801
|
+
chunkJ4CXF4A7_cjs.SkillFilterChips,
|
|
1802
1802
|
{
|
|
1803
1803
|
label: "Kind",
|
|
1804
1804
|
value: type,
|
|
@@ -1845,12 +1845,12 @@ function ConnectedSkillsLibrary({
|
|
|
1845
1845
|
view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
|
|
1846
1846
|
),
|
|
1847
1847
|
children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1848
|
-
|
|
1848
|
+
chunkJ4CXF4A7_cjs.SkillTile,
|
|
1849
1849
|
{
|
|
1850
1850
|
name: skill.title,
|
|
1851
1851
|
testId: `skill-tile-${skill.slug}`,
|
|
1852
1852
|
description: skill.description,
|
|
1853
|
-
sourceLabel: skill.isShared ? `${
|
|
1853
|
+
sourceLabel: skill.isShared ? `${chunkJ4CXF4A7_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkJ4CXF4A7_cjs.SKILL_SOURCE_LABELS[skill.source],
|
|
1854
1854
|
type: skill.type,
|
|
1855
1855
|
icon,
|
|
1856
1856
|
layout: view,
|
|
@@ -1885,7 +1885,7 @@ function ConnectedSkillsLibrary({
|
|
|
1885
1885
|
}
|
|
1886
1886
|
),
|
|
1887
1887
|
mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1888
|
-
|
|
1888
|
+
chunkJ4CXF4A7_cjs.SkillGenerateForm,
|
|
1889
1889
|
{
|
|
1890
1890
|
icon,
|
|
1891
1891
|
onGenerate: (desc) => {
|
|
@@ -1912,11 +1912,11 @@ function ConnectedSkillsLibrary({
|
|
|
1912
1912
|
),
|
|
1913
1913
|
mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
|
|
1914
1914
|
mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1915
|
-
|
|
1915
|
+
chunkJ4CXF4A7_cjs.SkillLibraryDetail,
|
|
1916
1916
|
{
|
|
1917
1917
|
skill: current,
|
|
1918
1918
|
icon,
|
|
1919
|
-
instructions: current.docExtId ? currentText ?
|
|
1919
|
+
instructions: current.docExtId ? currentText ? chunkJ4CXF4A7_cjs.parseSkillFrontmatter(currentText, chunkJ4CXF4A7_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
|
|
1920
1920
|
isLoading: !!current.docExtId && textLoading,
|
|
1921
1921
|
actions: {
|
|
1922
1922
|
onRun: () => onRun(current.slug),
|
|
@@ -1951,7 +1951,7 @@ function SkillEditor({
|
|
|
1951
1951
|
const [seeded, setSeeded] = react$1.useState(!isEditing);
|
|
1952
1952
|
const [nameError, setNameError] = react$1.useState(null);
|
|
1953
1953
|
if (isEditing && !seeded && text2 !== void 0) {
|
|
1954
|
-
const parsed =
|
|
1954
|
+
const parsed = chunkJ4CXF4A7_cjs.parseSkillFrontmatter(text2, chunkJ4CXF4A7_cjs.SKILL_MAIN_FILENAME);
|
|
1955
1955
|
setDescription(parsed.description ?? "");
|
|
1956
1956
|
setBody(parsed.content ?? "");
|
|
1957
1957
|
setSeeded(true);
|
|
@@ -1965,15 +1965,15 @@ function SkillEditor({
|
|
|
1965
1965
|
notify17("Add a short description.", "error");
|
|
1966
1966
|
return;
|
|
1967
1967
|
}
|
|
1968
|
-
const slug =
|
|
1968
|
+
const slug = chunkJ4CXF4A7_cjs.skillSlug(name);
|
|
1969
1969
|
try {
|
|
1970
|
-
await onSave(slug,
|
|
1970
|
+
await onSave(slug, chunkJ4CXF4A7_cjs.serializeSkill({ name: slug, description, body }), isEditing);
|
|
1971
1971
|
} catch (err) {
|
|
1972
1972
|
notify17(errorText(err, "Could not save the skill"), "error");
|
|
1973
1973
|
}
|
|
1974
1974
|
};
|
|
1975
1975
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1976
|
-
|
|
1976
|
+
chunkJ4CXF4A7_cjs.SkillEditForm,
|
|
1977
1977
|
{
|
|
1978
1978
|
name,
|
|
1979
1979
|
onNameChange: setName,
|
|
@@ -2012,7 +2012,7 @@ var DEFAULT_CONNECTED_SKILLS_BROWSER_LABELS = {
|
|
|
2012
2012
|
function ConnectedSkillsBrowser({
|
|
2013
2013
|
props,
|
|
2014
2014
|
onClose: close,
|
|
2015
|
-
builtins =
|
|
2015
|
+
builtins = chunkJ4CXF4A7_cjs.BUILTIN_SKILLS,
|
|
2016
2016
|
renderEditor,
|
|
2017
2017
|
labels
|
|
2018
2018
|
}) {
|
|
@@ -2065,7 +2065,7 @@ function ConnectedSkillsBrowser({
|
|
|
2065
2065
|
}
|
|
2066
2066
|
) }),
|
|
2067
2067
|
runSkillId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2068
|
-
|
|
2068
|
+
chunkXM4KRGCK_cjs.ConnectedTaskComposer,
|
|
2069
2069
|
{
|
|
2070
2070
|
kind: "workflow",
|
|
2071
2071
|
open: true,
|
|
@@ -2089,9 +2089,9 @@ function ConnectedAgentCreator({
|
|
|
2089
2089
|
agent,
|
|
2090
2090
|
initialName,
|
|
2091
2091
|
onSaved,
|
|
2092
|
-
capabilities =
|
|
2093
|
-
templates =
|
|
2094
|
-
types =
|
|
2092
|
+
capabilities = chunkJ4CXF4A7_cjs.DEFAULT_AGENT_CAPABILITIES,
|
|
2093
|
+
templates = chunkJ4CXF4A7_cjs.DEFAULT_AGENT_TEMPLATES,
|
|
2094
|
+
types = chunkJ4CXF4A7_cjs.DEFAULT_AGENT_TYPES,
|
|
2095
2095
|
canRevokeWorkspaces = false,
|
|
2096
2096
|
labels
|
|
2097
2097
|
}) {
|
|
@@ -2133,7 +2133,7 @@ function ConnectedAgentCreator({
|
|
|
2133
2133
|
const initialValues = react$1.useMemo(
|
|
2134
2134
|
() => ({
|
|
2135
2135
|
name: agent?.given_name ?? initialName ?? "",
|
|
2136
|
-
persona: isEdit ?
|
|
2136
|
+
persona: isEdit ? chunkJ4CXF4A7_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
|
|
2137
2137
|
modelName: String(agents.AGENT_MODEL_NAME ?? ""),
|
|
2138
2138
|
capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
|
|
2139
2139
|
type: "builtin",
|
|
@@ -2152,7 +2152,7 @@ function ConnectedAgentCreator({
|
|
|
2152
2152
|
try {
|
|
2153
2153
|
let agentExtId = agent?.external_id ?? early?.id ?? "";
|
|
2154
2154
|
if (!agentExtId) {
|
|
2155
|
-
if (!
|
|
2155
|
+
if (!chunkJ4CXF4A7_cjs.isValidAgentName(values.name)) {
|
|
2156
2156
|
notify17("Give the agent a name first.", "error");
|
|
2157
2157
|
return;
|
|
2158
2158
|
}
|
|
@@ -2188,7 +2188,7 @@ function ConnectedAgentCreator({
|
|
|
2188
2188
|
title: `agent-${name}`,
|
|
2189
2189
|
sections: {
|
|
2190
2190
|
Agents: {
|
|
2191
|
-
PERSONA:
|
|
2191
|
+
PERSONA: chunkJ4CXF4A7_cjs.composePersona(name, values.persona),
|
|
2192
2192
|
...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
|
|
2193
2193
|
...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
|
|
2194
2194
|
ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
|
|
@@ -2211,7 +2211,7 @@ function ConnectedAgentCreator({
|
|
|
2211
2211
|
};
|
|
2212
2212
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2213
2213
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2214
|
-
|
|
2214
|
+
chunkJ4CXF4A7_cjs.AgentCreator,
|
|
2215
2215
|
{
|
|
2216
2216
|
open: ready,
|
|
2217
2217
|
onOpenChange,
|
|
@@ -2227,11 +2227,11 @@ function ConnectedAgentCreator({
|
|
|
2227
2227
|
) : void 0,
|
|
2228
2228
|
revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
|
|
2229
2229
|
avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2230
|
-
|
|
2230
|
+
chunkJ4CXF4A7_cjs.AgentAvatarField,
|
|
2231
2231
|
{
|
|
2232
2232
|
picture,
|
|
2233
2233
|
isBusy: avatarBusy,
|
|
2234
|
-
canGenerate: isEdit ||
|
|
2234
|
+
canGenerate: isEdit || chunkJ4CXF4A7_cjs.isValidAgentName(values.name),
|
|
2235
2235
|
onGenerate: () => handleGenerateAvatar(values)
|
|
2236
2236
|
}
|
|
2237
2237
|
),
|
|
@@ -2283,7 +2283,7 @@ function ConnectedAgentCreator({
|
|
|
2283
2283
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
|
|
2284
2284
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
|
|
2285
2285
|
] }),
|
|
2286
|
-
connect && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2286
|
+
connect && /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
|
|
2287
2287
|
]
|
|
2288
2288
|
}
|
|
2289
2289
|
) })
|
|
@@ -2675,7 +2675,7 @@ function useMemoryCount(enabled) {
|
|
|
2675
2675
|
}
|
|
2676
2676
|
function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
|
|
2677
2677
|
const { notify: notify17, openConversation, openDocument } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
2678
|
-
const people =
|
|
2678
|
+
const people = chunkXM4KRGCK_cjs.useTaskPeople();
|
|
2679
2679
|
const canEditShared = react.useCanEditShared();
|
|
2680
2680
|
const isWorkspaceOwner = react.useIsWorkspaceOwner();
|
|
2681
2681
|
const { data: workflows = [] } = react.useWorkflows({ live: true });
|
|
@@ -2701,7 +2701,7 @@ function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
|
|
|
2701
2701
|
}, [documents]);
|
|
2702
2702
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2703
2703
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2704
|
-
|
|
2704
|
+
chunkJ4CXF4A7_cjs.TaskTable,
|
|
2705
2705
|
{
|
|
2706
2706
|
tasks,
|
|
2707
2707
|
isLoading,
|
|
@@ -2728,7 +2728,7 @@ function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
|
|
|
2728
2728
|
}
|
|
2729
2729
|
),
|
|
2730
2730
|
activityFor && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2731
|
-
|
|
2731
|
+
chunkXM4KRGCK_cjs.ConnectedTaskActivityDialog,
|
|
2732
2732
|
{
|
|
2733
2733
|
conversationId: activityFor.external_id,
|
|
2734
2734
|
taskName: activityFor.title || l.untitledTask,
|
|
@@ -2744,7 +2744,7 @@ function AgentsLauncher({ workflows, renderIcon, labels: l, testId }) {
|
|
|
2744
2744
|
const { notify: notify17, openConversation } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
2745
2745
|
const { workspaceId, ensureWorkspaceOpen } = chunkWV65MJ43_cjs.useConnectedWorkspace();
|
|
2746
2746
|
const { data: skills = [] } = react.useSkills({ enabled: !!workspaceId, live: true });
|
|
2747
|
-
const workflowTasks =
|
|
2747
|
+
const workflowTasks = chunkXM4KRGCK_cjs.useWorkflowTasks();
|
|
2748
2748
|
const launchable = react$1.useMemo(
|
|
2749
2749
|
() => [
|
|
2750
2750
|
...workflows,
|
|
@@ -2767,7 +2767,7 @@ function AgentsLauncher({ workflows, renderIcon, labels: l, testId }) {
|
|
|
2767
2767
|
[workflows, skills, l.skillFiles]
|
|
2768
2768
|
);
|
|
2769
2769
|
const launch = async ({ workflow, inputs, agentId }) => {
|
|
2770
|
-
const values =
|
|
2770
|
+
const values = chunkJ4CXF4A7_cjs.defaultTaskComposerValues(launchable, {
|
|
2771
2771
|
workflowId: workflow.id,
|
|
2772
2772
|
assignee: "agent",
|
|
2773
2773
|
inputs,
|
|
@@ -2788,7 +2788,7 @@ function AgentsLauncher({ workflows, renderIcon, labels: l, testId }) {
|
|
|
2788
2788
|
}
|
|
2789
2789
|
};
|
|
2790
2790
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2791
|
-
|
|
2791
|
+
chunkECCV4YOL_cjs.ConnectedWorkflowLauncher,
|
|
2792
2792
|
{
|
|
2793
2793
|
workflows: launchable,
|
|
2794
2794
|
onLaunch: launch,
|
|
@@ -2887,7 +2887,7 @@ function ConnectedAgentsPageScope(props) {
|
|
|
2887
2887
|
children,
|
|
2888
2888
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentCreator, { ...management.editorProps, ...agentOptions.creator }),
|
|
2889
2889
|
taskDialog && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2890
|
-
|
|
2890
|
+
chunkXM4KRGCK_cjs.ConnectedTaskComposer,
|
|
2891
2891
|
{
|
|
2892
2892
|
open: true,
|
|
2893
2893
|
onOpenChange: (open) => !open && setTaskDialog(null),
|
|
@@ -2909,7 +2909,7 @@ function AgentsGallery() {
|
|
|
2909
2909
|
cardTestIds
|
|
2910
2910
|
} = agentOptions;
|
|
2911
2911
|
const { openConversation } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
2912
|
-
const tasksByAgent = react$1.useMemo(() =>
|
|
2912
|
+
const tasksByAgent = react$1.useMemo(() => chunkJ4CXF4A7_cjs.groupAgentTasks(tasks), [tasks]);
|
|
2913
2913
|
const behaviour = useAgentBehaviour(l.defaultBehaviour, details.includes("behaviour"));
|
|
2914
2914
|
const { agents } = management;
|
|
2915
2915
|
const cardDetails = (agent) => details.map(
|
|
@@ -2924,7 +2924,7 @@ function AgentsGallery() {
|
|
|
2924
2924
|
) : detail === "workspaces" ? /* @__PURE__ */ jsxRuntime.jsx(AgentWorkspaceAccess, { agentExtId: agent.external_id, labels: l }, detail) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: behaviour.behaviourOf(agent.given_name) }, detail)
|
|
2925
2925
|
);
|
|
2926
2926
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2927
|
-
|
|
2927
|
+
chunkJ4CXF4A7_cjs.AgentGallery,
|
|
2928
2928
|
{
|
|
2929
2929
|
count: agents.length,
|
|
2930
2930
|
onCreate: management.create,
|
|
@@ -2934,9 +2934,9 @@ function AgentsGallery() {
|
|
|
2934
2934
|
const agentTasks = tasksByAgent.get(agent.external_id) ?? [];
|
|
2935
2935
|
const running = agentTasks.filter((t) => t.in_progress);
|
|
2936
2936
|
const watchConversationId = running[0]?.external_id ?? null;
|
|
2937
|
-
const progress = agentTasks[0] ?
|
|
2937
|
+
const progress = agentTasks[0] ? chunkJ4CXF4A7_cjs.goalProgress(agentTasks[0]) : null;
|
|
2938
2938
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2939
|
-
|
|
2939
|
+
chunkJ4CXF4A7_cjs.AgentCard,
|
|
2940
2940
|
{
|
|
2941
2941
|
name: displayName(agent),
|
|
2942
2942
|
avatar: /* @__PURE__ */ jsxRuntime.jsx(AgentInitialsAvatar, { agent }),
|
|
@@ -3044,7 +3044,7 @@ function AgentsSectionBody({ id }) {
|
|
|
3044
3044
|
) });
|
|
3045
3045
|
case "scheduled":
|
|
3046
3046
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-[min(32rem,70dvh)] min-h-64 flex-col", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3047
|
-
|
|
3047
|
+
chunkECCV4YOL_cjs.ConnectedWorkflowsTable,
|
|
3048
3048
|
{
|
|
3049
3049
|
filter: "scheduled",
|
|
3050
3050
|
onEdit: (w) => openWorkflow?.(w.external_id),
|
|
@@ -3106,7 +3106,7 @@ function ConnectedAgentsPage({
|
|
|
3106
3106
|
className: "flex h-full flex-col",
|
|
3107
3107
|
"data-testid": scope.testIds?.root ?? DEFAULT_TEST_IDS.root,
|
|
3108
3108
|
children: [
|
|
3109
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3109
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.DraggableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3110
3110
|
chunkSJSGSHIT_cjs.TabHeader,
|
|
3111
3111
|
{
|
|
3112
3112
|
tabs: [
|
|
@@ -3218,10 +3218,10 @@ function cascadeTagCombination(tags, previous, next) {
|
|
|
3218
3218
|
function tagCombinationMatches(combination, items) {
|
|
3219
3219
|
if (!isCombining(combination)) return void 0;
|
|
3220
3220
|
const pass = (list) => new Set(
|
|
3221
|
-
|
|
3221
|
+
chunkMMSHLHTA_cjs.applyInvertedIndexFilter(
|
|
3222
3222
|
[...list],
|
|
3223
3223
|
combination,
|
|
3224
|
-
|
|
3224
|
+
chunkMMSHLHTA_cjs.buildInvertedIndex(
|
|
3225
3225
|
[...list],
|
|
3226
3226
|
(item) => item.id,
|
|
3227
3227
|
(item) => item.tagIds
|
|
@@ -3348,7 +3348,7 @@ function ConnectedTagTable({
|
|
|
3348
3348
|
const fail2 = (fallback) => (e) => notify17(browser.refusalReason(e, fallback), "error");
|
|
3349
3349
|
const snapshot2 = (data) => {
|
|
3350
3350
|
const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
|
|
3351
|
-
const bytes =
|
|
3351
|
+
const bytes = chunkCCALU47C_cjs.tagTableDocx(data, {
|
|
3352
3352
|
title,
|
|
3353
3353
|
nameOf: (id) => people.find((p) => p.value === id)?.label
|
|
3354
3354
|
});
|
|
@@ -3357,7 +3357,7 @@ function ConnectedTagTable({
|
|
|
3357
3357
|
return { blob: new Blob([bytes], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }), name };
|
|
3358
3358
|
};
|
|
3359
3359
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3360
|
-
|
|
3360
|
+
chunkCCALU47C_cjs.TagTable,
|
|
3361
3361
|
{
|
|
3362
3362
|
...props,
|
|
3363
3363
|
table,
|
|
@@ -3727,9 +3727,9 @@ function GlossaryExport({ labelId, nameOf }) {
|
|
|
3727
3727
|
const narrowed = agreements.find((a) => a.id === narrowTo);
|
|
3728
3728
|
const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
|
|
3729
3729
|
const download = (format) => {
|
|
3730
|
-
const entries =
|
|
3731
|
-
const blob = format === "docx" ? new Blob([
|
|
3732
|
-
documentTools.downloadBlob(blob,
|
|
3730
|
+
const entries = chunkCCALU47C_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
|
|
3731
|
+
const blob = format === "docx" ? new Blob([chunkCCALU47C_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunkCCALU47C_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
|
|
3732
|
+
documentTools.downloadBlob(blob, chunkCCALU47C_cjs.glossaryFileName(title, format));
|
|
3733
3733
|
};
|
|
3734
3734
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
|
|
3735
3735
|
agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -4193,7 +4193,7 @@ function TagFilterChips({
|
|
|
4193
4193
|
const name = (id) => tags.find((t) => t.external_id === id)?.name ?? id;
|
|
4194
4194
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", "data-testid": "tags-filter-chips", children: [
|
|
4195
4195
|
set.map(([id, state]) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
4196
|
-
|
|
4196
|
+
chunkMMSHLHTA_cjs.FilterChip,
|
|
4197
4197
|
{
|
|
4198
4198
|
label: name(id),
|
|
4199
4199
|
labelContent: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4258,7 +4258,7 @@ function KindSection({
|
|
|
4258
4258
|
{
|
|
4259
4259
|
testId: `tags-kind-${kind}`,
|
|
4260
4260
|
title: ui.tagKindTitle(kind, { plural: true }),
|
|
4261
|
-
description:
|
|
4261
|
+
description: chunkCCALU47C_cjs.tagKindDescription(kind),
|
|
4262
4262
|
children: [
|
|
4263
4263
|
browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4264
4264
|
"p",
|
|
@@ -4268,9 +4268,9 @@ function KindSection({
|
|
|
4268
4268
|
children: [
|
|
4269
4269
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
|
|
4270
4270
|
"Extracting ",
|
|
4271
|
-
|
|
4271
|
+
chunkCCALU47C_cjs.entitiesPhrase().toLowerCase(),
|
|
4272
4272
|
" from ",
|
|
4273
|
-
|
|
4273
|
+
chunkCCALU47C_cjs.documentCount(extractingCount),
|
|
4274
4274
|
"\u2026"
|
|
4275
4275
|
]
|
|
4276
4276
|
}
|
|
@@ -4288,7 +4288,7 @@ function KindSection({
|
|
|
4288
4288
|
onOpenTag: ctx.onOpenTag,
|
|
4289
4289
|
onOpenRow: ctx.onOpenTag,
|
|
4290
4290
|
onOpenTaggedItems: ctx.onOpenTaggedItems,
|
|
4291
|
-
labels:
|
|
4291
|
+
labels: chunkCCALU47C_cjs.tagTableLabels(kind),
|
|
4292
4292
|
testId: `tags-table-${kind}`
|
|
4293
4293
|
}
|
|
4294
4294
|
)
|
|
@@ -4396,15 +4396,15 @@ function TagSection({
|
|
|
4396
4396
|
onOpenTag: ctx.onOpenTag,
|
|
4397
4397
|
onOpenRow: ctx.onOpenTag,
|
|
4398
4398
|
onOpenTaggedItems: ctx.onOpenTaggedItems,
|
|
4399
|
-
labels:
|
|
4399
|
+
labels: chunkCCALU47C_cjs.tagTableLabels(tag.kind),
|
|
4400
4400
|
testId: "tags-rows"
|
|
4401
4401
|
}
|
|
4402
4402
|
),
|
|
4403
4403
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4404
|
-
|
|
4404
|
+
chunkCCALU47C_cjs.TagDetail,
|
|
4405
4405
|
{
|
|
4406
4406
|
onOpenTaggedItems: ctx.onOpenTaggedItems,
|
|
4407
|
-
fieldLabels:
|
|
4407
|
+
fieldLabels: chunkCCALU47C_cjs.tagTableLabels(tag.kind),
|
|
4408
4408
|
row: detailRow,
|
|
4409
4409
|
fields: schema.data?.fields ?? [],
|
|
4410
4410
|
isLoading: detail.isLoading,
|
|
@@ -4412,7 +4412,7 @@ function TagSection({
|
|
|
4412
4412
|
tags: tagOptions,
|
|
4413
4413
|
onOpenTag: ctx.onOpenTag,
|
|
4414
4414
|
onChangeValue: (id, fieldId, value) => setValues.mutateAsync({ tagId: id, values: { [fieldId]: value } }).catch((e) => notify17(browser.refusalReason(e, "Could not save the value"), "error")),
|
|
4415
|
-
labels:
|
|
4415
|
+
labels: chunkCCALU47C_cjs.tagDetailLabels(),
|
|
4416
4416
|
testId: "tags-detail"
|
|
4417
4417
|
}
|
|
4418
4418
|
)
|
|
@@ -4487,7 +4487,7 @@ function ConnectedTagsPage() {
|
|
|
4487
4487
|
const onDelete = async (t) => {
|
|
4488
4488
|
const nested = browser.getChildTags([...tags], t.external_id);
|
|
4489
4489
|
const uses = browser.tagUseCount(t);
|
|
4490
|
-
const n2 =
|
|
4490
|
+
const n2 = chunkCCALU47C_cjs.tagsPageNouns();
|
|
4491
4491
|
const tagNoun = (count2) => (count2 === 1 ? n2.tag : n2.tags).toLowerCase();
|
|
4492
4492
|
const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
|
|
4493
4493
|
const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
|
|
@@ -4508,11 +4508,11 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4508
4508
|
try {
|
|
4509
4509
|
await extract.mutateAsync(docIds);
|
|
4510
4510
|
notify17(
|
|
4511
|
-
`Extracting ${
|
|
4511
|
+
`Extracting ${chunkCCALU47C_cjs.entitiesPhrase().toLowerCase()} from ${chunkCCALU47C_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
|
|
4512
4512
|
"info"
|
|
4513
4513
|
);
|
|
4514
4514
|
} catch (error) {
|
|
4515
|
-
notify17(browser.refusalReason(error, `Could not extract ${
|
|
4515
|
+
notify17(browser.refusalReason(error, `Could not extract ${chunkCCALU47C_cjs.entitiesPhrase().toLowerCase()}`), "error");
|
|
4516
4516
|
throw error;
|
|
4517
4517
|
}
|
|
4518
4518
|
};
|
|
@@ -4526,10 +4526,10 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4526
4526
|
onOpenTag: openTag,
|
|
4527
4527
|
onOpenTaggedItems
|
|
4528
4528
|
};
|
|
4529
|
-
const n =
|
|
4529
|
+
const n = chunkCCALU47C_cjs.tagsPageNouns();
|
|
4530
4530
|
const action = view === "person" || view === "organisation" ? {
|
|
4531
4531
|
label: "Extract",
|
|
4532
|
-
title: `Extract ${
|
|
4532
|
+
title: `Extract ${chunkCCALU47C_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
|
|
4533
4533
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
|
|
4534
4534
|
run: () => setExtracting(true),
|
|
4535
4535
|
testId: "tags-extract-entities"
|
|
@@ -4698,7 +4698,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4698
4698
|
}
|
|
4699
4699
|
),
|
|
4700
4700
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4701
|
-
|
|
4701
|
+
chunkCCALU47C_cjs.ExtractEntitiesDialog,
|
|
4702
4702
|
{
|
|
4703
4703
|
open: extracting,
|
|
4704
4704
|
onOpenChange: setExtracting,
|
|
@@ -4882,7 +4882,7 @@ function ConnectedPanelHost({
|
|
|
4882
4882
|
onClose();
|
|
4883
4883
|
}, [onClose]);
|
|
4884
4884
|
const setFocusedArea = react.useArbiSessionStore().setFocusedArea;
|
|
4885
|
-
const { popoutTitle } =
|
|
4885
|
+
const { popoutTitle } = chunkHXWBXYVN_cjs.usePanelHostSupport();
|
|
4886
4886
|
const focusedArea = react.useArbiSessionState((s) => s.shell.focusedArea);
|
|
4887
4887
|
const handlePanelFocus = react$1.useCallback(() => {
|
|
4888
4888
|
setFocusedArea(panelId);
|
|
@@ -4915,7 +4915,7 @@ function ConnectedPanelHost({
|
|
|
4915
4915
|
}, [isExiting]);
|
|
4916
4916
|
if (!isOpen && !isExiting) return null;
|
|
4917
4917
|
const modeSwitcher = /* @__PURE__ */ jsxRuntime.jsx(
|
|
4918
|
-
|
|
4918
|
+
chunkHXWBXYVN_cjs.PanelModeSwitcher,
|
|
4919
4919
|
{
|
|
4920
4920
|
mode,
|
|
4921
4921
|
onModeChange: setPanelMode,
|
|
@@ -4925,7 +4925,7 @@ function ConnectedPanelHost({
|
|
|
4925
4925
|
}
|
|
4926
4926
|
);
|
|
4927
4927
|
const panelElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
4928
|
-
|
|
4928
|
+
chunkMMSHLHTA_cjs.FloatingPanel,
|
|
4929
4929
|
{
|
|
4930
4930
|
panelId,
|
|
4931
4931
|
mode,
|
|
@@ -4937,7 +4937,7 @@ function ConnectedPanelHost({
|
|
|
4937
4937
|
}
|
|
4938
4938
|
);
|
|
4939
4939
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4940
|
-
|
|
4940
|
+
chunkHXWBXYVN_cjs.PanelPortal,
|
|
4941
4941
|
{
|
|
4942
4942
|
defaultWidth,
|
|
4943
4943
|
panelId,
|
|
@@ -6058,7 +6058,7 @@ function ConnectedFieldsManager({
|
|
|
6058
6058
|
) })
|
|
6059
6059
|
] });
|
|
6060
6060
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full", children: [
|
|
6061
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
6061
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.DraggableHeader, { children: [
|
|
6062
6062
|
/* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.FieldsManagerTitle, { title, className: "px-4 pt-3.5 pb-2" }),
|
|
6063
6063
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3", children: tabHeader })
|
|
6064
6064
|
] }),
|
|
@@ -6958,10 +6958,10 @@ function useFactFilters(notes, view, chat) {
|
|
|
6958
6958
|
);
|
|
6959
6959
|
const setFactFilters = view.setFilters;
|
|
6960
6960
|
const quickFilteredNotes = react$1.useMemo(
|
|
6961
|
-
() =>
|
|
6961
|
+
() => chunkMMSHLHTA_cjs.applyInvertedIndexFilter(
|
|
6962
6962
|
notes,
|
|
6963
6963
|
factFilters,
|
|
6964
|
-
|
|
6964
|
+
chunkMMSHLHTA_cjs.buildInvertedIndex(
|
|
6965
6965
|
notes,
|
|
6966
6966
|
(f) => f.external_id,
|
|
6967
6967
|
(f) => Object.entries(getFactFilterAttributes(f)).filter(([id, on]) => on && factFilterIds.includes(id)).map(([id]) => id)
|
|
@@ -7818,7 +7818,7 @@ function ConnectedFactsPage() {
|
|
|
7818
7818
|
onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
|
|
7819
7819
|
navSlotRef: setNavSlot,
|
|
7820
7820
|
navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7821
|
-
|
|
7821
|
+
chunkCCALU47C_cjs.GridRowNavigator,
|
|
7822
7822
|
{
|
|
7823
7823
|
gridApi,
|
|
7824
7824
|
selectedId: editingId,
|
|
@@ -8095,7 +8095,7 @@ function useConnectedShellWorkspaces(options2 = {}) {
|
|
|
8095
8095
|
function ConnectedSsoDisconnect() {
|
|
8096
8096
|
const { client } = react.useAccountClient();
|
|
8097
8097
|
const { data: profile } = react.useProfile();
|
|
8098
|
-
const auth =
|
|
8098
|
+
const auth = chunkSDXK2COQ_cjs.useAuthPages();
|
|
8099
8099
|
const { notify: notify17 } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
8100
8100
|
const [open, setOpen] = react$1.useState(false);
|
|
8101
8101
|
const [step, setStep] = react$1.useState("email");
|
|
@@ -8240,7 +8240,7 @@ function ConnectedBoxPortalSection() {
|
|
|
8240
8240
|
function ServerConnectionRow({ onRefresh, ...status }) {
|
|
8241
8241
|
const { runtimeConfig } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
8242
8242
|
const [isRefreshing, setIsRefreshing] = react$1.useState(false);
|
|
8243
|
-
const view =
|
|
8243
|
+
const view = chunkMMSHLHTA_cjs.serverConnectionView(status, runtimeConfig.deploymentDomain || "server");
|
|
8244
8244
|
const refresh = async () => {
|
|
8245
8245
|
setIsRefreshing(true);
|
|
8246
8246
|
try {
|
|
@@ -8250,7 +8250,7 @@ function ServerConnectionRow({ onRefresh, ...status }) {
|
|
|
8250
8250
|
}
|
|
8251
8251
|
};
|
|
8252
8252
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsRow, { label: "Server connection", description: view.description, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8253
|
-
|
|
8253
|
+
chunkMMSHLHTA_cjs.ServerConnectionButton,
|
|
8254
8254
|
{
|
|
8255
8255
|
state: view.state,
|
|
8256
8256
|
label: view.label,
|
|
@@ -8273,14 +8273,14 @@ function ConnectedAccountSettings({
|
|
|
8273
8273
|
}) {
|
|
8274
8274
|
const [logoutOpen, setLogoutOpen] = react$1.useState(false);
|
|
8275
8275
|
return /* @__PURE__ */ jsxRuntime.jsxs(chunkQQMMCXBP_cjs.SettingsPanel, { className: "max-w-2xl", children: [
|
|
8276
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8276
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkSDXK2COQ_cjs.ConnectedProfileCard, { avatarClassName, nameBadge: profileBadge }),
|
|
8277
8277
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedBoxPortalSection, {}),
|
|
8278
8278
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkQQMMCXBP_cjs.SettingsDisclosure, { title: "More", testId: "account-more-settings", children: [
|
|
8279
8279
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedSsoDisconnect, {}),
|
|
8280
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8280
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkSDXK2COQ_cjs.ConnectedSecuritySection, { children: securityRows }),
|
|
8281
8281
|
moreSettings,
|
|
8282
8282
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8283
|
-
|
|
8283
|
+
chunkSDXK2COQ_cjs.ConnectedIdentityVerification,
|
|
8284
8284
|
{
|
|
8285
8285
|
collapsible: true,
|
|
8286
8286
|
onManageBilling,
|
|
@@ -8290,7 +8290,7 @@ function ConnectedAccountSettings({
|
|
|
8290
8290
|
] }),
|
|
8291
8291
|
/* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Wifi, {}), title: "Session", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkQQMMCXBP_cjs.SettingsCard, { children: [
|
|
8292
8292
|
connection && /* @__PURE__ */ jsxRuntime.jsx(ServerConnectionRow, { ...connection }),
|
|
8293
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8293
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkSDXK2COQ_cjs.ConnectedSessionsRow, { renderSessionIcon }),
|
|
8294
8294
|
/* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsRow, { label: "Logout", description: "Sign out of your account on this device.", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8295
8295
|
ui.Button,
|
|
8296
8296
|
{
|
|
@@ -8307,9 +8307,9 @@ function ConnectedAccountSettings({
|
|
|
8307
8307
|
}
|
|
8308
8308
|
) })
|
|
8309
8309
|
] }) }),
|
|
8310
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8310
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkSDXK2COQ_cjs.ConnectedDangerZone, { renderSubscriptionLink }),
|
|
8311
8311
|
!onLogout && /* @__PURE__ */ jsxRuntime.jsx(
|
|
8312
|
-
|
|
8312
|
+
chunkSDXK2COQ_cjs.ConnectedLogoutDialog,
|
|
8313
8313
|
{
|
|
8314
8314
|
open: logoutOpen,
|
|
8315
8315
|
onClose: () => setLogoutOpen(false),
|
|
@@ -8617,7 +8617,7 @@ function ConnectedPrivacySettings({
|
|
|
8617
8617
|
}
|
|
8618
8618
|
)
|
|
8619
8619
|
] }) }),
|
|
8620
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8620
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkSDXK2COQ_cjs.ConnectedNotificationPreferences, {})
|
|
8621
8621
|
] });
|
|
8622
8622
|
}
|
|
8623
8623
|
var PROVIDER_NAMES = {
|
|
@@ -8658,13 +8658,13 @@ var COLUMNS = [
|
|
|
8658
8658
|
flex: 1,
|
|
8659
8659
|
minWidth: 120,
|
|
8660
8660
|
cellRenderer: (params) => isStandard(params.data) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
8661
|
-
|
|
8661
|
+
chunkMMSHLHTA_cjs.ModelProviderLabel,
|
|
8662
8662
|
{
|
|
8663
8663
|
logo: /* @__PURE__ */ jsxRuntime.jsx(ui.ArbiIcon, { size: 14, "aria-label": "ARBI", className: "flex-shrink-0 rounded-sm" }),
|
|
8664
8664
|
children: "ARBI CITY"
|
|
8665
8665
|
}
|
|
8666
8666
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
8667
|
-
|
|
8667
|
+
chunkMMSHLHTA_cjs.ModelProviderLabel,
|
|
8668
8668
|
{
|
|
8669
8669
|
logo: /* @__PURE__ */ jsxRuntime.jsx(ui.ProviderIcon, { modelName: params.data?.model_name, provider: params.value, size: 14 }),
|
|
8670
8670
|
children: PROVIDER_NAMES[params.value ?? ""] || params.value || "\u2014"
|
|
@@ -8741,7 +8741,7 @@ function ConnectedPremiumModels() {
|
|
|
8741
8741
|
);
|
|
8742
8742
|
if (premiumModels.length === 0) return null;
|
|
8743
8743
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsPanel, { className: "max-w-2xl space-y-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsSection, { title: "Premium models", children: /* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8744
|
-
|
|
8744
|
+
chunkMMSHLHTA_cjs.PremiumModelsFrame,
|
|
8745
8745
|
{
|
|
8746
8746
|
enabled: premiumModel !== "",
|
|
8747
8747
|
onEnabledChange: (enabled) => {
|
|
@@ -9069,10 +9069,10 @@ function ConnectedAppsSettings({
|
|
|
9069
9069
|
}
|
|
9070
9070
|
};
|
|
9071
9071
|
if (isLoading) {
|
|
9072
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9072
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.ConnectionsLoading, { message: "Loading connected apps\u2026" });
|
|
9073
9073
|
}
|
|
9074
9074
|
if (catalogError) {
|
|
9075
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9075
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.ConnectionsError, { message: "Failed to load connector catalog. Please refresh and try again." });
|
|
9076
9076
|
}
|
|
9077
9077
|
const visibleCatalog = catalog.filter((c) => isVendorVisible(c.vendor_key));
|
|
9078
9078
|
const sharePointVisible = isVendorVisible("microsoft_sharepoint");
|
|
@@ -9081,7 +9081,7 @@ function ConnectedAppsSettings({
|
|
|
9081
9081
|
(c) => !react.isMailboxSyncVendor(c.vendor_key) && !react.isSharePointVendor(c.vendor_key)
|
|
9082
9082
|
);
|
|
9083
9083
|
const renderCard = (entry) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
9084
|
-
|
|
9084
|
+
chunkMMSHLHTA_cjs.ConnectionCard,
|
|
9085
9085
|
{
|
|
9086
9086
|
connection: toConnectionCardView(entry, connectedByVendor[entry.vendor_key], {
|
|
9087
9087
|
isDisconnecting: disconnect.isPending && disconnect.variables?.vendorKey === entry.vendor_key,
|
|
@@ -9209,7 +9209,7 @@ function ConnectedAppsSettings({
|
|
|
9209
9209
|
}
|
|
9210
9210
|
)
|
|
9211
9211
|
] }),
|
|
9212
|
-
catalog.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsCard, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9212
|
+
catalog.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsCard, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.ConnectionsEmpty, { message: "No connectors available yet." }) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9213
9213
|
renderGroup("Email & Drive", EMAIL_AND_DRIVE_SUBTITLE, /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, {}), emailCatalog),
|
|
9214
9214
|
renderGroup(
|
|
9215
9215
|
"Apps & Integrations (MCP)",
|
|
@@ -9662,7 +9662,7 @@ function ConnectedStorageProjectCard({
|
|
|
9662
9662
|
project.personal && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-sm text-muted-foreground", children: "Mail, recordings of calls you host, chat attachments and everything not in a project." })
|
|
9663
9663
|
] }),
|
|
9664
9664
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9665
|
-
|
|
9665
|
+
chunkMMSHLHTA_cjs.UsageToggle,
|
|
9666
9666
|
{
|
|
9667
9667
|
value: view,
|
|
9668
9668
|
onChange: setView,
|
|
@@ -9747,7 +9747,7 @@ function ConnectedStorageProjectCard({
|
|
|
9747
9747
|
] })
|
|
9748
9748
|
] }),
|
|
9749
9749
|
view === "largest" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
9750
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9750
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.UsageToggle, { value: kind, onChange: setKind, options: KIND_FILTERS, ariaLabel: "Kind" }),
|
|
9751
9751
|
largest.isLoading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "Loading\u2026" }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
9752
9752
|
StorageItemsTable,
|
|
9753
9753
|
{
|
|
@@ -10006,7 +10006,7 @@ function ConnectedSettingsPage({
|
|
|
10006
10006
|
}, [requested]);
|
|
10007
10007
|
const controlled = section !== void 0;
|
|
10008
10008
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10009
|
-
|
|
10009
|
+
chunkMMSHLHTA_cjs.SettingsPage,
|
|
10010
10010
|
{
|
|
10011
10011
|
...page,
|
|
10012
10012
|
sections,
|
|
@@ -10038,7 +10038,7 @@ function UsageSettings({ icon: icon2 }) {
|
|
|
10038
10038
|
description: "AI usage today, in \xA3 (ex VAT).",
|
|
10039
10039
|
testId: "settings-usage",
|
|
10040
10040
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10041
|
-
|
|
10041
|
+
chunkMMSHLHTA_cjs.UsageSummary,
|
|
10042
10042
|
{
|
|
10043
10043
|
stats: [
|
|
10044
10044
|
{
|
|
@@ -10156,7 +10156,7 @@ function ReaderAppearance({ bundle }) {
|
|
|
10156
10156
|
const { defaults } = bundle;
|
|
10157
10157
|
const isDefault = state.pairingId === defaults.pairingId && state.colorScheme === defaults.colorScheme && state.textSize === defaults.textSize;
|
|
10158
10158
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10159
|
-
|
|
10159
|
+
chunkMMSHLHTA_cjs.AppearanceSettings,
|
|
10160
10160
|
{
|
|
10161
10161
|
colorScheme: state.colorScheme,
|
|
10162
10162
|
onColorSchemeChange: state.setColorScheme,
|
|
@@ -10376,7 +10376,7 @@ function SwitchRow({ row: row2 }) {
|
|
|
10376
10376
|
const { on, set } = react.useFeatureSwitch(row2.feature);
|
|
10377
10377
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
10378
10378
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10379
|
-
|
|
10379
|
+
chunkMMSHLHTA_cjs.SettingsSwitchRow,
|
|
10380
10380
|
{
|
|
10381
10381
|
id: row2.id ?? row2.feature,
|
|
10382
10382
|
testId: row2.testId ?? `toggle-${row2.feature}`,
|
|
@@ -10387,14 +10387,14 @@ function SwitchRow({ row: row2 }) {
|
|
|
10387
10387
|
onCheckedChange: set
|
|
10388
10388
|
}
|
|
10389
10389
|
),
|
|
10390
|
-
on && row2.rows && row2.rows.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
10390
|
+
on && row2.rows && row2.rows.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SettingsSwitchGroup, { children: row2.rows.map((sub) => /* @__PURE__ */ jsxRuntime.jsx(FeatureRow, { row: sub }, sub.feature)) })
|
|
10391
10391
|
] });
|
|
10392
10392
|
}
|
|
10393
10393
|
function CallsRow({ row: row2 }) {
|
|
10394
10394
|
const { on, set } = react.useFeatureSwitch(row2.feature);
|
|
10395
|
-
const state =
|
|
10395
|
+
const state = chunkMMSHLHTA_cjs.callsSwitchState(react.useCallsConfig(), on);
|
|
10396
10396
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10397
|
-
|
|
10397
|
+
chunkMMSHLHTA_cjs.SettingsSwitchRow,
|
|
10398
10398
|
{
|
|
10399
10399
|
id: row2.id ?? row2.feature,
|
|
10400
10400
|
testId: row2.testId ?? `toggle-${row2.feature}`,
|
|
@@ -10598,7 +10598,7 @@ function ConnectedRecoveryKeyDialog({
|
|
|
10598
10598
|
const arbi = react.useArbi();
|
|
10599
10599
|
const { user, isSso: isSsoMode } = react.useArbiSession();
|
|
10600
10600
|
const userEmail = user?.email;
|
|
10601
|
-
const sso =
|
|
10601
|
+
const sso = chunkSDXK2COQ_cjs.useSsoSignIn();
|
|
10602
10602
|
const handleVerify = async () => {
|
|
10603
10603
|
setError(null);
|
|
10604
10604
|
if (!password) {
|
|
@@ -10755,7 +10755,7 @@ function ConnectedMailOfflineSettings() {
|
|
|
10755
10755
|
] });
|
|
10756
10756
|
}
|
|
10757
10757
|
var JUST_CONNECTED_VIEW = "settings.justConnected";
|
|
10758
|
-
var identityFeeLabel = (status) => `${
|
|
10758
|
+
var identityFeeLabel = (status) => `${chunkDDIV3MYQ_cjs.formatMoney(status.price_pence, status.currency.toLowerCase())} incl. VAT`;
|
|
10759
10759
|
var openLogout = () => chunkJDFBEGQO_cjs.openDialog("logout");
|
|
10760
10760
|
function RecoveryKeyRow() {
|
|
10761
10761
|
const [open, setOpen] = react$1.useState(false);
|
|
@@ -10846,7 +10846,7 @@ function useSettingsSections({
|
|
|
10846
10846
|
] })
|
|
10847
10847
|
}),
|
|
10848
10848
|
// "Work offline" flips the one offline switch even while the server is reachable.
|
|
10849
|
-
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10849
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.WorkOfflineToggle, { isOffline: forceOffline, onToggle: setWorkOffline })
|
|
10850
10850
|
},
|
|
10851
10851
|
...showMail ? [
|
|
10852
10852
|
mailSettingsSection({
|
|
@@ -10993,7 +10993,7 @@ function ConnectedDeploymentStorage() {
|
|
|
10993
10993
|
deployment.unattributed_bytes > 0 && ` \xB7 ${chunk2VJBIBPE_cjs.formatBytes(deployment.unattributed_bytes)} not owned by any ${ui.entityNoun("PROJECT")}`
|
|
10994
10994
|
] }),
|
|
10995
10995
|
trend.dates.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
10996
|
-
|
|
10996
|
+
chunkMMSHLHTA_cjs.UsageLineChart,
|
|
10997
10997
|
{
|
|
10998
10998
|
dates: trend.dates,
|
|
10999
10999
|
series: trend.series,
|
|
@@ -11002,7 +11002,7 @@ function ConnectedDeploymentStorage() {
|
|
|
11002
11002
|
}
|
|
11003
11003
|
),
|
|
11004
11004
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11005
|
-
|
|
11005
|
+
chunkMMSHLHTA_cjs.UsageToggle,
|
|
11006
11006
|
{
|
|
11007
11007
|
value: view,
|
|
11008
11008
|
onChange: setView,
|
|
@@ -11720,7 +11720,7 @@ function AddWorkspaceMembersForm({
|
|
|
11720
11720
|
)
|
|
11721
11721
|
}
|
|
11722
11722
|
),
|
|
11723
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11723
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYZ6YOOTF_cjs.ModalActionRow, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { onClick: handleSubmit, disabled: selectedUsers.length === 0 || isAdding, children: isAdding ? labels.adding : labels.add(selectedUsers.length) }) })
|
|
11724
11724
|
] });
|
|
11725
11725
|
}
|
|
11726
11726
|
function WorkspaceAccessSummary({
|
|
@@ -11861,7 +11861,7 @@ function ConnectedProjectEntity({
|
|
|
11861
11861
|
subscription = "none",
|
|
11862
11862
|
...props
|
|
11863
11863
|
}) {
|
|
11864
|
-
const { stripeEnabled } =
|
|
11864
|
+
const { stripeEnabled } = chunkDDIV3MYQ_cjs.useBillingSupport();
|
|
11865
11865
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11866
11866
|
ui.ProjectEntity,
|
|
11867
11867
|
{
|
|
@@ -11954,7 +11954,7 @@ function StripeCheckoutModal({
|
|
|
11954
11954
|
const [clientSecret, setClientSecret] = react$1.useState(null);
|
|
11955
11955
|
const [isCreating, setIsCreating] = react$1.useState(false);
|
|
11956
11956
|
const [stripe, setStripe] = react$1.useState(null);
|
|
11957
|
-
const { stripeEnabled, checkout } =
|
|
11957
|
+
const { stripeEnabled, checkout } = chunkDDIV3MYQ_cjs.useBillingSupport();
|
|
11958
11958
|
const createCheckout = react.useCreateProjectCheckout();
|
|
11959
11959
|
const refreshProject = react.useRefreshProject();
|
|
11960
11960
|
const invalidateProjects = react.useInvalidateProjects();
|
|
@@ -11983,7 +11983,7 @@ function StripeCheckoutModal({
|
|
|
11983
11983
|
projectExtId,
|
|
11984
11984
|
body: {
|
|
11985
11985
|
interval,
|
|
11986
|
-
packs:
|
|
11986
|
+
packs: chunkDDIV3MYQ_cjs.PRO_PACKS,
|
|
11987
11987
|
ai_blocks: aiBlocks,
|
|
11988
11988
|
storage_blocks: storageBlocks,
|
|
11989
11989
|
addon_budget_pence: addonBudgetPence,
|
|
@@ -11999,7 +11999,7 @@ function StripeCheckoutModal({
|
|
|
11999
11999
|
},
|
|
12000
12000
|
onError: (error) => {
|
|
12001
12001
|
console.error("Failed to create checkout session:", error);
|
|
12002
|
-
const reason =
|
|
12002
|
+
const reason = chunkDDIV3MYQ_cjs.apiErrorDetail(error)?.message;
|
|
12003
12003
|
shell.notify.error(
|
|
12004
12004
|
reason ? `Checkout didn't start: ${reason}` : "Checkout didn't start. Try again."
|
|
12005
12005
|
);
|
|
@@ -12032,9 +12032,9 @@ function StripeCheckoutModal({
|
|
|
12032
12032
|
}
|
|
12033
12033
|
}, [open]);
|
|
12034
12034
|
const isStripeConfigured = stripeEnabled;
|
|
12035
|
-
const vatNote = quote ? `${
|
|
12035
|
+
const vatNote = quote ? `${chunkDDIV3MYQ_cjs.checkoutItemsLabel(aiBlocks, storageBlocks)} \xB7 ${chunkDDIV3MYQ_cjs.quoteTotalLine(quote)}` : null;
|
|
12036
12036
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12037
|
-
|
|
12037
|
+
chunkMMSHLHTA_cjs.CheckoutDialogFrame,
|
|
12038
12038
|
{
|
|
12039
12039
|
open,
|
|
12040
12040
|
onOpenChange,
|
|
@@ -12044,7 +12044,7 @@ function StripeCheckoutModal({
|
|
|
12044
12044
|
children: clientSecret && !!stripe && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12045
12045
|
vatNote && /* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "checkout-vat-note", className: "mb-4 text-sm text-muted-foreground", children: vatNote }),
|
|
12046
12046
|
checkout?.render(stripe, { clientSecret, onComplete: handleComplete }),
|
|
12047
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12047
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.MoreInfo, { title: "Paying", label: "Payment help", testId: "checkout-payment-help", children: [
|
|
12048
12048
|
/* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "checkout-decline-note", children: "Card declined? Nothing was charged. Try again or use another card." }),
|
|
12049
12049
|
/* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "checkout-vat-id-note", children: "No VAT number? Leave \u2018purchasing as a business\u2019 unticked." }),
|
|
12050
12050
|
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Add-ons chosen here are on the first invoice with the plan and renew with it until you reduce them." })
|
|
@@ -12086,31 +12086,31 @@ function defaultBillingCountry(languages = typeof navigator === "undefined" ? []
|
|
|
12086
12086
|
}
|
|
12087
12087
|
var choiceForPacks = (packs) => packs > 0 ? "pro" : "free";
|
|
12088
12088
|
function proCard(selected, isAnnual, prices) {
|
|
12089
|
-
const packs =
|
|
12089
|
+
const packs = chunkDDIV3MYQ_cjs.PLAN_CHOICE_PACKS.pro;
|
|
12090
12090
|
const currency = prices.monthly?.currency ?? prices.annual?.currency ?? "gbp";
|
|
12091
|
-
const monthly =
|
|
12092
|
-
const annual =
|
|
12091
|
+
const monthly = chunkDDIV3MYQ_cjs.packPrice(prices.monthly, packs);
|
|
12092
|
+
const annual = chunkDDIV3MYQ_cjs.packPrice(prices.annual, packs);
|
|
12093
12093
|
const current = isAnnual ? annual : monthly;
|
|
12094
12094
|
const effectiveMonthly = current ? isAnnual ? current.amount_ex_vat / 12 : current.amount_ex_vat : null;
|
|
12095
12095
|
return {
|
|
12096
12096
|
id: packs,
|
|
12097
|
-
name:
|
|
12097
|
+
name: chunkDDIV3MYQ_cjs.planNameForPacks(packs),
|
|
12098
12098
|
isSelected: selected === "pro",
|
|
12099
12099
|
price: current && effectiveMonthly != null ? {
|
|
12100
12100
|
annual: isAnnual,
|
|
12101
|
-
yearlyStrike: isAnnual && monthly && monthly.amount_ex_vat * 12 > current.amount_ex_vat ?
|
|
12102
|
-
yearlyTotal: isAnnual ?
|
|
12101
|
+
yearlyStrike: isAnnual && monthly && monthly.amount_ex_vat * 12 > current.amount_ex_vat ? chunkDDIV3MYQ_cjs.formatMoney(monthly.amount_ex_vat * 12, currency) : void 0,
|
|
12102
|
+
yearlyTotal: isAnnual ? chunkDDIV3MYQ_cjs.formatMoney(current.amount_ex_vat, currency) : void 0,
|
|
12103
12103
|
intervalLabel: isAnnual ? "/yr + VAT" : "/mo",
|
|
12104
|
-
monthly:
|
|
12104
|
+
monthly: chunkDDIV3MYQ_cjs.formatMoney(Math.round(effectiveMonthly), currency),
|
|
12105
12105
|
taxLabel: "+ VAT",
|
|
12106
12106
|
// The inclusive figure for a UK customer, right under the headline.
|
|
12107
|
-
note: `${
|
|
12107
|
+
note: `${chunkDDIV3MYQ_cjs.formatMoney(current.amount, currency)}${isAnnual ? "/yr" : "/mo"} incl. UK VAT`
|
|
12108
12108
|
} : void 0,
|
|
12109
12109
|
features: [
|
|
12110
|
-
`${react.formatGbp(
|
|
12111
|
-
`${
|
|
12110
|
+
`${react.formatGbp(chunkDDIV3MYQ_cjs.PRO_AI_GBP)} of AI usage / month`,
|
|
12111
|
+
`${chunkDDIV3MYQ_cjs.PRO_STORAGE_GB} GB storage`,
|
|
12112
12112
|
"Unlimited collaborators",
|
|
12113
|
-
...isAnnual ? [
|
|
12113
|
+
...isAnnual ? [chunkDDIV3MYQ_cjs.ANNUAL_PREMIUM_AI_NOTE] : []
|
|
12114
12114
|
]
|
|
12115
12115
|
};
|
|
12116
12116
|
}
|
|
@@ -12122,9 +12122,9 @@ function buildPlanCards(selected, isAnnual, prices, isOnFree) {
|
|
|
12122
12122
|
isCurrent: isOnFree,
|
|
12123
12123
|
isSelected: selected === "free" && !isOnFree,
|
|
12124
12124
|
features: [
|
|
12125
|
-
`${react.formatGbp(
|
|
12126
|
-
`${
|
|
12127
|
-
|
|
12125
|
+
`${react.formatGbp(chunkDDIV3MYQ_cjs.FREE_AI_GBP)} of AI usage / month`,
|
|
12126
|
+
`${chunkDDIV3MYQ_cjs.FREE_STORAGE_MB.toLocaleString("en-US")} MB storage`,
|
|
12127
|
+
chunkDDIV3MYQ_cjs.FREE_COLLABORATORS === 0 ? "Just you" : `${chunkDDIV3MYQ_cjs.FREE_COLLABORATORS} collaborators`
|
|
12128
12128
|
]
|
|
12129
12129
|
};
|
|
12130
12130
|
return [free, proCard(selected, isAnnual, prices)];
|
|
@@ -12137,7 +12137,7 @@ function PlanChoiceCards({
|
|
|
12137
12137
|
isOnFree = false
|
|
12138
12138
|
}) {
|
|
12139
12139
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12140
|
-
|
|
12140
|
+
chunkMMSHLHTA_cjs.PlanCardGrid,
|
|
12141
12141
|
{
|
|
12142
12142
|
plans: buildPlanCards(selected, isAnnual, prices, isOnFree),
|
|
12143
12143
|
onSelect: (id) => onSelect(choiceForPacks(id))
|
|
@@ -12146,13 +12146,13 @@ function PlanChoiceCards({
|
|
|
12146
12146
|
}
|
|
12147
12147
|
function PlanInfoPopover2() {
|
|
12148
12148
|
const { openSettings } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
12149
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12149
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanInfoPopover, { onOpenModelList: () => openSettings("chat") });
|
|
12150
12150
|
}
|
|
12151
12151
|
function CheckoutAddonBudget({
|
|
12152
12152
|
value,
|
|
12153
12153
|
onChange
|
|
12154
12154
|
}) {
|
|
12155
|
-
const budget =
|
|
12155
|
+
const budget = chunkDDIV3MYQ_cjs.parseBudgetPounds(value);
|
|
12156
12156
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12157
12157
|
"div",
|
|
12158
12158
|
{
|
|
@@ -12175,7 +12175,7 @@ function CheckoutAddonBudget({
|
|
|
12175
12175
|
step: 25,
|
|
12176
12176
|
className: "h-8 w-24",
|
|
12177
12177
|
value,
|
|
12178
|
-
placeholder: String(
|
|
12178
|
+
placeholder: String(chunkDDIV3MYQ_cjs.DEFAULT_SPEND_CAP_PENCE / 100),
|
|
12179
12179
|
onChange: (e) => onChange(e.target.value),
|
|
12180
12180
|
"aria-invalid": budget === void 0,
|
|
12181
12181
|
"data-testid": "checkout-addon-budget-input"
|
|
@@ -12193,7 +12193,7 @@ function BlockStepper({
|
|
|
12193
12193
|
onChange,
|
|
12194
12194
|
testId
|
|
12195
12195
|
}) {
|
|
12196
|
-
const set = (n) => onChange(Math.max(0, Math.min(
|
|
12196
|
+
const set = (n) => onChange(Math.max(0, Math.min(chunkDDIV3MYQ_cjs.MAX_CHECKOUT_BLOCKS, n)));
|
|
12197
12197
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12198
12198
|
"div",
|
|
12199
12199
|
{
|
|
@@ -12237,7 +12237,7 @@ function BlockStepper({
|
|
|
12237
12237
|
className: "size-8",
|
|
12238
12238
|
"aria-label": `More: ${label}`,
|
|
12239
12239
|
onClick: () => set(value + 1),
|
|
12240
|
-
disabled: value >=
|
|
12240
|
+
disabled: value >= chunkDDIV3MYQ_cjs.MAX_CHECKOUT_BLOCKS,
|
|
12241
12241
|
"data-testid": `${testId}-increment`,
|
|
12242
12242
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-4" })
|
|
12243
12243
|
}
|
|
@@ -12254,8 +12254,8 @@ function CheckoutAddonBlocks({
|
|
|
12254
12254
|
onStorageBlocksChange,
|
|
12255
12255
|
price
|
|
12256
12256
|
}) {
|
|
12257
|
-
const ai =
|
|
12258
|
-
const storage =
|
|
12257
|
+
const ai = chunkDDIV3MYQ_cjs.addonPrice(price, "ai_usage");
|
|
12258
|
+
const storage = chunkDDIV3MYQ_cjs.addonPrice(price, "storage");
|
|
12259
12259
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12260
12260
|
"div",
|
|
12261
12261
|
{
|
|
@@ -12265,8 +12265,8 @@ function CheckoutAddonBlocks({
|
|
|
12265
12265
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12266
12266
|
BlockStepper,
|
|
12267
12267
|
{
|
|
12268
|
-
label: `+${react.formatGbp(ai?.ai_gbp ||
|
|
12269
|
-
priceText:
|
|
12268
|
+
label: `+${react.formatGbp(ai?.ai_gbp || chunkDDIV3MYQ_cjs.ADDON_BLOCK_AI_GBP)} of AI usage`,
|
|
12269
|
+
priceText: chunkDDIV3MYQ_cjs.checkoutBlockPriceText(price, "ai_usage"),
|
|
12270
12270
|
value: aiBlocks,
|
|
12271
12271
|
onChange: onAiBlocksChange,
|
|
12272
12272
|
testId: "checkout-ai-blocks"
|
|
@@ -12275,8 +12275,8 @@ function CheckoutAddonBlocks({
|
|
|
12275
12275
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12276
12276
|
BlockStepper,
|
|
12277
12277
|
{
|
|
12278
|
-
label: `+${storage?.storage_gb ||
|
|
12279
|
-
priceText:
|
|
12278
|
+
label: `+${storage?.storage_gb || chunkDDIV3MYQ_cjs.STORAGE_BLOCK_GB} GB storage`,
|
|
12279
|
+
priceText: chunkDDIV3MYQ_cjs.checkoutBlockPriceText(price, "storage"),
|
|
12280
12280
|
value: storageBlocks,
|
|
12281
12281
|
onChange: onStorageBlocksChange,
|
|
12282
12282
|
testId: "checkout-storage-blocks"
|
|
@@ -12338,7 +12338,7 @@ function CheckoutTotal({
|
|
|
12338
12338
|
className: "text-sm font-medium text-foreground",
|
|
12339
12339
|
"data-testid": "checkout-total",
|
|
12340
12340
|
"aria-live": "polite",
|
|
12341
|
-
children: state.quote && !state.isLoading ?
|
|
12341
|
+
children: state.quote && !state.isLoading ? chunkDDIV3MYQ_cjs.quoteTotalLine(state.quote) : state.isLoading ? "Calculating total\u2026" : state.error
|
|
12342
12342
|
}
|
|
12343
12343
|
)
|
|
12344
12344
|
] });
|
|
@@ -12371,13 +12371,13 @@ function useCheckoutQuote({
|
|
|
12371
12371
|
...aiBlocks || storageBlocks ? { addons: { ai_usage: aiBlocks, storage: storageBlocks } } : {}
|
|
12372
12372
|
} : null
|
|
12373
12373
|
);
|
|
12374
|
-
const { code, message } = query.isError ?
|
|
12375
|
-
const locationInvalid = code ===
|
|
12374
|
+
const { code, message } = query.isError ? chunkDDIV3MYQ_cjs.quoteError(query.error) : {};
|
|
12375
|
+
const locationInvalid = code === chunkDDIV3MYQ_cjs.TAX_LOCATION_INVALID;
|
|
12376
12376
|
const isLoading = enabled && (query.isLoading || postal !== postalCode.trim());
|
|
12377
12377
|
return {
|
|
12378
12378
|
quote: query.data,
|
|
12379
12379
|
isLoading,
|
|
12380
|
-
showPostcode:
|
|
12380
|
+
showPostcode: chunkDDIV3MYQ_cjs.POSTCODE_COUNTRIES.includes(country) || locationInvalid || postalCode !== "",
|
|
12381
12381
|
error: query.isError ? locationInvalid ? message ?? "Enter your ZIP / postal code to see the total." : message ?? "Couldn't calculate tax. Stripe shows the total next." : null,
|
|
12382
12382
|
canContinue: !isLoading && (!!query.data || query.isError && !locationInvalid)
|
|
12383
12383
|
};
|
|
@@ -12408,14 +12408,14 @@ function ConnectedReferralRewardSummary({
|
|
|
12408
12408
|
if (!reward) return null;
|
|
12409
12409
|
const applied = totalCents != null && currency ? applyReferralReward(totalCents, reward, currency) : null;
|
|
12410
12410
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12411
|
-
|
|
12411
|
+
chunkMMSHLHTA_cjs.ReferralRewardSummary,
|
|
12412
12412
|
{
|
|
12413
|
-
amountLabel:
|
|
12413
|
+
amountLabel: chunkDDIV3MYQ_cjs.formatMoney(reward.amount, reward.currency),
|
|
12414
12414
|
breakdown: applied && totalCents != null && currency ? {
|
|
12415
|
-
subtotal:
|
|
12416
|
-
reward:
|
|
12417
|
-
youPay:
|
|
12418
|
-
rollover: applied.remaining > 0 ?
|
|
12415
|
+
subtotal: chunkDDIV3MYQ_cjs.formatMoney(totalCents, currency),
|
|
12416
|
+
reward: chunkDDIV3MYQ_cjs.formatMoney(applied.bonus, currency),
|
|
12417
|
+
youPay: chunkDDIV3MYQ_cjs.formatMoney(applied.youPay, currency),
|
|
12418
|
+
rollover: applied.remaining > 0 ? chunkDDIV3MYQ_cjs.formatMoney(applied.remaining, currency) : void 0
|
|
12419
12419
|
} : void 0
|
|
12420
12420
|
}
|
|
12421
12421
|
);
|
|
@@ -12423,10 +12423,10 @@ function ConnectedReferralRewardSummary({
|
|
|
12423
12423
|
function ConnectedReferralRewardNote() {
|
|
12424
12424
|
const reward = useReferralReward();
|
|
12425
12425
|
if (!reward) return null;
|
|
12426
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12426
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.ReferralRewardNote, { amountLabel: chunkDDIV3MYQ_cjs.formatMoney(reward.amount, reward.currency) });
|
|
12427
12427
|
}
|
|
12428
12428
|
function createProjectErrorMessage(error, fallback = `Failed to create ${ui.entityNoun("PROJECT")}`) {
|
|
12429
|
-
const detail =
|
|
12429
|
+
const detail = chunkDDIV3MYQ_cjs.apiErrorDetail(error);
|
|
12430
12430
|
if (typeof detail === "string" && detail) return detail;
|
|
12431
12431
|
const message = detail?.message;
|
|
12432
12432
|
return typeof message === "string" && message ? message : fallback;
|
|
@@ -12436,7 +12436,7 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
12436
12436
|
const [plan, setPlan] = react$1.useState("pro");
|
|
12437
12437
|
const [isAnnual, setIsAnnual] = react$1.useState(false);
|
|
12438
12438
|
const [promoCode, setPromoCode] = react$1.useState("");
|
|
12439
|
-
const [addonBudget, setAddonBudget] = react$1.useState(String(
|
|
12439
|
+
const [addonBudget, setAddonBudget] = react$1.useState(String(chunkDDIV3MYQ_cjs.DEFAULT_SPEND_CAP_PENCE / 100));
|
|
12440
12440
|
const [checkoutBudget, setCheckoutBudget] = react$1.useState(null);
|
|
12441
12441
|
const [aiBlocks, setAiBlocks] = react$1.useState(0);
|
|
12442
12442
|
const [storageBlocks, setStorageBlocks] = react$1.useState(0);
|
|
@@ -12450,7 +12450,7 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
12450
12450
|
const [checkoutProjectName, setCheckoutProjectName] = react$1.useState("");
|
|
12451
12451
|
const [checkoutInterval, setCheckoutInterval] = react$1.useState("month");
|
|
12452
12452
|
const paymentCompletedRef = react$1.useRef(false);
|
|
12453
|
-
const { stripeEnabled } =
|
|
12453
|
+
const { stripeEnabled } = chunkDDIV3MYQ_cjs.useBillingSupport();
|
|
12454
12454
|
const { data: products, isLoading: productsLoading } = react.useProducts({
|
|
12455
12455
|
enabled: stripeEnabled
|
|
12456
12456
|
});
|
|
@@ -12479,18 +12479,18 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
12479
12479
|
setPlan("pro");
|
|
12480
12480
|
setPromoCode("");
|
|
12481
12481
|
setPostalCode("");
|
|
12482
|
-
setAddonBudget(String(
|
|
12482
|
+
setAddonBudget(String(chunkDDIV3MYQ_cjs.DEFAULT_SPEND_CAP_PENCE / 100));
|
|
12483
12483
|
setAiBlocks(0);
|
|
12484
12484
|
setStorageBlocks(0);
|
|
12485
12485
|
setIsCreating(false);
|
|
12486
12486
|
}
|
|
12487
12487
|
onOpenChange(newOpen);
|
|
12488
12488
|
};
|
|
12489
|
-
const prices =
|
|
12489
|
+
const prices = chunkDDIV3MYQ_cjs.findProPrices(products);
|
|
12490
12490
|
const intervalPrice = isAnnual ? prices.annual : prices.monthly;
|
|
12491
|
-
const selectedPrice =
|
|
12491
|
+
const selectedPrice = chunkDDIV3MYQ_cjs.packPrice(intervalPrice);
|
|
12492
12492
|
const currency = intervalPrice?.currency ?? "gbp";
|
|
12493
|
-
const savingsPercent =
|
|
12493
|
+
const savingsPercent = chunkDDIV3MYQ_cjs.calcSavingsPercent(prices.monthly, prices.annual);
|
|
12494
12494
|
const isPro = stripeEnabled && plan !== "free";
|
|
12495
12495
|
const quote = useCheckoutQuote({
|
|
12496
12496
|
interval: isAnnual ? "year" : "month",
|
|
@@ -12500,14 +12500,14 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
12500
12500
|
storageBlocks,
|
|
12501
12501
|
enabled: open && isPro && !!selectedPrice
|
|
12502
12502
|
});
|
|
12503
|
-
const canSubmit = !!projectName.trim() && !isCreating && !createProject.isPending && (!isPro || !!selectedPrice &&
|
|
12503
|
+
const canSubmit = !!projectName.trim() && !isCreating && !createProject.isPending && (!isPro || !!selectedPrice && chunkDDIV3MYQ_cjs.parseBudgetPounds(addonBudget) !== void 0 && quote.canContinue);
|
|
12504
12504
|
const handleCreateFree = () => {
|
|
12505
12505
|
setIsCreating(true);
|
|
12506
12506
|
createProject.mutate(
|
|
12507
12507
|
{
|
|
12508
12508
|
name: projectName.trim(),
|
|
12509
12509
|
plan: "free",
|
|
12510
|
-
daily_cap_per_user:
|
|
12510
|
+
daily_cap_per_user: chunkDDIV3MYQ_cjs.SUGGESTED_DAILY_CAP_PER_USER
|
|
12511
12511
|
},
|
|
12512
12512
|
{
|
|
12513
12513
|
onSuccess: () => {
|
|
@@ -12524,14 +12524,14 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
12524
12524
|
};
|
|
12525
12525
|
const handleSubscribe = () => {
|
|
12526
12526
|
const interval = isAnnual ? "year" : "month";
|
|
12527
|
-
const parsed =
|
|
12528
|
-
const budgetToSend = parsed == null || parsed ===
|
|
12527
|
+
const parsed = chunkDDIV3MYQ_cjs.parseBudgetPounds(addonBudget);
|
|
12528
|
+
const budgetToSend = parsed == null || parsed === chunkDDIV3MYQ_cjs.DEFAULT_SPEND_CAP_PENCE ? null : parsed;
|
|
12529
12529
|
setIsCreating(true);
|
|
12530
12530
|
createProject.mutate(
|
|
12531
12531
|
{
|
|
12532
12532
|
name: projectName.trim(),
|
|
12533
12533
|
plan: "pro",
|
|
12534
|
-
daily_cap_per_user:
|
|
12534
|
+
daily_cap_per_user: chunkDDIV3MYQ_cjs.SUGGESTED_DAILY_CAP_PER_USER
|
|
12535
12535
|
},
|
|
12536
12536
|
{
|
|
12537
12537
|
onSuccess: (newProject) => {
|
|
@@ -12572,8 +12572,8 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
12572
12572
|
description: stripeEnabled ? "Name it and pick a plan." : `${ui.getEntityLabel("PROJECT", "PLURAL")} group your ${ui.entityNoun("WORKSPACE", "PLURAL")}.`,
|
|
12573
12573
|
showDescription: true,
|
|
12574
12574
|
size: "xl",
|
|
12575
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12576
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12575
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.PlanStack, { gap: 5, children: [
|
|
12576
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.PlanStack, { gap: 2, children: [
|
|
12577
12577
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "new-project-name", children: "Name" }),
|
|
12578
12578
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12579
12579
|
ui.Input,
|
|
@@ -12589,16 +12589,16 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
12589
12589
|
}
|
|
12590
12590
|
)
|
|
12591
12591
|
] }),
|
|
12592
|
-
stripeEnabled && (productsLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
12593
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12592
|
+
stripeEnabled && (productsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanNotice, { children: "Loading plans\u2026" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12593
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.PlanPickerCard, { children: [
|
|
12594
12594
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12595
|
-
|
|
12595
|
+
chunkMMSHLHTA_cjs.PlanPickerHeader,
|
|
12596
12596
|
{
|
|
12597
12597
|
title: "Plan",
|
|
12598
12598
|
info: /* @__PURE__ */ jsxRuntime.jsx(PlanInfoPopover2, {}),
|
|
12599
12599
|
infoPlacement: "toggle",
|
|
12600
12600
|
toggle: plan !== "free" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
12601
|
-
|
|
12601
|
+
chunkMMSHLHTA_cjs.PricingToggle,
|
|
12602
12602
|
{
|
|
12603
12603
|
isAnnual,
|
|
12604
12604
|
onToggle: () => setIsAnnual(!isAnnual),
|
|
@@ -12636,7 +12636,7 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
12636
12636
|
currency
|
|
12637
12637
|
}
|
|
12638
12638
|
),
|
|
12639
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12639
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PromoCodeInput, { value: promoCode, onChange: setPromoCode }),
|
|
12640
12640
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12641
12641
|
CheckoutCountrySelect,
|
|
12642
12642
|
{
|
|
@@ -12655,10 +12655,10 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
12655
12655
|
onPostalCodeChange: setPostalCode
|
|
12656
12656
|
}
|
|
12657
12657
|
)
|
|
12658
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
12658
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanNotice, { children: "Pro isn't available right now." }))
|
|
12659
12659
|
] })),
|
|
12660
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12661
|
-
isSlow && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12660
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanActionButton, { onClick: submit, disabled: !canSubmit, children: isCreating ? "Creating\u2026" : isPro ? "Continue to payment" : `Create ${ui.entityNoun("PROJECT")}` }),
|
|
12661
|
+
isSlow && /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanNotice, { className: "text-xs", testId: "new-project-still-working", children: "Still working. We'll update here." })
|
|
12662
12662
|
] })
|
|
12663
12663
|
}
|
|
12664
12664
|
),
|
|
@@ -12698,15 +12698,15 @@ function ConnectedProjectSelector({
|
|
|
12698
12698
|
readOnly,
|
|
12699
12699
|
className
|
|
12700
12700
|
}) {
|
|
12701
|
-
const { stripeEnabled } =
|
|
12701
|
+
const { stripeEnabled } = chunkDDIV3MYQ_cjs.useBillingSupport();
|
|
12702
12702
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12703
|
-
|
|
12703
|
+
chunkYZ6YOOTF_cjs.ProjectPicker,
|
|
12704
12704
|
{
|
|
12705
12705
|
value: projectExtId ?? void 0,
|
|
12706
12706
|
options: projectOptions.map((proj) => ({
|
|
12707
12707
|
id: proj.external_id,
|
|
12708
12708
|
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
12709
|
-
|
|
12709
|
+
chunkYZ6YOOTF_cjs.ProjectOptionRow,
|
|
12710
12710
|
{
|
|
12711
12711
|
identity: /* @__PURE__ */ jsxRuntime.jsx(
|
|
12712
12712
|
ConnectedProjectEntity,
|
|
@@ -12842,13 +12842,13 @@ function ConnectedWorkspaceSettings({
|
|
|
12842
12842
|
const [membersExpanded, setMembersExpanded] = react$1.useState(false);
|
|
12843
12843
|
const [shareOpen, setShareOpen] = react$1.useState(false);
|
|
12844
12844
|
if (!workspace) {
|
|
12845
|
-
return /* @__PURE__ */ jsxRuntime.jsx(chunkC5CWKZ5D_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
12845
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkC5CWKZ5D_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkCCALU47C_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
|
|
12846
12846
|
}
|
|
12847
12847
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12848
12848
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkC5CWKZ5D_cjs.WorkspacePageFrame, { testId, children: [
|
|
12849
12849
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkC5CWKZ5D_cjs.WorkspaceIdentityPanel, { children: [
|
|
12850
12850
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12851
|
-
|
|
12851
|
+
chunkCCALU47C_cjs.EntityIdentityBar,
|
|
12852
12852
|
{
|
|
12853
12853
|
testId: "workspace-identity-bar",
|
|
12854
12854
|
canEdit: isOwner,
|
|
@@ -12865,7 +12865,7 @@ function ConnectedWorkspaceSettings({
|
|
|
12865
12865
|
label: "Name",
|
|
12866
12866
|
value: workspace.name,
|
|
12867
12867
|
placeholder: "Untitled",
|
|
12868
|
-
maxLength:
|
|
12868
|
+
maxLength: chunkCCALU47C_cjs.IDENTITY_NAME_MAX_LENGTH,
|
|
12869
12869
|
valueClassName: "truncate text-base font-semibold",
|
|
12870
12870
|
testId: "workspace-home-title",
|
|
12871
12871
|
hideLabel: true,
|
|
@@ -13495,20 +13495,20 @@ function ConnectedEmailWorkspaceDialog({
|
|
|
13495
13495
|
else if (activeSession)
|
|
13496
13496
|
access = {
|
|
13497
13497
|
kind: "session",
|
|
13498
|
-
expiresIn:
|
|
13498
|
+
expiresIn: chunkMMSHLHTA_cjs.formatSessionTtl(activeSession.ttl),
|
|
13499
13499
|
isEnding: terminateSession.isPending,
|
|
13500
13500
|
onEnd: handleEndSession
|
|
13501
13501
|
};
|
|
13502
13502
|
else
|
|
13503
13503
|
access = {
|
|
13504
13504
|
kind: "idle",
|
|
13505
|
-
defaultTtl: limits ?
|
|
13505
|
+
defaultTtl: limits ? chunkMMSHLHTA_cjs.formatSessionTtl(limits.default_ttl_seconds) : void 0,
|
|
13506
13506
|
isAuthorizing: grantAgentAccess.isPending && grantAgentAccess.variables?.mode?.kind === "temporary",
|
|
13507
13507
|
onAuthorize: handleAuthorize
|
|
13508
13508
|
};
|
|
13509
13509
|
}
|
|
13510
13510
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13511
|
-
|
|
13511
|
+
chunkMMSHLHTA_cjs.EmailWorkspaceDialogView,
|
|
13512
13512
|
{
|
|
13513
13513
|
open,
|
|
13514
13514
|
onOpenChange,
|
|
@@ -13754,10 +13754,10 @@ function WorkspaceCreateForm({
|
|
|
13754
13754
|
}
|
|
13755
13755
|
};
|
|
13756
13756
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5", "data-testid": "create-workspace-form", children: [
|
|
13757
|
-
errorMessage2 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
13757
|
+
errorMessage2 && /* @__PURE__ */ jsxRuntime.jsx(chunkYZ6YOOTF_cjs.FormErrorBanner, { message: errorMessage2 }),
|
|
13758
13758
|
/* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, className: "flex flex-col gap-5", children: [
|
|
13759
13759
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13760
|
-
|
|
13760
|
+
chunkYZ6YOOTF_cjs.WorkspaceFieldsView,
|
|
13761
13761
|
{
|
|
13762
13762
|
name: localWorkspaceName,
|
|
13763
13763
|
description: localWorkspaceDescription,
|
|
@@ -13797,7 +13797,7 @@ function WorkspaceCreateForm({
|
|
|
13797
13797
|
] }) : void 0
|
|
13798
13798
|
}
|
|
13799
13799
|
),
|
|
13800
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
13800
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkYZ6YOOTF_cjs.FormActions, { children: [
|
|
13801
13801
|
onCancel && /* @__PURE__ */ jsxRuntime.jsx(
|
|
13802
13802
|
ui.Button,
|
|
13803
13803
|
{
|
|
@@ -13847,7 +13847,7 @@ function ConnectedWorkspaceFormModal({
|
|
|
13847
13847
|
const canCreate = demoSeed ? true : allowed;
|
|
13848
13848
|
const workspaceLabel = ui.getEntityLabel("WORKSPACE");
|
|
13849
13849
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13850
|
-
|
|
13850
|
+
chunkYZ6YOOTF_cjs.WorkspaceFormModal,
|
|
13851
13851
|
{
|
|
13852
13852
|
...frame,
|
|
13853
13853
|
...canCreate === false ? {
|
|
@@ -14028,9 +14028,9 @@ function ConnectedMailboxSyncDialog({
|
|
|
14028
14028
|
showDescription: true,
|
|
14029
14029
|
className: "w-[92vw] sm:max-w-lg",
|
|
14030
14030
|
children: [
|
|
14031
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
14032
|
-
!lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14033
|
-
|
|
14031
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.SyncDialogBody, { children: [
|
|
14032
|
+
!lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SyncField, { label: "Target workspace", htmlFor: "sync-workspace", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14033
|
+
chunkMMSHLHTA_cjs.SyncSelect,
|
|
14034
14034
|
{
|
|
14035
14035
|
id: "sync-workspace",
|
|
14036
14036
|
value: workspaceExtId,
|
|
@@ -14039,9 +14039,9 @@ function ConnectedMailboxSyncDialog({
|
|
|
14039
14039
|
options: memberWorkspaces.map((w) => ({ value: w.external_id, label: w.name }))
|
|
14040
14040
|
}
|
|
14041
14041
|
) }),
|
|
14042
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
14042
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.SyncField, { label: "Backfill window", htmlFor: "sync-backfill", children: [
|
|
14043
14043
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14044
|
-
|
|
14044
|
+
chunkMMSHLHTA_cjs.SyncSelect,
|
|
14045
14045
|
{
|
|
14046
14046
|
id: "sync-backfill",
|
|
14047
14047
|
value: backfill,
|
|
@@ -14061,17 +14061,17 @@ function ConnectedMailboxSyncDialog({
|
|
|
14061
14061
|
"aria-label": "Import emails since date"
|
|
14062
14062
|
}
|
|
14063
14063
|
),
|
|
14064
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14064
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SyncSmallNote, { children: "Emails are always imported from this date onward \u2014 the start point never moves." })
|
|
14065
14065
|
] })
|
|
14066
14066
|
] }),
|
|
14067
14067
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14068
|
-
|
|
14068
|
+
chunkMMSHLHTA_cjs.SyncField,
|
|
14069
14069
|
{
|
|
14070
14070
|
label: `Folders to import${selectedFolders.length > 0 ? ` (${selectedFolders.length})` : ""}`,
|
|
14071
14071
|
hint: "Select at least one folder to import.",
|
|
14072
|
-
actions: folders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14072
|
+
actions: folders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.SyncLinkRow, { children: [
|
|
14073
14073
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14074
|
-
|
|
14074
|
+
chunkMMSHLHTA_cjs.SyncLinkButton,
|
|
14075
14075
|
{
|
|
14076
14076
|
onClick: () => setExpandAllNonce((n) => n + 1),
|
|
14077
14077
|
testId: "mail-folders-expand-all",
|
|
@@ -14079,20 +14079,20 @@ function ConnectedMailboxSyncDialog({
|
|
|
14079
14079
|
}
|
|
14080
14080
|
),
|
|
14081
14081
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14082
|
-
|
|
14082
|
+
chunkMMSHLHTA_cjs.SyncLinkButton,
|
|
14083
14083
|
{
|
|
14084
14084
|
onClick: () => setCollapseAllNonce((n) => n + 1),
|
|
14085
14085
|
testId: "mail-folders-collapse-all",
|
|
14086
14086
|
children: "Collapse all"
|
|
14087
14087
|
}
|
|
14088
14088
|
),
|
|
14089
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14089
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SyncLinkButton, { onClick: toggleAllFolders, children: allSelected ? "Clear all" : "Select all" })
|
|
14090
14090
|
] }),
|
|
14091
|
-
children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
14091
|
+
children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SyncLoading, { children: "Loading folders\u2026" }) : foldersError ? (
|
|
14092
14092
|
// A failed fetch is not an empty mailbox: it hides auth/scope errors (e.g. a Gmail
|
|
14093
14093
|
// account needing reconnect).
|
|
14094
14094
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14095
|
-
|
|
14095
|
+
chunkMMSHLHTA_cjs.SyncReconnectNotice,
|
|
14096
14096
|
{
|
|
14097
14097
|
message: `Couldn\u2019t load folders from ${catalog.display_name}. Reconnect the account and try again.`,
|
|
14098
14098
|
onReconnect: () => void reconnect(),
|
|
@@ -14100,7 +14100,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
14100
14100
|
testId: "folders-reconnect"
|
|
14101
14101
|
}
|
|
14102
14102
|
)
|
|
14103
|
-
) : folders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
14103
|
+
) : folders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14104
14104
|
chunkYN7ZQEHS_cjs.MailFolderTree,
|
|
14105
14105
|
{
|
|
14106
14106
|
nodes: folderTree,
|
|
@@ -14112,9 +14112,9 @@ function ConnectedMailboxSyncDialog({
|
|
|
14112
14112
|
) })
|
|
14113
14113
|
}
|
|
14114
14114
|
),
|
|
14115
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
14115
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.SyncOptions, { children: [
|
|
14116
14116
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14117
|
-
|
|
14117
|
+
chunkMMSHLHTA_cjs.SyncOptionToggle,
|
|
14118
14118
|
{
|
|
14119
14119
|
checked: skipDuplicates,
|
|
14120
14120
|
onCheckedChange: setSkipDuplicates,
|
|
@@ -14124,7 +14124,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
14124
14124
|
}
|
|
14125
14125
|
),
|
|
14126
14126
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14127
|
-
|
|
14127
|
+
chunkMMSHLHTA_cjs.SyncOptionToggle,
|
|
14128
14128
|
{
|
|
14129
14129
|
checked: autoRename,
|
|
14130
14130
|
onCheckedChange: setAutoRename,
|
|
@@ -14134,7 +14134,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
14134
14134
|
}
|
|
14135
14135
|
),
|
|
14136
14136
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14137
|
-
|
|
14137
|
+
chunkMMSHLHTA_cjs.SyncOptionToggle,
|
|
14138
14138
|
{
|
|
14139
14139
|
checked: shared,
|
|
14140
14140
|
onCheckedChange: setShared,
|
|
@@ -14144,7 +14144,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
14144
14144
|
}
|
|
14145
14145
|
),
|
|
14146
14146
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14147
|
-
|
|
14147
|
+
chunkMMSHLHTA_cjs.SyncOptionToggle,
|
|
14148
14148
|
{
|
|
14149
14149
|
checked: autoSync,
|
|
14150
14150
|
onCheckedChange: setAutoSync,
|
|
@@ -14156,7 +14156,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
14156
14156
|
] })
|
|
14157
14157
|
] }),
|
|
14158
14158
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14159
|
-
|
|
14159
|
+
chunkMMSHLHTA_cjs.SyncDialogFooter,
|
|
14160
14160
|
{
|
|
14161
14161
|
onCancel: () => onOpenChange(false),
|
|
14162
14162
|
onSave: handleEnableSubmit,
|
|
@@ -14218,7 +14218,7 @@ function DriveFolderNode({
|
|
|
14218
14218
|
const mightHaveChildren = docCount == null || docCount > 0;
|
|
14219
14219
|
const orderedChildren = [...children].sort((a, b) => a.name.localeCompare(b.name));
|
|
14220
14220
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14221
|
-
|
|
14221
|
+
chunkMMSHLHTA_cjs.SyncFolderRow,
|
|
14222
14222
|
{
|
|
14223
14223
|
id: folder.id,
|
|
14224
14224
|
name: folder.name,
|
|
@@ -14232,7 +14232,7 @@ function DriveFolderNode({
|
|
|
14232
14232
|
onCheckedChange: () => onToggle(folder.id),
|
|
14233
14233
|
count: typeof docCount === "number" ? docCount : void 0,
|
|
14234
14234
|
isCountLoading: isSelectable && countLoading,
|
|
14235
|
-
children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
14235
|
+
children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SyncFolderStatus, { depth, kind: "loading" }) : orderedChildren.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SyncFolderStatus, { depth, kind: "empty" }) : orderedChildren.map((child) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
14236
14236
|
DriveFolderNode,
|
|
14237
14237
|
{
|
|
14238
14238
|
vendorKey,
|
|
@@ -14378,9 +14378,9 @@ function ConnectedDriveSyncDialog({
|
|
|
14378
14378
|
showDescription: true,
|
|
14379
14379
|
className: "w-[92vw] sm:max-w-lg",
|
|
14380
14380
|
children: [
|
|
14381
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
14382
|
-
!lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14383
|
-
|
|
14381
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.SyncDialogBody, { children: [
|
|
14382
|
+
!lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SyncField, { label: "Target workspace", htmlFor: "drive-sync-workspace", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14383
|
+
chunkMMSHLHTA_cjs.SyncSelect,
|
|
14384
14384
|
{
|
|
14385
14385
|
id: "drive-sync-workspace",
|
|
14386
14386
|
value: workspaceExtId,
|
|
@@ -14390,13 +14390,13 @@ function ConnectedDriveSyncDialog({
|
|
|
14390
14390
|
}
|
|
14391
14391
|
) }),
|
|
14392
14392
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14393
|
-
|
|
14393
|
+
chunkMMSHLHTA_cjs.SyncField,
|
|
14394
14394
|
{
|
|
14395
14395
|
label: `Folders to import${selectedFolders.length > 0 ? ` (${selectedFolders.length})` : ""}`,
|
|
14396
14396
|
hint: "Select at least one folder. Importing a folder includes everything inside it.",
|
|
14397
|
-
actions: orderedFolders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14397
|
+
actions: orderedFolders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.SyncLinkRow, { children: [
|
|
14398
14398
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14399
|
-
|
|
14399
|
+
chunkMMSHLHTA_cjs.SyncLinkButton,
|
|
14400
14400
|
{
|
|
14401
14401
|
onClick: () => setExpandAllNonce((n) => n + 1),
|
|
14402
14402
|
testId: "drive-folders-expand-all",
|
|
@@ -14404,7 +14404,7 @@ function ConnectedDriveSyncDialog({
|
|
|
14404
14404
|
}
|
|
14405
14405
|
),
|
|
14406
14406
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14407
|
-
|
|
14407
|
+
chunkMMSHLHTA_cjs.SyncLinkButton,
|
|
14408
14408
|
{
|
|
14409
14409
|
onClick: () => setCollapseAllNonce((n) => n + 1),
|
|
14410
14410
|
testId: "drive-folders-collapse-all",
|
|
@@ -14412,19 +14412,19 @@ function ConnectedDriveSyncDialog({
|
|
|
14412
14412
|
}
|
|
14413
14413
|
)
|
|
14414
14414
|
] }),
|
|
14415
|
-
children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
14416
|
-
|
|
14415
|
+
children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SyncLoading, { children: "Loading folders\u2026" }) : needsReconnect ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
14416
|
+
chunkMMSHLHTA_cjs.SyncReconnectNotice,
|
|
14417
14417
|
{
|
|
14418
14418
|
...reconnectButtonProps,
|
|
14419
14419
|
message: `Reconnect ${catalog.display_name} to enable ${productName} \u2014 your account needs to grant file access.`
|
|
14420
14420
|
}
|
|
14421
14421
|
) : foldersError ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
14422
|
-
|
|
14422
|
+
chunkMMSHLHTA_cjs.SyncReconnectNotice,
|
|
14423
14423
|
{
|
|
14424
14424
|
...reconnectButtonProps,
|
|
14425
14425
|
message: `Couldn\u2019t load folders from ${productName}. Reconnect the account and try again.`
|
|
14426
14426
|
}
|
|
14427
|
-
) : orderedFolders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
14427
|
+
) : orderedFolders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-0.5", "data-testid": "drive-folder-tree", children: orderedFolders.map((f) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
14428
14428
|
DriveFolderNode,
|
|
14429
14429
|
{
|
|
14430
14430
|
vendorKey: catalog.vendor_key,
|
|
@@ -14441,9 +14441,9 @@ function ConnectedDriveSyncDialog({
|
|
|
14441
14441
|
)) }) })
|
|
14442
14442
|
}
|
|
14443
14443
|
),
|
|
14444
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
14444
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.SyncOptions, { children: [
|
|
14445
14445
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14446
|
-
|
|
14446
|
+
chunkMMSHLHTA_cjs.SyncOptionToggle,
|
|
14447
14447
|
{
|
|
14448
14448
|
checked: skipDuplicates,
|
|
14449
14449
|
onCheckedChange: setSkipDuplicates,
|
|
@@ -14452,7 +14452,7 @@ function ConnectedDriveSyncDialog({
|
|
|
14452
14452
|
}
|
|
14453
14453
|
),
|
|
14454
14454
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14455
|
-
|
|
14455
|
+
chunkMMSHLHTA_cjs.SyncOptionToggle,
|
|
14456
14456
|
{
|
|
14457
14457
|
checked: autoRename,
|
|
14458
14458
|
onCheckedChange: setAutoRename,
|
|
@@ -14461,7 +14461,7 @@ function ConnectedDriveSyncDialog({
|
|
|
14461
14461
|
}
|
|
14462
14462
|
),
|
|
14463
14463
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14464
|
-
|
|
14464
|
+
chunkMMSHLHTA_cjs.SyncOptionToggle,
|
|
14465
14465
|
{
|
|
14466
14466
|
checked: shared,
|
|
14467
14467
|
onCheckedChange: setShared,
|
|
@@ -14470,7 +14470,7 @@ function ConnectedDriveSyncDialog({
|
|
|
14470
14470
|
}
|
|
14471
14471
|
),
|
|
14472
14472
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14473
|
-
|
|
14473
|
+
chunkMMSHLHTA_cjs.SyncOptionToggle,
|
|
14474
14474
|
{
|
|
14475
14475
|
checked: autoSync,
|
|
14476
14476
|
onCheckedChange: setAutoSync,
|
|
@@ -14482,7 +14482,7 @@ function ConnectedDriveSyncDialog({
|
|
|
14482
14482
|
] })
|
|
14483
14483
|
] }),
|
|
14484
14484
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14485
|
-
|
|
14485
|
+
chunkMMSHLHTA_cjs.SyncDialogFooter,
|
|
14486
14486
|
{
|
|
14487
14487
|
onCancel: () => onOpenChange(false),
|
|
14488
14488
|
onSave: handleEnableSubmit,
|
|
@@ -14503,36 +14503,36 @@ function ConnectedSharePointAdminConsentPage({
|
|
|
14503
14503
|
const result = givenResult === void 0 ? queryResult : givenResult;
|
|
14504
14504
|
const { apiBaseUrl } = chunkUIXY4HKM_cjs.useBlocksEnvironment().runtimeConfig;
|
|
14505
14505
|
const consentUrl = `${apiBaseUrl}/v1/connectors/microsoft_sharepoint/admin-consent`;
|
|
14506
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14506
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkJ4CXF4A7_cjs.ConsentCard, { size: "md", children: [
|
|
14507
14507
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14508
|
-
|
|
14508
|
+
chunkJ4CXF4A7_cjs.ConsentHeader,
|
|
14509
14509
|
{
|
|
14510
14510
|
icon: /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.VendorLogo, { vendorKey: "microsoft_sharepoint", product: "sharepoint" }),
|
|
14511
14511
|
title: "Approve ARBI for SharePoint access",
|
|
14512
14512
|
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."
|
|
14513
14513
|
}
|
|
14514
14514
|
),
|
|
14515
|
-
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14516
|
-
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14517
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
14515
|
+
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_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." }),
|
|
14516
|
+
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_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." }),
|
|
14517
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkJ4CXF4A7_cjs.ConsentSection, { title: "What you are approving", children: [
|
|
14518
14518
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14519
|
-
|
|
14519
|
+
chunkJ4CXF4A7_cjs.ConsentBulletList,
|
|
14520
14520
|
{
|
|
14521
14521
|
items: [
|
|
14522
14522
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
14523
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14523
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
|
|
14524
14524
|
" \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."
|
|
14525
14525
|
] }),
|
|
14526
14526
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
14527
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14527
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
|
|
14528
14528
|
" \u2014 standard sign-in (openid, profile, email) and offline access so syncs keep working between sessions."
|
|
14529
14529
|
] })
|
|
14530
14530
|
]
|
|
14531
14531
|
}
|
|
14532
14532
|
),
|
|
14533
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14533
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_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." }),
|
|
14534
14534
|
/* @__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" }) }),
|
|
14535
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14535
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_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." })
|
|
14536
14536
|
] })
|
|
14537
14537
|
] }) });
|
|
14538
14538
|
}
|
|
@@ -14573,8 +14573,8 @@ function InvoicesModal({
|
|
|
14573
14573
|
key: inv.number ?? String(i),
|
|
14574
14574
|
date: formatInvoiceDate(inv.date),
|
|
14575
14575
|
kind: KIND_LABELS2[inv.kind],
|
|
14576
|
-
amount:
|
|
14577
|
-
amountNote: inv.amount_ex_vat != null && inv.amount_ex_vat !== inv.amount ? `${
|
|
14576
|
+
amount: chunkDDIV3MYQ_cjs.formatMoney(inv.amount, inv.currency),
|
|
14577
|
+
amountNote: inv.amount_ex_vat != null && inv.amount_ex_vat !== inv.amount ? `${chunkDDIV3MYQ_cjs.formatMoney(inv.amount_ex_vat, inv.currency)} ex VAT` : void 0,
|
|
14578
14578
|
status: inv.status,
|
|
14579
14579
|
isPaid: isPaid2,
|
|
14580
14580
|
href: inv.hosted_invoice_url ?? inv.url ?? inv.pdf_url ?? void 0,
|
|
@@ -14582,7 +14582,7 @@ function InvoicesModal({
|
|
|
14582
14582
|
};
|
|
14583
14583
|
});
|
|
14584
14584
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14585
|
-
|
|
14585
|
+
chunkMMSHLHTA_cjs.InvoicesDialog,
|
|
14586
14586
|
{
|
|
14587
14587
|
open,
|
|
14588
14588
|
onOpenChange,
|
|
@@ -14596,7 +14596,7 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
14596
14596
|
const { data: products, isLoading, error } = react.useProducts();
|
|
14597
14597
|
const [isAnnual, setIsAnnual] = react$1.useState(false);
|
|
14598
14598
|
const [promoCode, setPromoCode] = react$1.useState("");
|
|
14599
|
-
const [addonBudget, setAddonBudget] = react$1.useState(String(
|
|
14599
|
+
const [addonBudget, setAddonBudget] = react$1.useState(String(chunkDDIV3MYQ_cjs.DEFAULT_SPEND_CAP_PENCE / 100));
|
|
14600
14600
|
const [checkoutBudget, setCheckoutBudget] = react$1.useState(null);
|
|
14601
14601
|
const [aiBlocks, setAiBlocks] = react$1.useState(0);
|
|
14602
14602
|
const [storageBlocks, setStorageBlocks] = react$1.useState(0);
|
|
@@ -14614,31 +14614,31 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
14614
14614
|
storageBlocks,
|
|
14615
14615
|
enabled: !!products?.length
|
|
14616
14616
|
});
|
|
14617
|
-
if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14618
|
-
if (error) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14619
|
-
if (!products || products.length === 0) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14620
|
-
const prices =
|
|
14617
|
+
if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanNotice, { children: "Loading plans\u2026" });
|
|
14618
|
+
if (error) return /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanNotice, { tone: "error", children: "Plans didn't load. Try again." });
|
|
14619
|
+
if (!products || products.length === 0) return /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanNotice, { children: "No plans available." });
|
|
14620
|
+
const prices = chunkDDIV3MYQ_cjs.findProPrices(products);
|
|
14621
14621
|
const intervalPrice = isAnnual ? prices.annual : prices.monthly;
|
|
14622
|
-
const selectedPrice =
|
|
14622
|
+
const selectedPrice = chunkDDIV3MYQ_cjs.packPrice(intervalPrice);
|
|
14623
14623
|
if (!intervalPrice) return null;
|
|
14624
14624
|
const interval = isAnnual ? "year" : "month";
|
|
14625
|
-
const savingsPercent =
|
|
14625
|
+
const savingsPercent = chunkDDIV3MYQ_cjs.calcSavingsPercent(prices.monthly, prices.annual);
|
|
14626
14626
|
const handleSubscribe = () => {
|
|
14627
14627
|
setCheckoutInterval(interval);
|
|
14628
|
-
const parsed =
|
|
14629
|
-
setCheckoutBudget(parsed == null || parsed ===
|
|
14628
|
+
const parsed = chunkDDIV3MYQ_cjs.parseBudgetPounds(addonBudget);
|
|
14629
|
+
setCheckoutBudget(parsed == null || parsed === chunkDDIV3MYQ_cjs.DEFAULT_SPEND_CAP_PENCE ? null : parsed);
|
|
14630
14630
|
setCheckoutQuote(quote.quote);
|
|
14631
14631
|
setIsCheckoutModalOpen(true);
|
|
14632
14632
|
};
|
|
14633
14633
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
14634
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
14634
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.PlanStack, { children: [
|
|
14635
14635
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14636
|
-
|
|
14636
|
+
chunkMMSHLHTA_cjs.PlanPickerHeader,
|
|
14637
14637
|
{
|
|
14638
14638
|
title: "Plan",
|
|
14639
14639
|
info: /* @__PURE__ */ jsxRuntime.jsx(PlanInfoPopover2, {}),
|
|
14640
14640
|
toggle: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14641
|
-
|
|
14641
|
+
chunkMMSHLHTA_cjs.PricingToggle,
|
|
14642
14642
|
{
|
|
14643
14643
|
isAnnual,
|
|
14644
14644
|
onToggle: () => setIsAnnual(!isAnnual),
|
|
@@ -14675,7 +14675,7 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
14675
14675
|
currency: intervalPrice.currency
|
|
14676
14676
|
}
|
|
14677
14677
|
),
|
|
14678
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14678
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PromoCodeInput, { value: promoCode, onChange: setPromoCode }),
|
|
14679
14679
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14680
14680
|
CheckoutCountrySelect,
|
|
14681
14681
|
{
|
|
@@ -14687,9 +14687,9 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
14687
14687
|
}
|
|
14688
14688
|
),
|
|
14689
14689
|
/* @__PURE__ */ jsxRuntime.jsx(CheckoutTotal, { state: quote, postalCode, onPostalCodeChange: setPostalCode }),
|
|
14690
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
14690
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.PlanActionRow, { children: [
|
|
14691
14691
|
onDismiss && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14692
|
-
|
|
14692
|
+
chunkMMSHLHTA_cjs.PlanActionButton,
|
|
14693
14693
|
{
|
|
14694
14694
|
tone: "muted",
|
|
14695
14695
|
fill: true,
|
|
@@ -14700,11 +14700,11 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
14700
14700
|
}
|
|
14701
14701
|
),
|
|
14702
14702
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14703
|
-
|
|
14703
|
+
chunkMMSHLHTA_cjs.PlanActionButton,
|
|
14704
14704
|
{
|
|
14705
14705
|
fill: true,
|
|
14706
14706
|
onClick: handleSubscribe,
|
|
14707
|
-
disabled: !selectedPrice ||
|
|
14707
|
+
disabled: !selectedPrice || chunkDDIV3MYQ_cjs.parseBudgetPounds(addonBudget) === void 0 || !quote.canContinue,
|
|
14708
14708
|
size: "sm",
|
|
14709
14709
|
"data-testid": "subscribe-button",
|
|
14710
14710
|
children: "Continue to payment"
|
|
@@ -14763,7 +14763,7 @@ var FALLBACK_MESSAGES = {
|
|
|
14763
14763
|
BILLING_ADDRESS_REQUIRED: "Add a billing address first."
|
|
14764
14764
|
};
|
|
14765
14765
|
function addonErrorMessage(error) {
|
|
14766
|
-
const detail =
|
|
14766
|
+
const detail = chunkDDIV3MYQ_cjs.apiErrorDetail(error);
|
|
14767
14767
|
if (detail && typeof detail === "object") {
|
|
14768
14768
|
const { code, message } = detail;
|
|
14769
14769
|
if (message) return message;
|
|
@@ -14789,14 +14789,14 @@ function chargeRefusalMessage(error) {
|
|
|
14789
14789
|
return code ? REFUSALS[code] : null;
|
|
14790
14790
|
}
|
|
14791
14791
|
function addonErrorCode(error) {
|
|
14792
|
-
const detail =
|
|
14792
|
+
const detail = chunkDDIV3MYQ_cjs.apiErrorDetail(error);
|
|
14793
14793
|
if (detail && typeof detail === "object") {
|
|
14794
14794
|
const code = detail.code;
|
|
14795
14795
|
if (code && code in FALLBACK_MESSAGES) return code;
|
|
14796
14796
|
}
|
|
14797
14797
|
return null;
|
|
14798
14798
|
}
|
|
14799
|
-
var addedMessage = (kind, blockAiGbp, blockStorageGb) => kind === "ai_usage" ? `${react.formatGbp(blockAiGbp ??
|
|
14799
|
+
var addedMessage = (kind, blockAiGbp, blockStorageGb) => kind === "ai_usage" ? `${react.formatGbp(blockAiGbp ?? chunkDDIV3MYQ_cjs.ADDON_BLOCK_AI_GBP)} of AI usage added` : `${blockStorageGb ?? chunkDDIV3MYQ_cjs.STORAGE_BLOCK_GB} GB added`;
|
|
14800
14800
|
function useAddonPurchase() {
|
|
14801
14801
|
const addBlock = react.useAddProjectAddonBlock();
|
|
14802
14802
|
const { mutate } = addBlock;
|
|
@@ -14848,7 +14848,7 @@ function PlanChangeLines({
|
|
|
14848
14848
|
isError,
|
|
14849
14849
|
className
|
|
14850
14850
|
}) {
|
|
14851
|
-
const lines = preview ?
|
|
14851
|
+
const lines = preview ? chunkDDIV3MYQ_cjs.planPreviewLines(preview) : [{ id: "pay-today", text: isError ? chunkDDIV3MYQ_cjs.PAY_TODAY_UNPRICED : "Checking price\u2026" }];
|
|
14852
14852
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className, "data-testid": "plan-change-lines", children: lines.map((line) => /* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": `plan-change-${line.id}`, children: line.text }, line.id)) });
|
|
14853
14853
|
}
|
|
14854
14854
|
var BANK_CONFIRM_PLAN_CHANGE = "Confirm with your bank. Nothing is charged until you do.";
|
|
@@ -14856,13 +14856,13 @@ function notifyPlanChange(data, fallback, planName2) {
|
|
|
14856
14856
|
const outcome = data?.plan_change;
|
|
14857
14857
|
switch (outcome?.result) {
|
|
14858
14858
|
case "upgraded": {
|
|
14859
|
-
const plan =
|
|
14860
|
-
const charged = outcome.charged_pence > 0 ? ` \xB7 ${
|
|
14859
|
+
const plan = chunkDDIV3MYQ_cjs.planNameForPacks(data?.addons?.packs ?? data?.packs);
|
|
14860
|
+
const charged = outcome.charged_pence > 0 ? ` \xB7 ${chunkDDIV3MYQ_cjs.formatMoney(outcome.charged_pence, "gbp")} charged` : "";
|
|
14861
14861
|
shell.notify.success(`Upgraded to ${plan}${charged}`);
|
|
14862
14862
|
break;
|
|
14863
14863
|
}
|
|
14864
14864
|
case "scheduled": {
|
|
14865
|
-
const when2 =
|
|
14865
|
+
const when2 = chunkDDIV3MYQ_cjs.formatPeriodEnd(data?.addons?.period_end ?? data?.current_period_end);
|
|
14866
14866
|
shell.notify.success(when2 ? `Scheduled for ${when2}` : fallback);
|
|
14867
14867
|
break;
|
|
14868
14868
|
}
|
|
@@ -14895,23 +14895,23 @@ function ChangeProPlan({
|
|
|
14895
14895
|
const { data: products } = react.useProducts();
|
|
14896
14896
|
const changePlan = react.useChangeProjectPlan();
|
|
14897
14897
|
const cancel = react.useCancelProjectSubscription();
|
|
14898
|
-
const prices =
|
|
14898
|
+
const prices = chunkDDIV3MYQ_cjs.findProPrices(products);
|
|
14899
14899
|
const addons = project.addons;
|
|
14900
14900
|
const isCanceling = project.cancel_at_period_end === true || project.subscription === "canceled";
|
|
14901
|
-
const currentPacks = Math.max(addons?.packs ?? project.packs ??
|
|
14902
|
-
const isLegacyMultiPack = currentPacks >
|
|
14901
|
+
const currentPacks = Math.max(addons?.packs ?? project.packs ?? chunkDDIV3MYQ_cjs.PRO_PACKS, chunkDDIV3MYQ_cjs.PRO_PACKS);
|
|
14902
|
+
const isLegacyMultiPack = currentPacks > chunkDDIV3MYQ_cjs.PRO_PACKS;
|
|
14903
14903
|
const currentInterval = project.plan_interval === "year" ? "year" : "month";
|
|
14904
14904
|
const scheduledPacks = isCanceling ? 0 : addons?.packs_next ?? currentPacks;
|
|
14905
14905
|
const scheduledInterval = addons?.pending_interval ?? currentInterval;
|
|
14906
14906
|
const [targetPacks, setTargetPacks] = react$1.useState(scheduledPacks);
|
|
14907
14907
|
const [chosenInterval, setChosenInterval] = react$1.useState(scheduledInterval);
|
|
14908
|
-
const targetInterval = targetPacks >
|
|
14908
|
+
const targetInterval = targetPacks > chunkDDIV3MYQ_cjs.PRO_PACKS ? currentInterval : chosenInterval;
|
|
14909
14909
|
const periodEnd = formatDate(addons?.period_end ?? project.current_period_end);
|
|
14910
14910
|
const when2 = periodEnd ?? "the end of the period";
|
|
14911
14911
|
const shortWhen = periodEnd ? periodEnd.replace(/ \d{4}$/, "") : "period end";
|
|
14912
14912
|
const isPending = changePlan.isPending || cancel.isPending;
|
|
14913
14913
|
const sameAsScheduled = targetPacks === scheduledPacks && (targetPacks === 0 || targetInterval === scheduledInterval);
|
|
14914
|
-
const packOptions = isLegacyMultiPack ? [currentPacks,
|
|
14914
|
+
const packOptions = isLegacyMultiPack ? [currentPacks, chunkDDIV3MYQ_cjs.PRO_PACKS, 0] : [chunkDDIV3MYQ_cjs.PRO_PACKS, 0];
|
|
14915
14915
|
const intervalPrice = targetInterval === "year" ? prices.annual : prices.monthly;
|
|
14916
14916
|
const currency = intervalPrice?.currency ?? project.currency ?? "gbp";
|
|
14917
14917
|
const preview = react.usePreviewProjectPlanChange(
|
|
@@ -14919,7 +14919,7 @@ function ChangeProPlan({
|
|
|
14919
14919
|
sameAsScheduled || targetPacks === 0 ? null : { packs: targetPacks, interval: targetInterval }
|
|
14920
14920
|
);
|
|
14921
14921
|
const noChange = sameAsScheduled || preview.data?.unchanged === true;
|
|
14922
|
-
const nameFor = (packs) => packs === currentPacks && packs > 0 ?
|
|
14922
|
+
const nameFor = (packs) => packs === currentPacks && packs > 0 ? chunkDDIV3MYQ_cjs.proTierName(project) : chunkDDIV3MYQ_cjs.planNameForPacks(packs);
|
|
14923
14923
|
const effects = [];
|
|
14924
14924
|
const target = nameFor(targetPacks);
|
|
14925
14925
|
if (targetPacks === 0) {
|
|
@@ -14929,7 +14929,7 @@ function ChangeProPlan({
|
|
|
14929
14929
|
if (targetPacks < currentPacks) {
|
|
14930
14930
|
effects.push(`Changes to one Pro licence on ${when2}. No refund.`);
|
|
14931
14931
|
} else if (!isCanceling && addons?.packs_next != null) {
|
|
14932
|
-
effects.push(`Cancels the change to ${
|
|
14932
|
+
effects.push(`Cancels the change to ${chunkDDIV3MYQ_cjs.planNameForPacks(addons.packs_next)}.`);
|
|
14933
14933
|
}
|
|
14934
14934
|
if (targetInterval !== currentInterval) {
|
|
14935
14935
|
effects.push(`${targetInterval === "year" ? "Annual" : "Monthly"} billing from ${when2}.`);
|
|
@@ -14968,33 +14968,33 @@ function ChangeProPlan({
|
|
|
14968
14968
|
if (packs === 0) {
|
|
14969
14969
|
return {
|
|
14970
14970
|
total: "\xA30",
|
|
14971
|
-
summary: `${react.formatGbp(
|
|
14971
|
+
summary: `${react.formatGbp(chunkDDIV3MYQ_cjs.FREE_AI_GBP)} of AI usage \xB7 ${chunkDDIV3MYQ_cjs.FREE_STORAGE_MB} MB \xB7 just you`
|
|
14972
14972
|
};
|
|
14973
14973
|
}
|
|
14974
|
-
const allowance = `${react.formatGbp(
|
|
14975
|
-
const legacy = packs >
|
|
14976
|
-
const exVat = legacy ? project.amount_ex_vat :
|
|
14974
|
+
const allowance = `${react.formatGbp(chunkDDIV3MYQ_cjs.PRO_AI_GBP * packs)} of AI usage \xB7 ${chunkDDIV3MYQ_cjs.PRO_STORAGE_GB * packs} GB`;
|
|
14975
|
+
const legacy = packs > chunkDDIV3MYQ_cjs.PRO_PACKS;
|
|
14976
|
+
const exVat = legacy ? project.amount_ex_vat : chunkDDIV3MYQ_cjs.packPrice(intervalPrice)?.amount_ex_vat;
|
|
14977
14977
|
return {
|
|
14978
|
-
total: exVat != null ?
|
|
14978
|
+
total: exVat != null ? chunkDDIV3MYQ_cjs.plusVat(exVat, currency) : void 0,
|
|
14979
14979
|
summary: allowance
|
|
14980
14980
|
};
|
|
14981
14981
|
};
|
|
14982
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14982
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.PlanStack, { gap: 4, testId: "change-pro-plan", children: [
|
|
14983
14983
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [
|
|
14984
14984
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-foreground", children: "Billing" }),
|
|
14985
|
-
targetPacks >
|
|
14986
|
-
|
|
14985
|
+
targetPacks > chunkDDIV3MYQ_cjs.PRO_PACKS ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", "data-testid": "change-plan-interval-fixed", children: currentInterval === "year" ? "Annual" : "Monthly" }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
14986
|
+
chunkMMSHLHTA_cjs.PricingToggle,
|
|
14987
14987
|
{
|
|
14988
14988
|
isAnnual: targetInterval === "year",
|
|
14989
14989
|
onToggle: () => setChosenInterval(targetInterval === "year" ? "month" : "year"),
|
|
14990
|
-
savingsPercent:
|
|
14990
|
+
savingsPercent: chunkDDIV3MYQ_cjs.calcSavingsPercent(prices.monthly, prices.annual)
|
|
14991
14991
|
}
|
|
14992
14992
|
)
|
|
14993
14993
|
] }),
|
|
14994
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14994
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanStack, { gap: 2, children: packOptions.map((packs) => {
|
|
14995
14995
|
const { total, summary } = optionFor(packs);
|
|
14996
14996
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14997
|
-
|
|
14997
|
+
chunkMMSHLHTA_cjs.PlanTierOption,
|
|
14998
14998
|
{
|
|
14999
14999
|
onSelect: setTargetPacks,
|
|
15000
15000
|
option: {
|
|
@@ -15011,13 +15011,13 @@ function ChangeProPlan({
|
|
|
15011
15011
|
);
|
|
15012
15012
|
}) }),
|
|
15013
15013
|
isLegacyMultiPack && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [
|
|
15014
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
15015
|
-
|
|
15014
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.PlanNotice, { className: "text-xs", testId: "change-plan-legacy-note", children: [
|
|
15015
|
+
chunkDDIV3MYQ_cjs.proTierName(project),
|
|
15016
15016
|
" is no longer sold"
|
|
15017
15017
|
] }),
|
|
15018
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
15018
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.MoreInfo, { title: "Legacy plan", testId: "change-plan-legacy-more-info", children: [
|
|
15019
15019
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
|
|
15020
|
-
|
|
15020
|
+
chunkDDIV3MYQ_cjs.proTierName(project),
|
|
15021
15021
|
" keeps renewing at its own price, with its allowance and add-ons, until you change it."
|
|
15022
15022
|
] }),
|
|
15023
15023
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
|
|
@@ -15038,7 +15038,7 @@ function ChangeProPlan({
|
|
|
15038
15038
|
),
|
|
15039
15039
|
targetPacks > 0 && /* @__PURE__ */ jsxRuntime.jsx(ConnectedReferralRewardNote, {}),
|
|
15040
15040
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15041
|
-
|
|
15041
|
+
chunkMMSHLHTA_cjs.PlanActionButton,
|
|
15042
15042
|
{
|
|
15043
15043
|
onClick: apply,
|
|
15044
15044
|
disabled: noChange || isPending,
|
|
@@ -15049,9 +15049,9 @@ function ChangeProPlan({
|
|
|
15049
15049
|
] });
|
|
15050
15050
|
}
|
|
15051
15051
|
function ChangePlanDialog({ project, open, onOpenChange }) {
|
|
15052
|
-
const isPro = !!project &&
|
|
15052
|
+
const isPro = !!project && chunkDDIV3MYQ_cjs.isProProject(project);
|
|
15053
15053
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15054
|
-
|
|
15054
|
+
chunkMMSHLHTA_cjs.PlanDialogFrame,
|
|
15055
15055
|
{
|
|
15056
15056
|
open,
|
|
15057
15057
|
onOpenChange,
|
|
@@ -15071,14 +15071,14 @@ function ChangePlanDialog({ project, open, onOpenChange }) {
|
|
|
15071
15071
|
}
|
|
15072
15072
|
function ProjectsTable() {
|
|
15073
15073
|
const { data: projects, isLoading } = react.useProjects();
|
|
15074
|
-
const currentUserExtId =
|
|
15074
|
+
const currentUserExtId = chunkDDIV3MYQ_cjs.useSelfExtId();
|
|
15075
15075
|
const { openProject } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
15076
15076
|
const updateProject = react.useUpdateProjectFields();
|
|
15077
15077
|
const [renameTarget, setRenameTarget] = react$1.useState(null);
|
|
15078
15078
|
const [renameValue, setRenameValue] = react$1.useState("");
|
|
15079
15079
|
const [invoicesTarget, setInvoicesTarget] = react$1.useState(null);
|
|
15080
15080
|
const [upgradeTarget, setUpgradeTarget] = react$1.useState(null);
|
|
15081
|
-
const { stripeEnabled } =
|
|
15081
|
+
const { stripeEnabled } = chunkDDIV3MYQ_cjs.useBillingSupport();
|
|
15082
15082
|
const ownedProjects = react$1.useMemo(
|
|
15083
15083
|
() => (projects ?? []).filter((p) => p.created_by === currentUserExtId),
|
|
15084
15084
|
[projects, currentUserExtId]
|
|
@@ -15117,13 +15117,13 @@ function ProjectsTable() {
|
|
|
15117
15117
|
const hasPaid = p.subscription === "active" || p.subscription === "past_due";
|
|
15118
15118
|
const canUpgrade = stripeEnabled && !hasPaid && p.subscription !== "canceled" && p.subscription !== "dev";
|
|
15119
15119
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15120
|
-
|
|
15120
|
+
chunkMMSHLHTA_cjs.ProjectRow,
|
|
15121
15121
|
{
|
|
15122
15122
|
testId: `project-row-${p.external_id}`,
|
|
15123
15123
|
onOpen: () => openProject(p.external_id),
|
|
15124
15124
|
identity: /* @__PURE__ */ jsxRuntime.jsx(ConnectedProjectEntity, { name: p.name, relation: "mine", subscription: p.subscription }),
|
|
15125
|
-
summary: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15126
|
-
usage: p.quotas ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
15125
|
+
summary: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanBadge, { ...chunkDDIV3MYQ_cjs.planBadgeView(p) }) }) : void 0,
|
|
15126
|
+
usage: p.quotas ? /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.QuotaMeter, { items: chunkDDIV3MYQ_cjs.getQuotaItems(p.quotas), size: "lg" }) : void 0,
|
|
15127
15127
|
actions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
15128
15128
|
canUpgrade && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15129
15129
|
ui.Button,
|
|
@@ -15157,9 +15157,9 @@ function ProjectsTable() {
|
|
|
15157
15157
|
);
|
|
15158
15158
|
};
|
|
15159
15159
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
15160
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15160
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.ProjectList, { isLoading, isEmpty: ownedProjects.length === 0, isFilteredOut: false, children: ownedProjects.map(renderRow) }),
|
|
15161
15161
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15162
|
-
|
|
15162
|
+
chunkMMSHLHTA_cjs.RenameDialog,
|
|
15163
15163
|
{
|
|
15164
15164
|
open: !!renameTarget,
|
|
15165
15165
|
onClose: () => setRenameTarget(null),
|
|
@@ -15190,7 +15190,7 @@ function ProjectsTable() {
|
|
|
15190
15190
|
}
|
|
15191
15191
|
function SharedProjects() {
|
|
15192
15192
|
const { data: projects } = react.useProjects();
|
|
15193
|
-
const currentUserExtId =
|
|
15193
|
+
const currentUserExtId = chunkDDIV3MYQ_cjs.useSelfExtId();
|
|
15194
15194
|
const { data: usageToday } = react.useUserUsageToday();
|
|
15195
15195
|
const shared = react$1.useMemo(
|
|
15196
15196
|
() => (projects ?? []).filter((p) => p.created_by !== currentUserExtId),
|
|
@@ -15199,13 +15199,13 @@ function SharedProjects() {
|
|
|
15199
15199
|
if (shared.length === 0) return null;
|
|
15200
15200
|
const usedToday = usageToday?.used_gbp ?? 0;
|
|
15201
15201
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15202
|
-
|
|
15202
|
+
chunkMMSHLHTA_cjs.SharedProjectsSection,
|
|
15203
15203
|
{
|
|
15204
15204
|
footnote: `Your daily AI usage allowance in ${ui.entityNoun("PROJECT", "PLURAL")} other people run \u2014 their plan and billing are theirs.`,
|
|
15205
15205
|
children: shared.map((p) => {
|
|
15206
15206
|
const cap = p.daily_cap_per_user;
|
|
15207
15207
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15208
|
-
|
|
15208
|
+
chunkMMSHLHTA_cjs.SharedProjectRow,
|
|
15209
15209
|
{
|
|
15210
15210
|
testId: `shared-project-${p.external_id}`,
|
|
15211
15211
|
identity: /* @__PURE__ */ jsxRuntime.jsx(ConnectedProjectEntity, { name: p.name, relation: "other" }),
|
|
@@ -15251,7 +15251,7 @@ function DailyCapEditor({ project }) {
|
|
|
15251
15251
|
);
|
|
15252
15252
|
};
|
|
15253
15253
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15254
|
-
|
|
15254
|
+
chunkMMSHLHTA_cjs.DailyCapField,
|
|
15255
15255
|
{
|
|
15256
15256
|
value,
|
|
15257
15257
|
onChange: setValue,
|
|
@@ -15264,11 +15264,11 @@ function DailyCapEditor({ project }) {
|
|
|
15264
15264
|
function SubscriptionStatus({ project }) {
|
|
15265
15265
|
const { quotas, cancel_at_period_end, subscription, current_period_end, addons } = project;
|
|
15266
15266
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15267
|
-
|
|
15267
|
+
chunkMMSHLHTA_cjs.SubscriptionStatusView,
|
|
15268
15268
|
{
|
|
15269
|
-
resetDate:
|
|
15269
|
+
resetDate: chunkDDIV3MYQ_cjs.formatResetDate(addons?.ai_usage_reset_at ?? current_period_end),
|
|
15270
15270
|
isCanceling: subscription === "canceled" || cancel_at_period_end === true,
|
|
15271
|
-
meters:
|
|
15271
|
+
meters: chunkDDIV3MYQ_cjs.getQuotaItems(quotas).map((q) => ({
|
|
15272
15272
|
key: q.key,
|
|
15273
15273
|
icon: q.icon,
|
|
15274
15274
|
label: q.label,
|
|
@@ -15332,7 +15332,7 @@ function PendingChange({
|
|
|
15332
15332
|
}
|
|
15333
15333
|
);
|
|
15334
15334
|
}
|
|
15335
|
-
var titleFor = (kind, blockAiGbp, blockStorageGb) => kind === "ai_usage" ? `Add ${react.formatGbp(blockAiGbp ??
|
|
15335
|
+
var titleFor = (kind, blockAiGbp, blockStorageGb) => kind === "ai_usage" ? `Add ${react.formatGbp(blockAiGbp ?? chunkDDIV3MYQ_cjs.ADDON_BLOCK_AI_GBP)} of AI usage` : `Add ${blockStorageGb ?? chunkDDIV3MYQ_cjs.STORAGE_BLOCK_GB} GB storage`;
|
|
15336
15336
|
var blocksOf = (kind, project) => (kind === "ai_usage" ? project.addons?.ai_blocks : project.addons?.storage_blocks) ?? 0;
|
|
15337
15337
|
function Row({ label, children }) {
|
|
15338
15338
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-baseline justify-between gap-4", children: [
|
|
@@ -15353,11 +15353,11 @@ function AddAddonDialog({
|
|
|
15353
15353
|
const addons = project.addons;
|
|
15354
15354
|
if (!addons) return null;
|
|
15355
15355
|
const isAnnual = project.plan_interval === "year";
|
|
15356
|
-
const price =
|
|
15357
|
-
const nextCharge =
|
|
15358
|
-
const now = quote.data ?
|
|
15359
|
-
const renewal = quote.data ?
|
|
15360
|
-
const today = now ? { total:
|
|
15356
|
+
const price = chunkDDIV3MYQ_cjs.addonCharge(kind, addons, isAnnual, addons.period_end ?? project.current_period_end);
|
|
15357
|
+
const nextCharge = chunkDDIV3MYQ_cjs.formatPeriodEnd(addons.period_end ?? project.current_period_end);
|
|
15358
|
+
const now = quote.data ? chunkDDIV3MYQ_cjs.quoteParts(quote.data.now) : null;
|
|
15359
|
+
const renewal = quote.data ? chunkDDIV3MYQ_cjs.quoteParts(quote.data.renewal) : null;
|
|
15360
|
+
const today = now ? { total: chunkDDIV3MYQ_cjs.money2(now.total), detail: chunkDDIV3MYQ_cjs.taxDetail(now) } : { total: price.now, detail: `incl. VAT (${price.nowExVat} + ${price.nowVat} VAT)` };
|
|
15361
15361
|
const pricing = quote.isLoading;
|
|
15362
15362
|
const confirm = () => {
|
|
15363
15363
|
const before = blocksOf(kind, project);
|
|
@@ -15396,8 +15396,8 @@ function AddAddonDialog({
|
|
|
15396
15396
|
isAnnual ? "yearly" : "monthly",
|
|
15397
15397
|
" \xB7 no refund"
|
|
15398
15398
|
] }),
|
|
15399
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15400
|
-
|
|
15399
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.MoreInfo, { title: "Adding a top-up", testId: "add-addon-more-info", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15400
|
+
chunkMMSHLHTA_cjs.MoreInfoList,
|
|
15401
15401
|
{
|
|
15402
15402
|
items: [
|
|
15403
15403
|
{
|
|
@@ -15412,7 +15412,7 @@ function AddAddonDialog({
|
|
|
15412
15412
|
term: "Usage cap",
|
|
15413
15413
|
text: "Adding by hand is never blocked by the usage cap; the cap limits automatic top-ups only."
|
|
15414
15414
|
},
|
|
15415
|
-
...isAnnual && kind === "ai_usage" ? [{ term: "Annual", text: `${
|
|
15415
|
+
...isAnnual && kind === "ai_usage" ? [{ term: "Annual", text: `${chunkDDIV3MYQ_cjs.ANNUAL_PREMIUM_AI_NOTE}.` }] : []
|
|
15416
15416
|
]
|
|
15417
15417
|
}
|
|
15418
15418
|
) })
|
|
@@ -15435,7 +15435,7 @@ function AddAddonDialog({
|
|
|
15435
15435
|
)
|
|
15436
15436
|
] }) }),
|
|
15437
15437
|
!pricing && /* @__PURE__ */ jsxRuntime.jsxs(Row, { label: "Next charge", children: [
|
|
15438
|
-
renewal ?
|
|
15438
|
+
renewal ? chunkDDIV3MYQ_cjs.totalWithTaxWord(renewal) : price.then.replace(/\/(month|year)/, ""),
|
|
15439
15439
|
nextCharge ? ` on ${nextCharge}` : " at renewal"
|
|
15440
15440
|
] })
|
|
15441
15441
|
] }) }),
|
|
@@ -15466,11 +15466,11 @@ function ReduceAddonDialog({
|
|
|
15466
15466
|
const update = react.useUpdateProjectNextPeriodAddons();
|
|
15467
15467
|
const addons = project.addons;
|
|
15468
15468
|
if (!addons) return null;
|
|
15469
|
-
const { min, next } =
|
|
15469
|
+
const { min, next } = chunkDDIV3MYQ_cjs.reduceBounds(kind, addons);
|
|
15470
15470
|
const keep2 = Math.max(min, next - 1);
|
|
15471
|
-
const size =
|
|
15472
|
-
const what =
|
|
15473
|
-
const from =
|
|
15471
|
+
const size = chunkDDIV3MYQ_cjs.nextRemovedBlockSize(kind, addons);
|
|
15472
|
+
const what = chunkDDIV3MYQ_cjs.stepLabel(kind, size);
|
|
15473
|
+
const from = chunkDDIV3MYQ_cjs.formatPeriodEnd(addons.period_end ?? project.current_period_end) ?? "your next renewal";
|
|
15474
15474
|
const fromShort = from.replace(/ \d{4}$/, "");
|
|
15475
15475
|
const allowanceNext = kind === "ai_usage" ? addons.ai_allowance_next_gbp - size : addons.storage_allowance_next_gb - size;
|
|
15476
15476
|
const allowanceNow = kind === "ai_usage" ? addons.ai_allowance_gbp : addons.storage_allowance_gb;
|
|
@@ -15478,7 +15478,7 @@ function ReduceAddonDialog({
|
|
|
15478
15478
|
const save = () => update.mutate(
|
|
15479
15479
|
{
|
|
15480
15480
|
projectExtId: project.external_id,
|
|
15481
|
-
body:
|
|
15481
|
+
body: chunkDDIV3MYQ_cjs.nextPeriodBody(kind, keep2)
|
|
15482
15482
|
},
|
|
15483
15483
|
{
|
|
15484
15484
|
onSuccess: () => {
|
|
@@ -15506,7 +15506,7 @@ function ReduceAddonDialog({
|
|
|
15506
15506
|
fromShort,
|
|
15507
15507
|
" \xB7 no refund"
|
|
15508
15508
|
] }),
|
|
15509
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
15509
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.MoreInfo, { title: "Reducing a top-up", testId: "reduce-addon-more-info", children: [
|
|
15510
15510
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
|
|
15511
15511
|
"The reduction applies from your next renewal (",
|
|
15512
15512
|
from,
|
|
@@ -15545,7 +15545,7 @@ function ReduceAddonDialog({
|
|
|
15545
15545
|
}
|
|
15546
15546
|
) });
|
|
15547
15547
|
}
|
|
15548
|
-
var gbp = (pence) =>
|
|
15548
|
+
var gbp = (pence) => chunkDDIV3MYQ_cjs.formatMoney(pence, "gbp");
|
|
15549
15549
|
var gb2 = (n) => `${Math.round(n * 10) / 10} GB`;
|
|
15550
15550
|
var pct = (used, limit) => limit > 0 ? Math.min(100, used / limit * 100) : 0;
|
|
15551
15551
|
function formatShortDate(unix) {
|
|
@@ -15557,20 +15557,20 @@ function AutoTopupThreshold({
|
|
|
15557
15557
|
addons
|
|
15558
15558
|
}) {
|
|
15559
15559
|
const updateSettings = react.useUpdateProjectAddonSettings();
|
|
15560
|
-
const min = addons.min_auto_topup_threshold_gbp ||
|
|
15560
|
+
const min = addons.min_auto_topup_threshold_gbp || chunkDDIV3MYQ_cjs.MIN_AUTO_TOPUP_THRESHOLD_GBP;
|
|
15561
15561
|
const saved = addons.auto_topup_threshold_gbp;
|
|
15562
15562
|
const [value, setValue] = react$1.useState(String(saved));
|
|
15563
15563
|
react$1.useEffect(() => setValue(String(saved)), [saved]);
|
|
15564
15564
|
const parsed = Number(value);
|
|
15565
15565
|
const valid = Number.isFinite(parsed) && parsed >= min;
|
|
15566
15566
|
const dirty = valid && parsed !== saved;
|
|
15567
|
-
const off =
|
|
15567
|
+
const off = chunkDDIV3MYQ_cjs.isAddonBudgetZero(addons);
|
|
15568
15568
|
const save = () => {
|
|
15569
15569
|
if (!dirty) return;
|
|
15570
15570
|
updateSettings.mutate(
|
|
15571
15571
|
{
|
|
15572
15572
|
projectExtId: project.external_id,
|
|
15573
|
-
body:
|
|
15573
|
+
body: chunkDDIV3MYQ_cjs.addonSettingsBody(addons, { auto_topup_threshold_gbp: parsed })
|
|
15574
15574
|
},
|
|
15575
15575
|
{
|
|
15576
15576
|
onSuccess: () => shell.notify.success(`Auto-add below ${react.formatGbp(parsed)} of AI usage left`),
|
|
@@ -15667,10 +15667,10 @@ function ResourceMeter({
|
|
|
15667
15667
|
const update = react.useUpdateProjectNextPeriodAddons();
|
|
15668
15668
|
const isAi = kind === "ai_usage";
|
|
15669
15669
|
const slug = isAi ? "ai-usage" : "storage";
|
|
15670
|
-
const periodEnd =
|
|
15670
|
+
const periodEnd = chunkDDIV3MYQ_cjs.formatPeriodEnd(addons.period_end ?? project.current_period_end);
|
|
15671
15671
|
const from = periodEnd ?? "your next renewal";
|
|
15672
15672
|
const fromShort = formatShortDate(addons.period_end ?? project.current_period_end) ?? "renewal";
|
|
15673
|
-
const { min, current, next } =
|
|
15673
|
+
const { min, current, next } = chunkDDIV3MYQ_cjs.reduceBounds(kind, addons);
|
|
15674
15674
|
const fmt = (n) => isAi ? react.formatGbp(n) : gb2(n);
|
|
15675
15675
|
const used = isAi ? addons.ai_used_gbp : addons.storage_used_gb;
|
|
15676
15676
|
const allowance = isAi ? addons.ai_allowance_gbp : addons.storage_allowance_gb;
|
|
@@ -15678,15 +15678,15 @@ function ResourceMeter({
|
|
|
15678
15678
|
const plan = isAi ? addons.plan_ai_gbp : addons.plan_storage_gb;
|
|
15679
15679
|
const topUps = Math.max(0, allowance - plan);
|
|
15680
15680
|
const blocks = isAi ? addons.ai_blocks : addons.storage_blocks;
|
|
15681
|
-
const hasLegacy =
|
|
15682
|
-
const room =
|
|
15683
|
-
const capZero =
|
|
15684
|
-
const resets = isAi ? formatShortDate(
|
|
15685
|
-
const removeSize =
|
|
15681
|
+
const hasLegacy = chunkDDIV3MYQ_cjs.splitBlocks(kind, blocks, addons).legacy > 0;
|
|
15682
|
+
const room = chunkDDIV3MYQ_cjs.autoRoom(kind, addons);
|
|
15683
|
+
const capZero = chunkDDIV3MYQ_cjs.isAddonBudgetZero(addons);
|
|
15684
|
+
const resets = isAi ? formatShortDate(chunkDDIV3MYQ_cjs.aiUsageResetTimestamp(project)) : null;
|
|
15685
|
+
const removeSize = chunkDDIV3MYQ_cjs.nextRemovedBlockSize(kind, addons);
|
|
15686
15686
|
const undo = () => update.mutate(
|
|
15687
15687
|
{
|
|
15688
15688
|
projectExtId: project.external_id,
|
|
15689
|
-
body:
|
|
15689
|
+
body: chunkDDIV3MYQ_cjs.nextPeriodBody(kind, current)
|
|
15690
15690
|
},
|
|
15691
15691
|
{
|
|
15692
15692
|
onSuccess: () => shell.notify.success("Kept"),
|
|
@@ -15703,7 +15703,7 @@ function ResourceMeter({
|
|
|
15703
15703
|
allowance: { used, plan, topUps, autoRoom: capZero ? 0 : room },
|
|
15704
15704
|
legend: {
|
|
15705
15705
|
plan: `Plan ${fmt(plan)}`,
|
|
15706
|
-
topUps: topUps > 0 ? `Top-ups ${fmt(topUps)}${hasLegacy ? ` (${
|
|
15706
|
+
topUps: topUps > 0 ? `Top-ups ${fmt(topUps)}${hasLegacy ? ` (${chunkDDIV3MYQ_cjs.blocksLabel(kind, blocks, addons)})` : ""}` : void 0,
|
|
15707
15707
|
autoRoom: room != null && room > 0 && !capZero ? `Automatic up to ${fmt(room)}` : void 0
|
|
15708
15708
|
},
|
|
15709
15709
|
testId: `usage-meter-${slug}`,
|
|
@@ -15732,9 +15732,9 @@ function ResourceMeter({
|
|
|
15732
15732
|
{
|
|
15733
15733
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-3.5" }),
|
|
15734
15734
|
label: isAi ? react.formatGbp(addons.block_ai_gbp) : `${addons.block_storage_gb} GB`,
|
|
15735
|
-
caption:
|
|
15735
|
+
caption: chunkDDIV3MYQ_cjs.addStepCaption(kind, addons),
|
|
15736
15736
|
onClick: onAdd,
|
|
15737
|
-
ariaLabel: `Add ${
|
|
15737
|
+
ariaLabel: `Add ${chunkDDIV3MYQ_cjs.stepLabel(kind, isAi ? addons.block_ai_gbp : addons.block_storage_gb)}`,
|
|
15738
15738
|
testId: isAi ? "add-ai-block-button" : "add-storage-block-button"
|
|
15739
15739
|
}
|
|
15740
15740
|
),
|
|
@@ -15745,7 +15745,7 @@ function ResourceMeter({
|
|
|
15745
15745
|
label: isAi ? react.formatGbp(removeSize) : `${removeSize} GB`,
|
|
15746
15746
|
caption: `from ${fromShort}`,
|
|
15747
15747
|
onClick: onReduce,
|
|
15748
|
-
ariaLabel: `Remove ${
|
|
15748
|
+
ariaLabel: `Remove ${chunkDDIV3MYQ_cjs.stepLabel(kind, removeSize)} from ${from}`,
|
|
15749
15749
|
testId: `reduce-${slug}-button`
|
|
15750
15750
|
}
|
|
15751
15751
|
)
|
|
@@ -15784,10 +15784,10 @@ function UsageCapEditor({ project, addons }) {
|
|
|
15784
15784
|
updateSettings.mutate(
|
|
15785
15785
|
{
|
|
15786
15786
|
projectExtId: project.external_id,
|
|
15787
|
-
body:
|
|
15787
|
+
body: chunkDDIV3MYQ_cjs.addonSettingsBody(addons, { spend_cap_pence: nextCap })
|
|
15788
15788
|
},
|
|
15789
15789
|
{
|
|
15790
|
-
onSuccess: () => shell.notify.success(
|
|
15790
|
+
onSuccess: () => shell.notify.success(chunkDDIV3MYQ_cjs.budgetSavedMessage(nextCap)),
|
|
15791
15791
|
onError: (error) => shell.notify.error(addonErrorMessage(error))
|
|
15792
15792
|
}
|
|
15793
15793
|
);
|
|
@@ -15798,14 +15798,14 @@ function UsageCapEditor({ project, addons }) {
|
|
|
15798
15798
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15799
15799
|
chunkC4TGESIB_cjs.UsageMeter,
|
|
15800
15800
|
{
|
|
15801
|
-
label:
|
|
15801
|
+
label: chunkDDIV3MYQ_cjs.USAGE_CAP_LABEL,
|
|
15802
15802
|
hint: spendResets && savedCap !== 0 ? `resets ${spendResets}` : void 0,
|
|
15803
15803
|
value: readout,
|
|
15804
15804
|
pct: savedCap != null && savedCap > 0 ? pct(spent, savedCap) : 0,
|
|
15805
15805
|
testId: "addon-spend"
|
|
15806
15806
|
}
|
|
15807
15807
|
),
|
|
15808
|
-
addons.cap_reached && savedCap != null && savedCap > 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", "data-testid": "addon-cap-reached", children:
|
|
15808
|
+
addons.cap_reached && savedCap != null && savedCap > 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", "data-testid": "addon-cap-reached", children: chunkDDIV3MYQ_cjs.CAP_REACHED_MESSAGE }),
|
|
15809
15809
|
addons.manual_spent_pence > 0 && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground", "data-testid": "addon-manual-spend", children: [
|
|
15810
15810
|
"Added by hand this month: ",
|
|
15811
15811
|
gbp(addons.manual_spent_pence),
|
|
@@ -15826,7 +15826,7 @@ function UsageCapEditor({ project, addons }) {
|
|
|
15826
15826
|
step: 25,
|
|
15827
15827
|
className: "h-9 w-28",
|
|
15828
15828
|
value: noCap ? "" : value,
|
|
15829
|
-
placeholder: noCap ? "No limit" : String(
|
|
15829
|
+
placeholder: noCap ? "No limit" : String(chunkDDIV3MYQ_cjs.DEFAULT_SPEND_CAP_PENCE / 100),
|
|
15830
15830
|
disabled: noCap,
|
|
15831
15831
|
onChange: (e) => setValue(e.target.value),
|
|
15832
15832
|
onKeyDown: (e) => e.key === "Enter" && save(),
|
|
@@ -15852,7 +15852,7 @@ function UsageCapEditor({ project, addons }) {
|
|
|
15852
15852
|
checked: noCap,
|
|
15853
15853
|
onCheckedChange: (checked) => {
|
|
15854
15854
|
setNoCap(checked);
|
|
15855
|
-
if (!checked && value === "") setValue(String(
|
|
15855
|
+
if (!checked && value === "") setValue(String(chunkDDIV3MYQ_cjs.DEFAULT_SPEND_CAP_PENCE / 100));
|
|
15856
15856
|
},
|
|
15857
15857
|
"data-testid": "no-cap-switch"
|
|
15858
15858
|
}
|
|
@@ -15865,8 +15865,8 @@ function UsageCapEditor({ project, addons }) {
|
|
|
15865
15865
|
function UsageInfo({ addons, isAnnual }) {
|
|
15866
15866
|
const period = isAnnual ? "year" : "month";
|
|
15867
15867
|
const legacy = (addons.legacy_ai_blocks ?? 0) > 0 || (addons.legacy_storage_blocks ?? 0) > 0;
|
|
15868
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15869
|
-
|
|
15868
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.MoreInfo, { title: "Usage and top-ups", testId: "usage-more-info", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15869
|
+
chunkMMSHLHTA_cjs.MoreInfoList,
|
|
15870
15870
|
{
|
|
15871
15871
|
items: [
|
|
15872
15872
|
{
|
|
@@ -15881,7 +15881,7 @@ function UsageInfo({ addons, isAnnual }) {
|
|
|
15881
15881
|
term: "Automatic top-ups",
|
|
15882
15882
|
text: "One step is added when AI usage drops below your auto top-up level, or when an upload needs more storage."
|
|
15883
15883
|
},
|
|
15884
|
-
{ term: "Usage cap", text:
|
|
15884
|
+
{ term: "Usage cap", text: chunkDDIV3MYQ_cjs.USAGE_CAP_HELP },
|
|
15885
15885
|
{
|
|
15886
15886
|
term: "Reducing",
|
|
15887
15887
|
text: "\u2212 removes one step from your next renewal. You keep this period's allowance. No refunds."
|
|
@@ -15892,7 +15892,7 @@ function UsageInfo({ addons, isAnnual }) {
|
|
|
15892
15892
|
text: "Top-ups bought on an earlier price keep their size and price until removed; they are removed last."
|
|
15893
15893
|
}
|
|
15894
15894
|
] : [],
|
|
15895
|
-
...isAnnual ? [{ term: "Annual", text: `${
|
|
15895
|
+
...isAnnual ? [{ term: "Annual", text: `${chunkDDIV3MYQ_cjs.ANNUAL_PREMIUM_AI_NOTE}.` }] : [],
|
|
15896
15896
|
{
|
|
15897
15897
|
term: "Prices",
|
|
15898
15898
|
text: "Shown ex VAT. The confirm step shows the total with VAT before you pay."
|
|
@@ -15984,7 +15984,7 @@ function formatShortDate2(unix) {
|
|
|
15984
15984
|
if (!unix) return null;
|
|
15985
15985
|
return new Date(unix * 1e3).toLocaleDateString("en-GB", { day: "numeric", month: "short" });
|
|
15986
15986
|
}
|
|
15987
|
-
var gbp2 = (pence) =>
|
|
15987
|
+
var gbp2 = (pence) => chunkDDIV3MYQ_cjs.formatMoney(pence, "gbp");
|
|
15988
15988
|
var gbNum = (n) => `${Math.round(n * 10) / 10}`;
|
|
15989
15989
|
var pct2 = (used, limit) => limit > 0 ? Math.min(100, used / limit * 100) : 0;
|
|
15990
15990
|
function Meter({
|
|
@@ -16002,15 +16002,15 @@ function Meter({
|
|
|
16002
16002
|
] });
|
|
16003
16003
|
}
|
|
16004
16004
|
function usePlanPrice(project) {
|
|
16005
|
-
const { data: products } = react.useProducts({ enabled:
|
|
16006
|
-
if (!
|
|
16005
|
+
const { data: products } = react.useProducts({ enabled: chunkDDIV3MYQ_cjs.isProProject(project) });
|
|
16006
|
+
if (!chunkDDIV3MYQ_cjs.isProProject(project)) return null;
|
|
16007
16007
|
const isAnnual = project.plan_interval === "year";
|
|
16008
16008
|
if (project.amount != null) {
|
|
16009
16009
|
return { incl: project.amount, ex: project.amount_ex_vat ?? null, isAnnual };
|
|
16010
16010
|
}
|
|
16011
|
-
if ((project.packs ??
|
|
16012
|
-
const prices =
|
|
16013
|
-
const pp =
|
|
16011
|
+
if ((project.packs ?? chunkDDIV3MYQ_cjs.PRO_PACKS) > chunkDDIV3MYQ_cjs.PRO_PACKS) return null;
|
|
16012
|
+
const prices = chunkDDIV3MYQ_cjs.findProPrices(products);
|
|
16013
|
+
const pp = chunkDDIV3MYQ_cjs.packPrice(isAnnual ? prices.annual : prices.monthly);
|
|
16014
16014
|
return pp ? { incl: pp.amount, ex: pp.amount_ex_vat, isAnnual } : null;
|
|
16015
16015
|
}
|
|
16016
16016
|
function paidLine(payment, addons) {
|
|
@@ -16023,11 +16023,11 @@ function ProjectPlanCard({
|
|
|
16023
16023
|
onChangePlan
|
|
16024
16024
|
}) {
|
|
16025
16025
|
const { quotas, addons } = project;
|
|
16026
|
-
const isPro =
|
|
16026
|
+
const isPro = chunkDDIV3MYQ_cjs.isProProject(project);
|
|
16027
16027
|
const used = quotas?.ai_usage?.used ?? 0;
|
|
16028
16028
|
const limit = quotas?.ai_usage?.limit ?? 0;
|
|
16029
|
-
const resetDate = formatShortDate2(
|
|
16030
|
-
const periodEnd =
|
|
16029
|
+
const resetDate = formatShortDate2(chunkDDIV3MYQ_cjs.aiUsageResetTimestamp(project));
|
|
16030
|
+
const periodEnd = chunkDDIV3MYQ_cjs.formatPeriodEnd(addons?.period_end ?? project.current_period_end);
|
|
16031
16031
|
const when2 = periodEnd ?? "the end of the period";
|
|
16032
16032
|
const storageUsed = quotas?.storage_gb?.used ?? 0;
|
|
16033
16033
|
const storageLimit = quotas?.storage_gb?.limit ?? 0;
|
|
@@ -16043,7 +16043,7 @@ function ProjectPlanCard({
|
|
|
16043
16043
|
project.external_id,
|
|
16044
16044
|
hasScheduledChange && addons ? { packs: packsNext ?? addons.packs, interval: pending ?? currentInterval } : null
|
|
16045
16045
|
).data;
|
|
16046
|
-
const tier = isPro ?
|
|
16046
|
+
const tier = isPro ? chunkDDIV3MYQ_cjs.proTierName(project) : project.subscription === "dev" ? "Dev" : "Free";
|
|
16047
16047
|
const pendingPayment = addons?.payment?.status === "pending" ? addons.payment : null;
|
|
16048
16048
|
const confirmUrl = pendingPayment?.confirm_url ?? addons?.confirm_url;
|
|
16049
16049
|
const paidPayment = addons?.payment?.status === "paid" ? addons.payment : null;
|
|
@@ -16077,7 +16077,7 @@ function ProjectPlanCard({
|
|
|
16077
16077
|
isPro && " ",
|
|
16078
16078
|
isPro && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1 text-sm font-normal text-muted-foreground", children: currentInterval === "year" ? "Annual" : "Monthly" })
|
|
16079
16079
|
] }),
|
|
16080
|
-
isPro && periodEnd && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground", "data-testid": "project-plan-renews", children: isCanceling ? `Ends ${periodEnd}` : hasScheduledChange && nextBill ? `Next bill ${
|
|
16080
|
+
isPro && periodEnd && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground", "data-testid": "project-plan-renews", children: isCanceling ? `Ends ${periodEnd}` : hasScheduledChange && nextBill ? `Next bill ${chunkDDIV3MYQ_cjs.totalWithTaxWord({
|
|
16081
16081
|
subtotal: nextBill.next_renewal_ex_vat_pence,
|
|
16082
16082
|
tax: nextBill.next_renewal_tax_pence,
|
|
16083
16083
|
total: nextBill.next_renewal_pence,
|
|
@@ -16086,7 +16086,7 @@ function ProjectPlanCard({
|
|
|
16086
16086
|
] }),
|
|
16087
16087
|
price && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-auto text-right", "data-testid": "project-plan-price", children: [
|
|
16088
16088
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-lg font-semibold tabular-nums text-foreground", children: [
|
|
16089
|
-
price.ex != null ?
|
|
16089
|
+
price.ex != null ? chunkDDIV3MYQ_cjs.plusVat(price.ex) : gbp2(price.incl),
|
|
16090
16090
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-normal text-muted-foreground", children: price.isAnnual ? "/year" : "/month" })
|
|
16091
16091
|
] }),
|
|
16092
16092
|
price.ex != null && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-muted-foreground", children: [
|
|
@@ -16124,7 +16124,7 @@ function ProjectPlanCard({
|
|
|
16124
16124
|
undoTestId: "undo-plan-change-button",
|
|
16125
16125
|
children: [
|
|
16126
16126
|
"Changes to ",
|
|
16127
|
-
|
|
16127
|
+
chunkDDIV3MYQ_cjs.planNameForPacks(packsNext),
|
|
16128
16128
|
" on ",
|
|
16129
16129
|
when2,
|
|
16130
16130
|
"."
|
|
@@ -16169,8 +16169,8 @@ function ProjectPlanCard({
|
|
|
16169
16169
|
}
|
|
16170
16170
|
)
|
|
16171
16171
|
] }),
|
|
16172
|
-
addons?.billing_error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
16173
|
-
confirmUrl ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16172
|
+
addons?.billing_error && /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanNotice, { tone: "error", testId: "plan-billing-error", children: addons.billing_error }),
|
|
16173
|
+
confirmUrl ? /* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.PlanNotice, { testId: "plan-payment-state", children: [
|
|
16174
16174
|
"Waiting for your bank",
|
|
16175
16175
|
pendingPayment?.amount_pence ? ` \xB7 ${gbp2(pendingPayment.amount_pence)}` : "",
|
|
16176
16176
|
" \xB7",
|
|
@@ -16188,7 +16188,7 @@ function ProjectPlanCard({
|
|
|
16188
16188
|
]
|
|
16189
16189
|
}
|
|
16190
16190
|
)
|
|
16191
|
-
] }) : paidPayment && addons && /* @__PURE__ */ jsxRuntime.jsx(
|
|
16191
|
+
] }) : paidPayment && addons && /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanNotice, { testId: "plan-payment-state", children: paidLine(paidPayment, addons) }),
|
|
16192
16192
|
isPro && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16193
16193
|
"button",
|
|
16194
16194
|
{
|
|
@@ -16215,7 +16215,7 @@ function ProjectBilling({
|
|
|
16215
16215
|
const { addons } = project;
|
|
16216
16216
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", "data-testid": "project-billing", children: [
|
|
16217
16217
|
/* @__PURE__ */ jsxRuntime.jsx(ProjectPlanCard, { project, onChangePlan }),
|
|
16218
|
-
addons &&
|
|
16218
|
+
addons && chunkDDIV3MYQ_cjs.isProProject(project) && /* @__PURE__ */ jsxRuntime.jsx(ProjectUsageCard, { project, addons })
|
|
16219
16219
|
] });
|
|
16220
16220
|
}
|
|
16221
16221
|
var BREAKDOWN_LABELS = {
|
|
@@ -16346,13 +16346,13 @@ function ProjectUsageContent({
|
|
|
16346
16346
|
};
|
|
16347
16347
|
const quotaPct = effectiveUsage && aiUsageLimit ? Math.round(effectiveUsage.total_spend / aiUsageLimit * 100) : 0;
|
|
16348
16348
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
16349
|
-
|
|
16349
|
+
chunkMMSHLHTA_cjs.UsagePanel,
|
|
16350
16350
|
{
|
|
16351
16351
|
state,
|
|
16352
16352
|
dateRange,
|
|
16353
16353
|
emptyMessage: `No usage ${period === "current" ? "yet this month" : "last month"}.`,
|
|
16354
16354
|
period: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16355
|
-
|
|
16355
|
+
chunkMMSHLHTA_cjs.UsageToggle,
|
|
16356
16356
|
{
|
|
16357
16357
|
ariaLabel: "Period",
|
|
16358
16358
|
value: period,
|
|
@@ -16365,7 +16365,7 @@ function ProjectUsageContent({
|
|
|
16365
16365
|
),
|
|
16366
16366
|
actions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
16367
16367
|
effectiveUsage?.invoice_pdf && /* @__PURE__ */ jsxRuntime.jsx(
|
|
16368
|
-
|
|
16368
|
+
chunkMMSHLHTA_cjs.UsageActionButton,
|
|
16369
16369
|
{
|
|
16370
16370
|
label: "Download Stripe invoice PDF",
|
|
16371
16371
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { className: "size-3.5" }),
|
|
@@ -16373,7 +16373,7 @@ function ProjectUsageContent({
|
|
|
16373
16373
|
}
|
|
16374
16374
|
),
|
|
16375
16375
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16376
|
-
|
|
16376
|
+
chunkMMSHLHTA_cjs.UsageActionButton,
|
|
16377
16377
|
{
|
|
16378
16378
|
label: "Print usage summary",
|
|
16379
16379
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Printer, { className: "size-3.5" }),
|
|
@@ -16383,7 +16383,7 @@ function ProjectUsageContent({
|
|
|
16383
16383
|
] }),
|
|
16384
16384
|
children: effectiveUsage && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
16385
16385
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16386
|
-
|
|
16386
|
+
chunkMMSHLHTA_cjs.UsageSummary,
|
|
16387
16387
|
{
|
|
16388
16388
|
stats: [
|
|
16389
16389
|
{
|
|
@@ -16391,7 +16391,7 @@ function ProjectUsageContent({
|
|
|
16391
16391
|
value: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: react.formatGbp(effectiveUsage.total_spend) }),
|
|
16392
16392
|
label: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
16393
16393
|
"AI usage",
|
|
16394
|
-
quotaPct > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16394
|
+
quotaPct > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.UsageQuotaHint, { children: [
|
|
16395
16395
|
"(",
|
|
16396
16396
|
quotaPct,
|
|
16397
16397
|
"% of quota)"
|
|
@@ -16412,7 +16412,7 @@ function ProjectUsageContent({
|
|
|
16412
16412
|
}
|
|
16413
16413
|
),
|
|
16414
16414
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16415
|
-
|
|
16415
|
+
chunkMMSHLHTA_cjs.UsageToggle,
|
|
16416
16416
|
{
|
|
16417
16417
|
ariaLabel: "Breakdown by",
|
|
16418
16418
|
size: "fill",
|
|
@@ -16425,12 +16425,12 @@ function ProjectUsageContent({
|
|
|
16425
16425
|
}
|
|
16426
16426
|
),
|
|
16427
16427
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16428
|
-
|
|
16428
|
+
chunkMMSHLHTA_cjs.UsageSection,
|
|
16429
16429
|
{
|
|
16430
|
-
footer: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16430
|
+
footer: /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.UsageLegend, { series }),
|
|
16431
16431
|
title: `Daily AI usage${breakdown === "model" ? ` by ${BREAKDOWN_LABELS[breakdown]}` : ""}`,
|
|
16432
16432
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16433
|
-
|
|
16433
|
+
chunkMMSHLHTA_cjs.UsageLineChart,
|
|
16434
16434
|
{
|
|
16435
16435
|
dates,
|
|
16436
16436
|
series,
|
|
@@ -16441,12 +16441,12 @@ function ProjectUsageContent({
|
|
|
16441
16441
|
}
|
|
16442
16442
|
),
|
|
16443
16443
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16444
|
-
|
|
16444
|
+
chunkMMSHLHTA_cjs.UsageSection,
|
|
16445
16445
|
{
|
|
16446
16446
|
title: "Breakdown",
|
|
16447
16447
|
gap: "md",
|
|
16448
16448
|
action: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16449
|
-
|
|
16449
|
+
chunkMMSHLHTA_cjs.UsageToggle,
|
|
16450
16450
|
{
|
|
16451
16451
|
ariaLabel: "Breakdown metric",
|
|
16452
16452
|
value: metric,
|
|
@@ -16458,7 +16458,7 @@ function ProjectUsageContent({
|
|
|
16458
16458
|
}
|
|
16459
16459
|
),
|
|
16460
16460
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16461
|
-
|
|
16461
|
+
chunkMMSHLHTA_cjs.UsageProportionBar,
|
|
16462
16462
|
{
|
|
16463
16463
|
metric,
|
|
16464
16464
|
items: breakdownItems.map((item) => ({
|
|
@@ -16476,13 +16476,13 @@ function ProjectUsageContent({
|
|
|
16476
16476
|
);
|
|
16477
16477
|
}
|
|
16478
16478
|
function ProjectDetail({ projectExtId, storage }) {
|
|
16479
|
-
const { stripeEnabled } =
|
|
16479
|
+
const { stripeEnabled } = chunkDDIV3MYQ_cjs.useBillingSupport();
|
|
16480
16480
|
const [planOpen, setPlanOpen] = react$1.useState(false);
|
|
16481
16481
|
const [renameOpen, setRenameOpen] = react$1.useState(false);
|
|
16482
16482
|
const [renameValue, setRenameValue] = react$1.useState("");
|
|
16483
16483
|
const updateProject = react.useUpdateProjectFields();
|
|
16484
16484
|
const { data: projects, isLoading } = react.useProjects();
|
|
16485
|
-
const currentUserExtId =
|
|
16485
|
+
const currentUserExtId = chunkDDIV3MYQ_cjs.useSelfExtId();
|
|
16486
16486
|
const project = projects?.find((p) => p.external_id === projectExtId);
|
|
16487
16487
|
const handleSaveRename = react$1.useCallback(() => {
|
|
16488
16488
|
const trimmed = renameValue.trim();
|
|
@@ -16520,7 +16520,7 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
16520
16520
|
}
|
|
16521
16521
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-6 space-y-6 max-w-4xl", "data-testid": `project-detail-${project.external_id}`, children: [
|
|
16522
16522
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16523
|
-
|
|
16523
|
+
chunkMMSHLHTA_cjs.ProjectDetailHeader,
|
|
16524
16524
|
{
|
|
16525
16525
|
icon: /* @__PURE__ */ jsxRuntime.jsx(ui.EntityIcon, { entityType: "PROJECT" }),
|
|
16526
16526
|
name: project.name,
|
|
@@ -16528,11 +16528,11 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
16528
16528
|
setRenameValue(project.name);
|
|
16529
16529
|
setRenameOpen(true);
|
|
16530
16530
|
},
|
|
16531
|
-
badge: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
16531
|
+
badge: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanBadge, { ...chunkDDIV3MYQ_cjs.planBadgeView(project), size: "md" }) : void 0
|
|
16532
16532
|
}
|
|
16533
16533
|
),
|
|
16534
16534
|
hasBilling && /* @__PURE__ */ jsxRuntime.jsx(ProjectBilling, { project, onChangePlan: () => setPlanOpen(true) }),
|
|
16535
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
16535
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.ProjectDetailSection, { title: hasBilling ? "Collaborator limits" : "Plan limits", children: [
|
|
16536
16536
|
!hasBilling && /* @__PURE__ */ jsxRuntime.jsx(SubscriptionStatus, { project }),
|
|
16537
16537
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
16538
16538
|
"div",
|
|
@@ -16548,7 +16548,7 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
16548
16548
|
}
|
|
16549
16549
|
)
|
|
16550
16550
|
] }),
|
|
16551
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16551
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.ProjectDetailSection, { title: "Usage", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16552
16552
|
ProjectUsageContent,
|
|
16553
16553
|
{
|
|
16554
16554
|
projectExtId: project.external_id,
|
|
@@ -16558,7 +16558,7 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
16558
16558
|
) }),
|
|
16559
16559
|
storage,
|
|
16560
16560
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16561
|
-
|
|
16561
|
+
chunkMMSHLHTA_cjs.RenameDialog,
|
|
16562
16562
|
{
|
|
16563
16563
|
open: renameOpen,
|
|
16564
16564
|
onClose: () => setRenameOpen(false),
|
|
@@ -16575,7 +16575,7 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
16575
16575
|
function useAutoRefreshPendingProjects() {
|
|
16576
16576
|
const { data: projects } = react.useProjects();
|
|
16577
16577
|
const refreshProject = react.useRefreshProject();
|
|
16578
|
-
const currentUserExtId =
|
|
16578
|
+
const currentUserExtId = chunkDDIV3MYQ_cjs.useSelfExtId();
|
|
16579
16579
|
const refreshedRef = react$1.useRef(/* @__PURE__ */ new Set());
|
|
16580
16580
|
react$1.useEffect(() => {
|
|
16581
16581
|
if (!projects || !currentUserExtId) return;
|
|
@@ -16606,7 +16606,7 @@ function ConnectedQuotaDialog({ info, onClose: close }) {
|
|
|
16606
16606
|
if (quotaProjectId) void refetchProjects();
|
|
16607
16607
|
}, [quotaProjectId, refetchProjects]);
|
|
16608
16608
|
const project = info?.projectExtId ? projects?.find((p) => p.external_id === info.projectExtId) : void 0;
|
|
16609
|
-
const addons = project &&
|
|
16609
|
+
const addons = project && chunkDDIV3MYQ_cjs.isProProject(project) ? project.addons : null;
|
|
16610
16610
|
const handleUpgrade = () => {
|
|
16611
16611
|
if (info?.projectExtId) {
|
|
16612
16612
|
requestProjectBillingFocus({ projectExtId: info.projectExtId, openUpgrade: true });
|
|
@@ -16642,8 +16642,8 @@ function ConnectedQuotaDialog({ info, onClose: close }) {
|
|
|
16642
16642
|
/* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {})
|
|
16643
16643
|
);
|
|
16644
16644
|
} else if (addons) {
|
|
16645
|
-
const price = `${
|
|
16646
|
-
const capZero =
|
|
16645
|
+
const price = `${chunkDDIV3MYQ_cjs.formatMoney(addons.ai_block_price_ex_vat_pence, "gbp")} + VAT`;
|
|
16646
|
+
const capZero = chunkDDIV3MYQ_cjs.isAddonBudgetZero(addons);
|
|
16647
16647
|
const addAiUsage = /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { onClick: handleAddAiUsage, "data-testid": "quota-add-ai-usage-button", children: [
|
|
16648
16648
|
"Add ",
|
|
16649
16649
|
react.formatGbp(addons.block_ai_gbp),
|
|
@@ -16651,7 +16651,7 @@ function ConnectedQuotaDialog({ info, onClose: close }) {
|
|
|
16651
16651
|
price
|
|
16652
16652
|
] });
|
|
16653
16653
|
if (capZero || addons.cap_reached) {
|
|
16654
|
-
message = capZero ?
|
|
16654
|
+
message = capZero ? chunkDDIV3MYQ_cjs.ZERO_BUDGET_MESSAGE : chunkDDIV3MYQ_cjs.CAP_REACHED_MESSAGE;
|
|
16655
16655
|
actions = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
16656
16656
|
addAiUsage,
|
|
16657
16657
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outline", onClick: handleRaiseCap, "data-testid": "quota-raise-cap-button", children: capZero ? "Set cap" : "Raise cap" })
|
|
@@ -16664,7 +16664,7 @@ function ConnectedQuotaDialog({ info, onClose: close }) {
|
|
|
16664
16664
|
const addAiUsageProject = addAiUsageFor ? projects?.find((p) => p.external_id === addAiUsageFor) : void 0;
|
|
16665
16665
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
16666
16666
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16667
|
-
|
|
16667
|
+
chunkMMSHLHTA_cjs.QuotaExceededDialogView,
|
|
16668
16668
|
{
|
|
16669
16669
|
open,
|
|
16670
16670
|
onClose: close,
|
|
@@ -16838,7 +16838,7 @@ function ConnectedWelcomeDialog({
|
|
|
16838
16838
|
}) {
|
|
16839
16839
|
const currentUser = react.useArbiSession().user;
|
|
16840
16840
|
const { data: projects } = react.useProjects();
|
|
16841
|
-
const balance =
|
|
16841
|
+
const balance = chunkDDIV3MYQ_cjs.useRewardBalance();
|
|
16842
16842
|
const [showPlans, setShowPlans] = react$1.useState(false);
|
|
16843
16843
|
const [showInvite, setShowInvite] = react$1.useState(false);
|
|
16844
16844
|
const [selectedProjectId, setSelectedProjectId] = react$1.useState(null);
|
|
@@ -16859,28 +16859,28 @@ function ConnectedWelcomeDialog({
|
|
|
16859
16859
|
return /* @__PURE__ */ jsxRuntime.jsx(ChangePlanDialog, { project: selectedProject, open, onOpenChange: handleOpenChange });
|
|
16860
16860
|
}
|
|
16861
16861
|
if (showInvite) {
|
|
16862
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
16862
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.InviteContactsDialog, { open, onClose: () => handleOpenChange(false), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16863
16863
|
ConnectedAddContacts,
|
|
16864
16864
|
{
|
|
16865
16865
|
onClose: () => handleOpenChange(false),
|
|
16866
|
-
rewardAmount:
|
|
16866
|
+
rewardAmount: chunkDDIV3MYQ_cjs.formatMoney(REFERRAL_OFFER.amount, REFERRAL_OFFER.currency)
|
|
16867
16867
|
}
|
|
16868
16868
|
) });
|
|
16869
16869
|
}
|
|
16870
16870
|
const firstName = currentUser?.given_name;
|
|
16871
16871
|
const hasBalance = balance !== null;
|
|
16872
|
-
const quotaItems =
|
|
16873
|
-
const resetTs =
|
|
16874
|
-
const aiUsageHint = resetTs ? `resets ${
|
|
16872
|
+
const quotaItems = chunkDDIV3MYQ_cjs.getQuotaItems(selectedProject.quotas);
|
|
16873
|
+
const resetTs = chunkDDIV3MYQ_cjs.aiUsageResetTimestamp(selectedProject);
|
|
16874
|
+
const aiUsageHint = resetTs ? `resets ${chunkDDIV3MYQ_cjs.formatResetDate(resetTs)}` : void 0;
|
|
16875
16875
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
16876
|
-
|
|
16876
|
+
chunkMMSHLHTA_cjs.WelcomeDialog,
|
|
16877
16877
|
{
|
|
16878
16878
|
open,
|
|
16879
16879
|
onClose: () => handleOpenChange(false),
|
|
16880
16880
|
firstName,
|
|
16881
16881
|
hasReward: hasBalance,
|
|
16882
16882
|
projectPicker: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16883
|
-
|
|
16883
|
+
chunkYZ6YOOTF_cjs.ProjectPicker,
|
|
16884
16884
|
{
|
|
16885
16885
|
variant: "welcome",
|
|
16886
16886
|
value: selectedProject.external_id,
|
|
@@ -16888,7 +16888,7 @@ function ConnectedWelcomeDialog({
|
|
|
16888
16888
|
onChange: setSelectedProjectId
|
|
16889
16889
|
}
|
|
16890
16890
|
),
|
|
16891
|
-
planBadge: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16891
|
+
planBadge: /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PlanBadge, { ...chunkDDIV3MYQ_cjs.planBadgeView(selectedProject), size: "md" }),
|
|
16892
16892
|
quotas: quotaItems.map((q) => ({
|
|
16893
16893
|
key: q.key,
|
|
16894
16894
|
icon: q.icon,
|
|
@@ -16898,9 +16898,9 @@ function ConnectedWelcomeDialog({
|
|
|
16898
16898
|
hint: q.key === "ai-usage" ? aiUsageHint : void 0
|
|
16899
16899
|
})),
|
|
16900
16900
|
onSeePlans: () => setShowPlans(true),
|
|
16901
|
-
referralOfferLabel: `${
|
|
16901
|
+
referralOfferLabel: `${chunkDDIV3MYQ_cjs.formatMoney(REFERRAL_OFFER.amount, REFERRAL_OFFER.currency)} off your plan`,
|
|
16902
16902
|
onInvite: () => setShowInvite(true),
|
|
16903
|
-
rewardBalanceLabel: hasBalance ?
|
|
16903
|
+
rewardBalanceLabel: hasBalance ? chunkDDIV3MYQ_cjs.formatMoney(balance.amount, balance.currency) : void 0
|
|
16904
16904
|
}
|
|
16905
16905
|
);
|
|
16906
16906
|
}
|
|
@@ -16963,7 +16963,7 @@ function WorkspaceCardsView({
|
|
|
16963
16963
|
createDisabledReason,
|
|
16964
16964
|
workspaceState
|
|
16965
16965
|
}) {
|
|
16966
|
-
const { stripeEnabled } =
|
|
16966
|
+
const { stripeEnabled } = chunkDDIV3MYQ_cjs.useBillingSupport();
|
|
16967
16967
|
const { hrefFor: hrefFor2 } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
16968
16968
|
const workspaceLabel = ui.getEntityLabel("WORKSPACE");
|
|
16969
16969
|
const projectLabel = ui.getEntityLabel("PROJECT").toLowerCase();
|
|
@@ -16983,7 +16983,7 @@ function WorkspaceCardsView({
|
|
|
16983
16983
|
}
|
|
16984
16984
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkC5CWKZ5D_cjs.WorkspaceList, { testId: "workspace-cards-list", children: groups.map((group) => {
|
|
16985
16985
|
const project = projects.find((p) => p.external_id === group.projectExtId);
|
|
16986
|
-
const { breakdown, readout } =
|
|
16986
|
+
const { breakdown, readout } = chunkDDIV3MYQ_cjs.projectGroupBilling(project, {
|
|
16987
16987
|
isOwned: group.isOwned,
|
|
16988
16988
|
stripeEnabled
|
|
16989
16989
|
});
|
|
@@ -17146,7 +17146,7 @@ function useConnectedWorkspaceList({
|
|
|
17146
17146
|
[selfId, pinned]
|
|
17147
17147
|
);
|
|
17148
17148
|
const filtered = react$1.useMemo(
|
|
17149
|
-
() =>
|
|
17149
|
+
() => chunkMMSHLHTA_cjs.applyTriStateFilters(workspaces, filterMap, attributesOf),
|
|
17150
17150
|
[workspaces, filterMap, attributesOf]
|
|
17151
17151
|
);
|
|
17152
17152
|
const groups = react$1.useMemo(
|
|
@@ -17212,7 +17212,7 @@ function useConnectedWorkspaceList({
|
|
|
17212
17212
|
};
|
|
17213
17213
|
}
|
|
17214
17214
|
var WorkspaceTableView = react$1.lazy(
|
|
17215
|
-
() => import('../WorkspaceTableView-
|
|
17215
|
+
() => import('../WorkspaceTableView-ZIQ7JWT5.cjs').then((m) => ({ default: m.WorkspaceTableView }))
|
|
17216
17216
|
);
|
|
17217
17217
|
var WORKSPACES_TAB_ID = "workspaces";
|
|
17218
17218
|
var renderMember = (user, size) => /* @__PURE__ */ jsxRuntime.jsx(chunk5HEMXXHR_cjs.ConnectedUserEntity, { user, size, variant: "icon" });
|
|
@@ -17272,7 +17272,7 @@ function ConnectedWorkspaceList({
|
|
|
17272
17272
|
}
|
|
17273
17273
|
);
|
|
17274
17274
|
}
|
|
17275
|
-
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
17275
|
+
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkCCALU47C_cjs.LoadingIndicator, { message: "Loading workspaces..." });
|
|
17276
17276
|
if (list.error) {
|
|
17277
17277
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
17278
17278
|
chunkECZXW346_cjs.HomeLoadError,
|
|
@@ -17345,7 +17345,7 @@ function ConnectedWorkspaceList({
|
|
|
17345
17345
|
workspaceState
|
|
17346
17346
|
}
|
|
17347
17347
|
) })
|
|
17348
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17348
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkCCALU47C_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkECZXW346_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17349
17349
|
WorkspaceTableView,
|
|
17350
17350
|
{
|
|
17351
17351
|
list,
|
|
@@ -17390,7 +17390,7 @@ function ConnectedProjectsPanel({
|
|
|
17390
17390
|
const { data: projects } = react.useProjects();
|
|
17391
17391
|
const canCreateProjects = react.useCanCreateProjects();
|
|
17392
17392
|
const { userId } = chunkWV65MJ43_cjs.useConnectedWorkspace();
|
|
17393
|
-
const { stripeEnabled } =
|
|
17393
|
+
const { stripeEnabled } = chunkDDIV3MYQ_cjs.useBillingSupport();
|
|
17394
17394
|
const billingPortal = useOpenBillingPortal();
|
|
17395
17395
|
const [newProjectOpen, setNewProjectOpen] = react$1.useState(false);
|
|
17396
17396
|
useAutoRefreshPendingProjects();
|
|
@@ -17417,15 +17417,15 @@ function ConnectedProjectsPanel({
|
|
|
17417
17417
|
[ownedCount, tabs, projects]
|
|
17418
17418
|
);
|
|
17419
17419
|
const paidProject = projects?.find(isPaid);
|
|
17420
|
-
const panel = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17421
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17420
|
+
const panel = /* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.PanelFrame, { className, testId: "projects-panel", children: [
|
|
17421
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.DraggableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17422
17422
|
chunkSJSGSHIT_cjs.TabHeader,
|
|
17423
17423
|
{
|
|
17424
17424
|
tabs: headerTabs,
|
|
17425
17425
|
activeTabId: activeProjectId ?? PROJECTS_BASE_TAB_ID,
|
|
17426
17426
|
onTabChange: (id) => tabs.onSelect(id === PROJECTS_BASE_TAB_ID ? null : id),
|
|
17427
17427
|
afterTabs: (isCompact) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
17428
|
-
|
|
17428
|
+
chunkMMSHLHTA_cjs.PanelAddButton,
|
|
17429
17429
|
{
|
|
17430
17430
|
label: `New ${ui.entityNoun("PROJECT")}`,
|
|
17431
17431
|
onClick: () => setNewProjectOpen(true),
|
|
@@ -17440,15 +17440,15 @@ function ConnectedProjectsPanel({
|
|
|
17440
17440
|
compactBreakpoint: 360
|
|
17441
17441
|
}
|
|
17442
17442
|
) }),
|
|
17443
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17443
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PanelFrameBody, { children: activeProjectId ? /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PanelScroll, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17444
17444
|
ProjectDetail,
|
|
17445
17445
|
{
|
|
17446
17446
|
projectExtId: activeProjectId,
|
|
17447
17447
|
storage: /* @__PURE__ */ jsxRuntime.jsx(ConnectedProjectStorage, { projectExtId: activeProjectId })
|
|
17448
17448
|
}
|
|
17449
|
-
) }) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17449
|
+
) }) : /* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.PanelScroll, { variant: "padded", children: [
|
|
17450
17450
|
/* @__PURE__ */ jsxRuntime.jsx(ProjectsTable, {}),
|
|
17451
|
-
stripeEnabled && paidProject && /* @__PURE__ */ jsxRuntime.jsx(
|
|
17451
|
+
stripeEnabled && paidProject && /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PanelActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17452
17452
|
ui.Button,
|
|
17453
17453
|
{
|
|
17454
17454
|
onClick: () => billingPortal.open(paidProject.external_id),
|
|
@@ -17535,7 +17535,7 @@ function ConnectedProjectsListPage({
|
|
|
17535
17535
|
};
|
|
17536
17536
|
const { openProject } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
17537
17537
|
const [search, setSearch] = react$1.useState("");
|
|
17538
|
-
const { projects, isLoading } =
|
|
17538
|
+
const { projects, isLoading } = chunkXM4KRGCK_cjs.useProjectSummaries();
|
|
17539
17539
|
const rows = react$1.useMemo(() => {
|
|
17540
17540
|
const q = search.trim().toLowerCase();
|
|
17541
17541
|
if (!q) return projects;
|
|
@@ -17606,7 +17606,7 @@ function ConnectedProjectsListPage({
|
|
|
17606
17606
|
}
|
|
17607
17607
|
),
|
|
17608
17608
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17609
|
-
|
|
17609
|
+
chunkCCALU47C_cjs.Toolbar,
|
|
17610
17610
|
{
|
|
17611
17611
|
search,
|
|
17612
17612
|
onSearch: setSearch,
|
|
@@ -17668,7 +17668,7 @@ function ProjectDetailsForm({
|
|
|
17668
17668
|
const labels = { ...DEFAULT_PROJECT_DETAILS_LABELS, ...given };
|
|
17669
17669
|
const { notify: notify17 } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
17670
17670
|
const update = react.useUpdateProjectFields();
|
|
17671
|
-
const workspace =
|
|
17671
|
+
const workspace = chunkXM4KRGCK_cjs.primaryProjectWorkspace(project);
|
|
17672
17672
|
const { data: members = [] } = react.useWorkspaceUsers(workspace?.id);
|
|
17673
17673
|
const people = members.filter((m) => !m.user.external_id.startsWith("agt-"));
|
|
17674
17674
|
const currency = project.budget?.currency ?? "GBP";
|
|
@@ -17793,7 +17793,7 @@ var COMPACT_BELOW = 132;
|
|
|
17793
17793
|
var NO_DOCUMENTS = [];
|
|
17794
17794
|
function useFilesWorkspace() {
|
|
17795
17795
|
const { workspaceId, userId, live } = chunkWV65MJ43_cjs.useConnectedWorkspace();
|
|
17796
|
-
const { members, role } =
|
|
17796
|
+
const { members, role } = chunkECCV4YOL_cjs.useConnectedWorkspaceRole();
|
|
17797
17797
|
const { data: workspaces } = react.useWorkspaces({ enabled: live });
|
|
17798
17798
|
const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
|
|
17799
17799
|
return {
|
|
@@ -18566,7 +18566,10 @@ function ProjectThreads({
|
|
|
18566
18566
|
const { data: saved = [] } = react.useWorkflows();
|
|
18567
18567
|
const spend = react.useProjectConversationUsage(projectId);
|
|
18568
18568
|
const { openConversation } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
18569
|
-
const titleOf = (c) =>
|
|
18569
|
+
const titleOf = (c) => {
|
|
18570
|
+
const workflow = saved.find((w) => w.external_id === c.workflow_ext_id)?.name;
|
|
18571
|
+
return c.title || workflow && react.workflowRunTitle(workflow, c.created_at) || labels.untitled;
|
|
18572
|
+
};
|
|
18570
18573
|
const threads = conversations.slice().sort((a, b) => b.created_at.localeCompare(a.created_at));
|
|
18571
18574
|
const list = /* @__PURE__ */ jsxRuntime.jsxs(ui.Card, { className: aside ? "lg:col-span-2" : void 0, "data-testid": testId, children: [
|
|
18572
18575
|
/* @__PURE__ */ jsxRuntime.jsx(ui.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.CardTitle, { children: labels.title }) }),
|
|
@@ -18727,11 +18730,11 @@ function ConnectedProjectPage({
|
|
|
18727
18730
|
figures: { ...DEFAULT_PROJECT_PAGE_LABELS.figures, ...given?.figures },
|
|
18728
18731
|
threads: { ...DEFAULT_PROJECT_PAGE_LABELS.threads, ...given?.threads }
|
|
18729
18732
|
};
|
|
18730
|
-
const { project, usage, isLoading } =
|
|
18733
|
+
const { project, usage, isLoading } = chunkXM4KRGCK_cjs.useProjectSummary(projectId);
|
|
18731
18734
|
const { workspaceId } = chunkWV65MJ43_cjs.useConnectedWorkspace();
|
|
18732
18735
|
const { notify: notify17 } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
18733
|
-
const selectWorkspace =
|
|
18734
|
-
const workspace = project ?
|
|
18736
|
+
const selectWorkspace = chunkXTCNETMI_cjs.useSelectWorkspace();
|
|
18737
|
+
const workspace = project ? chunkXM4KRGCK_cjs.primaryProjectWorkspace(project) : void 0;
|
|
18735
18738
|
const open = !!workspace && workspace.id === workspaceId;
|
|
18736
18739
|
react$1.useEffect(() => {
|
|
18737
18740
|
if (!workspace || workspace.id === workspaceId) return;
|
|
@@ -21115,7 +21118,7 @@ function ConnectedMessengerThread({
|
|
|
21115
21118
|
const activeIsSelf = !!activePeer && activePeer.external_id === meId;
|
|
21116
21119
|
const groupTitle = active?.title ?? null;
|
|
21117
21120
|
const presence = activePeer ? host.presenceOf?.(activePeer.external_id) : void 0;
|
|
21118
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21121
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.PanelFrame, { testId, className, children: [
|
|
21119
21122
|
children,
|
|
21120
21123
|
groupChat ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21121
21124
|
chunkMOIZ2R5X_cjs.DmThreadHeader,
|
|
@@ -21165,7 +21168,7 @@ function ConnectedMessengerThread({
|
|
|
21165
21168
|
groupChat.external_id
|
|
21166
21169
|
) : null,
|
|
21167
21170
|
picker.element,
|
|
21168
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21171
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PanelFrameBody, { className: "flex flex-col overflow-visible", children: active ? /* @__PURE__ */ jsxRuntime.jsx(ConnectedChatThread, { chat: active.chat, peer: activePeer, host }, activeId) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "p-4 text-sm text-muted-foreground", children: isLoading ? "Loading conversation\u2026" : "This conversation is no longer available." }) })
|
|
21169
21172
|
] });
|
|
21170
21173
|
}
|
|
21171
21174
|
function ConnectedMessenger({
|
|
@@ -21187,7 +21190,7 @@ function ConnectedMessenger({
|
|
|
21187
21190
|
testId: "dm-messenger"
|
|
21188
21191
|
}
|
|
21189
21192
|
);
|
|
21190
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21193
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PanelFrame, { testId: "dm-messenger", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
21191
21194
|
ConnectedMessengerList,
|
|
21192
21195
|
{
|
|
21193
21196
|
activeId: null,
|
|
@@ -21403,7 +21406,7 @@ function ConnectedContactsPanel({
|
|
|
21403
21406
|
];
|
|
21404
21407
|
}, [contactCount, hasActiveFilters, tabActions, dmHeaderTabs]);
|
|
21405
21408
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cn("flex flex-col h-full", className), children: [
|
|
21406
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21409
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.DraggableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
21407
21410
|
chunkSJSGSHIT_cjs.TabHeader,
|
|
21408
21411
|
{
|
|
21409
21412
|
tabs,
|
|
@@ -21438,10 +21441,10 @@ function ConnectedContactsPanel({
|
|
|
21438
21441
|
function ConnectedConfigForm({ availableModels, ...rest }) {
|
|
21439
21442
|
const hasModels = !!availableModels && availableModels.length > 0;
|
|
21440
21443
|
const renderModelSelect = react$1.useCallback(
|
|
21441
|
-
({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
21444
|
+
({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(chunkSDXK2COQ_cjs.ConnectedModelSelector, { value, onValueChange: onChange, className: "w-full" }),
|
|
21442
21445
|
[]
|
|
21443
21446
|
);
|
|
21444
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21447
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
|
|
21445
21448
|
}
|
|
21446
21449
|
function ConnectedAgentConfigForm({ agentExtId, agentName, onSaved }) {
|
|
21447
21450
|
const { notify: notify17 } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
@@ -21558,7 +21561,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
21558
21561
|
}, [name, selectedWorkspaces, role, createAgent, addWorkspaceUsers, arbi, notify17]);
|
|
21559
21562
|
if (editAgent) {
|
|
21560
21563
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21561
|
-
|
|
21564
|
+
chunkJ4CXF4A7_cjs.AgentEditView,
|
|
21562
21565
|
{
|
|
21563
21566
|
agentName: editAgent.name,
|
|
21564
21567
|
config: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -21574,7 +21577,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
21574
21577
|
}
|
|
21575
21578
|
if (view === "main") {
|
|
21576
21579
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21577
|
-
|
|
21580
|
+
chunkJ4CXF4A7_cjs.AgentMainView,
|
|
21578
21581
|
{
|
|
21579
21582
|
onConnectExternal: () => setView("connect"),
|
|
21580
21583
|
config: mainAgent ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -21590,11 +21593,11 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
21590
21593
|
}
|
|
21591
21594
|
if (result) {
|
|
21592
21595
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21593
|
-
|
|
21596
|
+
chunkJ4CXF4A7_cjs.AgentCreatedView,
|
|
21594
21597
|
{
|
|
21595
21598
|
email: result.email,
|
|
21596
21599
|
signingKey: result.signingKey,
|
|
21597
|
-
instructions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
21600
|
+
instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
|
|
21598
21601
|
config: /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentConfigForm, { agentExtId: result.extId, agentName: result.name }),
|
|
21599
21602
|
isConfigOpen: configOpen,
|
|
21600
21603
|
onToggleConfig: () => setConfigOpen((v) => !v),
|
|
@@ -21603,7 +21606,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
21603
21606
|
);
|
|
21604
21607
|
}
|
|
21605
21608
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21606
|
-
|
|
21609
|
+
chunkJ4CXF4A7_cjs.AgentCreateView,
|
|
21607
21610
|
{
|
|
21608
21611
|
name,
|
|
21609
21612
|
onNameChange: setName,
|
|
@@ -21669,7 +21672,7 @@ function ConnectedInviteContactsDialog({
|
|
|
21669
21672
|
ConnectedAddContacts,
|
|
21670
21673
|
{
|
|
21671
21674
|
onClose: handleClose,
|
|
21672
|
-
rewardAmount:
|
|
21675
|
+
rewardAmount: chunkDDIV3MYQ_cjs.formatMoney(REFERRAL_OFFER.amount, REFERRAL_OFFER.currency)
|
|
21673
21676
|
}
|
|
21674
21677
|
),
|
|
21675
21678
|
isDeveloper && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -21798,13 +21801,13 @@ function ConnectedNewThreadDialog({
|
|
|
21798
21801
|
});
|
|
21799
21802
|
const parentOptions = react$1.useMemo(() => {
|
|
21800
21803
|
const leaf = { external_id: "__new__" };
|
|
21801
|
-
return
|
|
21804
|
+
return chunkJ4CXF4A7_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
|
|
21802
21805
|
id: t.external_id,
|
|
21803
21806
|
name: t.title?.trim() || "Untitled task"
|
|
21804
21807
|
}));
|
|
21805
21808
|
}, [tasks]);
|
|
21806
21809
|
const submit = async (values) => {
|
|
21807
|
-
const request =
|
|
21810
|
+
const request = chunkJ4CXF4A7_cjs.newThreadToRequest(values);
|
|
21808
21811
|
try {
|
|
21809
21812
|
if (!workspaceId) throw new Error("Open a workspace to add a task.");
|
|
21810
21813
|
if (!request.startAssistant && request.todo) {
|
|
@@ -21845,7 +21848,7 @@ function ConnectedNewThreadDialog({
|
|
|
21845
21848
|
}
|
|
21846
21849
|
};
|
|
21847
21850
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21848
|
-
|
|
21851
|
+
chunkJ4CXF4A7_cjs.NewThreadDialog,
|
|
21849
21852
|
{
|
|
21850
21853
|
open,
|
|
21851
21854
|
onOpenChange,
|
|
@@ -21965,14 +21968,14 @@ var referencesOf = (inputs) => {
|
|
|
21965
21968
|
return value?.documents ?? [];
|
|
21966
21969
|
};
|
|
21967
21970
|
var PROMPT_BINDINGS = {
|
|
21968
|
-
[
|
|
21971
|
+
[chunkJ4CXF4A7_cjs.GENERATE_IMAGE_ID]: {
|
|
21969
21972
|
attachScope: false,
|
|
21970
21973
|
tools: (inputs) => {
|
|
21971
21974
|
const aspectRatio = typeof inputs.aspect_ratio === "string" ? inputs.aspect_ratio : "";
|
|
21972
21975
|
return {
|
|
21973
21976
|
retrieval_chunk: browser.buildRetrievalChunkTool([]),
|
|
21974
21977
|
retrieval_full_context: browser.buildRetrievalFullContextTool(referencesOf(inputs)),
|
|
21975
|
-
...aspectRatio && aspectRatio !==
|
|
21978
|
+
...aspectRatio && aspectRatio !== chunkJ4CXF4A7_cjs.IMAGE_ASPECT_AUTO ? {
|
|
21976
21979
|
image_generation: {
|
|
21977
21980
|
name: "image_generation",
|
|
21978
21981
|
description: "image generation",
|
|
@@ -21993,19 +21996,19 @@ var text = (inputs, name) => {
|
|
|
21993
21996
|
function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
21994
21997
|
const { data: documents = [] } = react.useDocuments();
|
|
21995
21998
|
const { data: workspaceTags = [] } = react.useTags();
|
|
21996
|
-
const tags = react$1.useMemo(() =>
|
|
21999
|
+
const tags = react$1.useMemo(() => chunkSYWJNSPS_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
|
|
21997
22000
|
const createTag = react.useCreateTag();
|
|
21998
22001
|
const updateTag = react.useUpdateTag();
|
|
21999
22002
|
const generate = react.useGenerateDocTags();
|
|
22000
|
-
const { create: createTask } =
|
|
22003
|
+
const { create: createTask } = chunkXM4KRGCK_cjs.useWorkflowTasks();
|
|
22001
22004
|
const applyModel = react.useApplyChatModel();
|
|
22002
22005
|
const session = react.useArbiSessionStore();
|
|
22003
22006
|
const { notify: notify17, openFiles, openNewConversation } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
22004
22007
|
const annotate = react$1.useCallback(
|
|
22005
22008
|
async ({ inputs, scope }) => {
|
|
22006
22009
|
const description = text(inputs, "description");
|
|
22007
|
-
const name = text(inputs, "name") ||
|
|
22008
|
-
const matching =
|
|
22010
|
+
const name = text(inputs, "name") || chunkJ4CXF4A7_cjs.deriveAnnotationName(description);
|
|
22011
|
+
const matching = chunkSYWJNSPS_cjs.matchWorkflowScope(documents, scope);
|
|
22009
22012
|
if (!name || !description || matching.length === 0) return;
|
|
22010
22013
|
try {
|
|
22011
22014
|
const existing = tags.find((t) => t.name.toLowerCase() === name.toLowerCase());
|
|
@@ -22048,9 +22051,9 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
22048
22051
|
async (launch) => {
|
|
22049
22052
|
const { workflow, inputs, scope, agentId } = launch;
|
|
22050
22053
|
if (workflow.run.kind === "operation") {
|
|
22051
|
-
if (workflow.id ===
|
|
22054
|
+
if (workflow.id === chunkJ4CXF4A7_cjs.ANNOTATE_ID) {
|
|
22052
22055
|
await annotate(launch);
|
|
22053
|
-
|
|
22056
|
+
chunkJ4CXF4A7_cjs.recordWorkflowUse(workflow.id);
|
|
22054
22057
|
return;
|
|
22055
22058
|
}
|
|
22056
22059
|
throw new Error(`No host handler for workflow "${workflow.id}"`);
|
|
@@ -22060,7 +22063,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
22060
22063
|
);
|
|
22061
22064
|
const prompt = chunk5GQOIQCB_cjs.composeWorkflowPrompt(workflow, inputs, { documentTitles });
|
|
22062
22065
|
if (!prompt) return;
|
|
22063
|
-
|
|
22066
|
+
chunkJ4CXF4A7_cjs.recordWorkflowUse(workflow.id);
|
|
22064
22067
|
if (agentId) {
|
|
22065
22068
|
try {
|
|
22066
22069
|
const created = await createTask({
|
|
@@ -22105,7 +22108,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
22105
22108
|
const binding = PROMPT_BINDINGS[workflow.id];
|
|
22106
22109
|
if (!inPlace) openNewConversation();
|
|
22107
22110
|
if (binding?.attachScope !== false && !chunk5GQOIQCB_cjs.isEmptyWorkflowScope(scope)) {
|
|
22108
|
-
const ids =
|
|
22111
|
+
const ids = chunkSYWJNSPS_cjs.matchWorkflowScope(documents, scope).map((d) => d.external_id);
|
|
22109
22112
|
if (ids.length > 0) {
|
|
22110
22113
|
session.setConversationDocuments(
|
|
22111
22114
|
inPlace ? session.getState().conversationId ?? "new" : "new",
|
|
@@ -22140,30 +22143,30 @@ function ConnectedWorkflowStart({
|
|
|
22140
22143
|
const onLaunch = useLaunchWorkflow({ landing });
|
|
22141
22144
|
const { openUpload } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
22142
22145
|
const { data: workspaceTags = [] } = react.useTags();
|
|
22143
|
-
const tags = react$1.useMemo(() =>
|
|
22146
|
+
const tags = react$1.useMemo(() => chunkSYWJNSPS_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
|
|
22144
22147
|
const fieldPlaceholder = react$1.useCallback(
|
|
22145
22148
|
(field, inputs, workflow) => {
|
|
22146
|
-
if (workflow.id !==
|
|
22147
|
-
const derived =
|
|
22149
|
+
if (workflow.id !== chunkJ4CXF4A7_cjs.ANNOTATE_ID || field.name !== "name") return void 0;
|
|
22150
|
+
const derived = chunkJ4CXF4A7_cjs.deriveAnnotationName(String(inputs.description ?? ""));
|
|
22148
22151
|
return derived ? `Otherwise \u201C${derived}\u201D` : "Taken from the description";
|
|
22149
22152
|
},
|
|
22150
22153
|
[]
|
|
22151
22154
|
);
|
|
22152
22155
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22153
|
-
|
|
22156
|
+
chunkECCV4YOL_cjs.ConnectedWorkflowLauncher,
|
|
22154
22157
|
{
|
|
22155
22158
|
...rest,
|
|
22156
22159
|
workflows,
|
|
22157
22160
|
onLaunch,
|
|
22158
|
-
renderIcon:
|
|
22161
|
+
renderIcon: chunkJ4CXF4A7_cjs.renderWorkflowIcon,
|
|
22159
22162
|
onAddFiles: openUpload,
|
|
22160
22163
|
agentLabels: AGENT_LABELS,
|
|
22161
22164
|
addFilesAction,
|
|
22162
22165
|
fieldPlaceholder,
|
|
22163
|
-
submitLabel: ({ workflow, matchedCount }) => workflow.id ===
|
|
22166
|
+
submitLabel: ({ workflow, matchedCount }) => workflow.id === chunkJ4CXF4A7_cjs.ANNOTATE_ID && matchedCount !== null ? `Annotate ${matchedCount} document${matchedCount !== 1 ? "s" : ""}` : void 0,
|
|
22164
22167
|
renderNotice: ({ workflow, inputs }) => {
|
|
22165
|
-
if (workflow.id !==
|
|
22166
|
-
const name = String(inputs.name ?? "").trim() ||
|
|
22168
|
+
if (workflow.id !== chunkJ4CXF4A7_cjs.ANNOTATE_ID) return null;
|
|
22169
|
+
const name = String(inputs.name ?? "").trim() || chunkJ4CXF4A7_cjs.deriveAnnotationName(String(inputs.description ?? ""));
|
|
22167
22170
|
const existing = name ? tags.find((t) => t.name.toLowerCase() === name.toLowerCase()) : void 0;
|
|
22168
22171
|
if (!existing) return null;
|
|
22169
22172
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -22192,7 +22195,7 @@ var TILE_TEST_IDS = {
|
|
|
22192
22195
|
annotate: "workspace-dashboard-quick-action-annotate"
|
|
22193
22196
|
};
|
|
22194
22197
|
function DashboardStart({ addMenu, onCreateNew }) {
|
|
22195
|
-
const { dashboard: workflows } =
|
|
22198
|
+
const { dashboard: workflows } = chunkXM4KRGCK_cjs.useWorkflowDefinitions();
|
|
22196
22199
|
const { isMember, role } = react.useCurrentWorkspace();
|
|
22197
22200
|
const canWrite = isMember && role !== "guest";
|
|
22198
22201
|
const [activeId, setActiveId] = react$1.useState(null);
|
|
@@ -22218,7 +22221,7 @@ function DashboardStart({ addMenu, onCreateNew }) {
|
|
|
22218
22221
|
}
|
|
22219
22222
|
] : void 0,
|
|
22220
22223
|
tileTestId: (workflow) => TILE_TEST_IDS[workflow.id],
|
|
22221
|
-
disabledReason: (workflow) => !canWrite && workflow.id ===
|
|
22224
|
+
disabledReason: (workflow) => !canWrite && workflow.id === chunkJ4CXF4A7_cjs.ANNOTATE_ID ? "Only workspace members can annotate files" : void 0
|
|
22222
22225
|
}
|
|
22223
22226
|
);
|
|
22224
22227
|
}
|
|
@@ -22249,7 +22252,7 @@ function recentConversations(conversations) {
|
|
|
22249
22252
|
return [...conversations].sort((a, b) => time(b.updated_at) - time(a.updated_at)).slice(0, RECENT_ROWS).map((c) => ({
|
|
22250
22253
|
id: c.external_id,
|
|
22251
22254
|
title: c.title?.trim() || "Untitled thread",
|
|
22252
|
-
subtitle: c.status ? [
|
|
22255
|
+
subtitle: c.status ? [chunkJ4CXF4A7_cjs.STATUS_LABELS[chunkJ4CXF4A7_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"}`,
|
|
22253
22256
|
time: timeAndDate(c.updated_at)
|
|
22254
22257
|
}));
|
|
22255
22258
|
}
|
|
@@ -22625,7 +22628,7 @@ function parseTypedSkill(draft) {
|
|
|
22625
22628
|
return m ? { slug: m[1].toLowerCase(), text: (m[2] ?? "").trim() } : null;
|
|
22626
22629
|
}
|
|
22627
22630
|
function useSlashSkillWorkflows({ landing }) {
|
|
22628
|
-
const { skills, skillsEnabled } =
|
|
22631
|
+
const { skills, skillsEnabled } = chunkXM4KRGCK_cjs.useWorkflowDefinitions();
|
|
22629
22632
|
const { commands } = react.useBuiltinCommands();
|
|
22630
22633
|
const [active, setActive] = react$1.useState(null);
|
|
22631
22634
|
const open = (workflow, text2) => {
|
|
@@ -22684,7 +22687,7 @@ function ConnectedAskField({
|
|
|
22684
22687
|
filteredItems,
|
|
22685
22688
|
isOpen: isSlashMenuOpen,
|
|
22686
22689
|
canBrowseSkills
|
|
22687
|
-
} =
|
|
22690
|
+
} = chunkSDXK2COQ_cjs.useSlashItems(text2, chunkJ4CXF4A7_cjs.BUILTIN_SKILLS);
|
|
22688
22691
|
const slashWorkflows = useSlashSkillWorkflows({ landing: "chat" });
|
|
22689
22692
|
const insertSlashItem = (item) => {
|
|
22690
22693
|
if (slashWorkflows.openFor(item)) {
|
|
@@ -22723,7 +22726,7 @@ function ConnectedAskField({
|
|
|
22723
22726
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
22724
22727
|
slashWorkflows.launcher,
|
|
22725
22728
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
22726
|
-
|
|
22729
|
+
chunkHXWBXYVN_cjs.AskField,
|
|
22727
22730
|
{
|
|
22728
22731
|
value: text2,
|
|
22729
22732
|
onValueChange: setText,
|
|
@@ -23305,7 +23308,7 @@ function useDocumentFilters({
|
|
|
23305
23308
|
[documentFilters]
|
|
23306
23309
|
);
|
|
23307
23310
|
const baseFilteredDocuments = react$1.useMemo(
|
|
23308
|
-
() =>
|
|
23311
|
+
() => chunkMMSHLHTA_cjs.applyInvertedIndexFilter(documents, documentFilters, invertedIndex, getDocId),
|
|
23309
23312
|
[documents, documentFilters, invertedIndex]
|
|
23310
23313
|
);
|
|
23311
23314
|
const filteredDocuments = react$1.useMemo(() => {
|
|
@@ -26234,7 +26237,7 @@ function ConnectedSecureMailClaimPage({
|
|
|
26234
26237
|
}) {
|
|
26235
26238
|
const authenticated = react.useArbiSession().status === "signed-in";
|
|
26236
26239
|
const { openMail } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
26237
|
-
const { loading } =
|
|
26240
|
+
const { loading } = chunkSDXK2COQ_cjs.useAuthPages();
|
|
26238
26241
|
const claim = react.useClaimSecureMail();
|
|
26239
26242
|
const [, setFirstLoginWorkspaces] = react.useTransientView(FIRST_LOGIN_WORKSPACES_VIEW, null);
|
|
26240
26243
|
const [failure, setFailure] = react$1.useState(null);
|
|
@@ -26274,7 +26277,7 @@ function ConnectedSecureMailClaimPage({
|
|
|
26274
26277
|
}
|
|
26275
26278
|
})();
|
|
26276
26279
|
}, [authenticated, claimId, key]);
|
|
26277
|
-
if (!error) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: loading ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
26280
|
+
if (!error) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: loading ?? /* @__PURE__ */ jsxRuntime.jsx(chunkCCALU47C_cjs.LoadingIndicator, { variant: "splash" }) });
|
|
26278
26281
|
return /* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-screen items-center justify-center bg-background p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "w-full max-w-md rounded-lg border border-border bg-card p-6", children: [
|
|
26279
26282
|
/* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "mb-4 text-sm text-destructive", children: error }),
|
|
26280
26283
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -27665,7 +27668,7 @@ function EventEditorDialog({
|
|
|
27665
27668
|
const { notify: notify17, runtimeConfig } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
27666
27669
|
const attachmentDocuments = documents.map((document2) => ({
|
|
27667
27670
|
doc_id: document2.external_id,
|
|
27668
|
-
title:
|
|
27671
|
+
title: chunkECCV4YOL_cjs.toWorkflowFieldDocument(document2).title,
|
|
27669
27672
|
url: chunkLJJJ6CYH_cjs.buildDeepLinkUrl(
|
|
27670
27673
|
{ workspaceId: workspaceId ?? void 0, documentId: document2.external_id },
|
|
27671
27674
|
runtimeConfig.deploymentDomain
|
|
@@ -32271,7 +32274,7 @@ function useBatchCompleteToasts() {
|
|
|
32271
32274
|
}
|
|
32272
32275
|
}, AI_FIELDS_NOTICE_WINDOW_MS);
|
|
32273
32276
|
} else if (message.batch_type === "entity_extract") {
|
|
32274
|
-
say(`${
|
|
32277
|
+
say(`${chunkCCALU47C_cjs.entitiesPhrase()} extracted from ${chunkCCALU47C_cjs.documentCount(docIds.length)}`, "success", {
|
|
32275
32278
|
...openTags && { action: { label: "View", onClick: openTags } }
|
|
32276
32279
|
});
|
|
32277
32280
|
} else if (message.batch_type === "upload") {
|
|
@@ -33094,13 +33097,13 @@ var TABLET_TABLE_BELOW = 860;
|
|
|
33094
33097
|
var TABLET_VIEWPORT_BELOW = 1100;
|
|
33095
33098
|
var NO_CONVERSATION_DOCUMENTS2 = [];
|
|
33096
33099
|
var DocumentReviewCard = react$1.lazy(
|
|
33097
|
-
() => import('../DocumentReviewCard-
|
|
33100
|
+
() => import('../DocumentReviewCard-E3HB3K2G.cjs').then((module) => ({ default: module.DocumentReviewCard }))
|
|
33098
33101
|
);
|
|
33099
33102
|
var FilesViewerDialog = react$1.lazy(
|
|
33100
|
-
() => import('../FilesViewerDialog-
|
|
33103
|
+
() => import('../FilesViewerDialog-3KWTQARB.cjs').then((module) => ({ default: module.FilesViewerDialog }))
|
|
33101
33104
|
);
|
|
33102
33105
|
function defaultReviewCard(props) {
|
|
33103
|
-
return /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
33106
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkCCALU47C_cjs.LoadingIndicator, { message: "Loading document viewer..." }), children: /* @__PURE__ */ jsxRuntime.jsx(DocumentReviewCard, { ...props }, `navigator-${props.currentDocument.external_id}`) });
|
|
33104
33107
|
}
|
|
33105
33108
|
function ConnectedFilesPage({
|
|
33106
33109
|
isModal = false,
|
|
@@ -33143,7 +33146,7 @@ function ConnectedFilesPage({
|
|
|
33143
33146
|
const deleteDocuments = react.useDeleteDocuments();
|
|
33144
33147
|
const isDocumentsPending = isLoading && documents.length === 0;
|
|
33145
33148
|
const { workspaceId, userId, live } = chunkWV65MJ43_cjs.useConnectedWorkspace();
|
|
33146
|
-
const { role, members } =
|
|
33149
|
+
const { role, members } = chunkECCV4YOL_cjs.useConnectedWorkspaceRole();
|
|
33147
33150
|
const { data: workspaces } = react.useWorkspaces({ enabled: live });
|
|
33148
33151
|
const workspace = workspaces?.find((w) => w.external_id === workspaceId);
|
|
33149
33152
|
const workspaceName = workspace?.name;
|
|
@@ -33661,7 +33664,7 @@ function ConnectedFilesPage({
|
|
|
33661
33664
|
viewMode === "grid" ? (
|
|
33662
33665
|
// ‹ n / N › over the table's displayed rows; a step opens the document.
|
|
33663
33666
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33664
|
-
|
|
33667
|
+
chunkCCALU47C_cjs.GridRowNavigator,
|
|
33665
33668
|
{
|
|
33666
33669
|
gridApi,
|
|
33667
33670
|
selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
|
|
@@ -33964,7 +33967,7 @@ function ProcessingSection({
|
|
|
33964
33967
|
tasks,
|
|
33965
33968
|
onDelete
|
|
33966
33969
|
}) {
|
|
33967
|
-
return /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.TaskSection, { title, count: count2, status, tooltip: SECTION_TOOLTIPS[status], children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
33970
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.TaskSection, { title, count: count2, status, tooltip: SECTION_TOOLTIPS[status], children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.UploadTaskList, { tasks, title: "", onDelete, renderFileIcon: renderFileIcon2 }) });
|
|
33968
33971
|
}
|
|
33969
33972
|
function ConnectedDocumentProcessingPanel({
|
|
33970
33973
|
workspaceId,
|
|
@@ -34255,7 +34258,7 @@ function ConnectedProcessingStatus({ onClick }) {
|
|
|
34255
34258
|
const tone = pulse === "error" ? "error" : pulse === "success" ? "success" : "progress";
|
|
34256
34259
|
const label = pulse === "error" ? `${failed} failed` : pulse === "success" ? "Processed" : `${active} processing`;
|
|
34257
34260
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34258
|
-
|
|
34261
|
+
chunkHXWBXYVN_cjs.StatusBadge,
|
|
34259
34262
|
{
|
|
34260
34263
|
tone,
|
|
34261
34264
|
label,
|
|
@@ -34846,7 +34849,7 @@ function DeveloperFooter({
|
|
|
34846
34849
|
}, [configVersions, configToLoad, parentMessage?.config_ext_id]);
|
|
34847
34850
|
const hasLoadedConfig = !!loadedConfigId && loadedConfigId !== "default";
|
|
34848
34851
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34849
|
-
|
|
34852
|
+
chunkMMSHLHTA_cjs.ConfigSwitcherBar,
|
|
34850
34853
|
{
|
|
34851
34854
|
options: options2,
|
|
34852
34855
|
value: loadedConfigId || "default",
|
|
@@ -35115,8 +35118,8 @@ function ConnectedDeveloperConfig({ modeSwitcher } = {}) {
|
|
|
35115
35118
|
handleDeleteConfig,
|
|
35116
35119
|
handleLoadConfig
|
|
35117
35120
|
} = useDeveloperConfig();
|
|
35118
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
35119
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35121
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.PanelFrame, { testId: "developer-config", children: [
|
|
35122
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.DraggableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
35120
35123
|
chunkSJSGSHIT_cjs.TabHeader,
|
|
35121
35124
|
{
|
|
35122
35125
|
tabs: [{ id: "config", label: "Developer Config", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Code2, { className: "size-4" }) }],
|
|
@@ -35126,7 +35129,7 @@ function ConnectedDeveloperConfig({ modeSwitcher } = {}) {
|
|
|
35126
35129
|
rightContent: modeSwitcher
|
|
35127
35130
|
}
|
|
35128
35131
|
) }),
|
|
35129
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35132
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PanelFrameBody, { className: "overflow-auto p-4", children: configSchema ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
35130
35133
|
ConnectedConfigForm,
|
|
35131
35134
|
{
|
|
35132
35135
|
schema: configSchema,
|
|
@@ -35134,7 +35137,7 @@ function ConnectedDeveloperConfig({ modeSwitcher } = {}) {
|
|
|
35134
35137
|
onChange: handleConfigChange,
|
|
35135
35138
|
availableModels: availableModels?.models
|
|
35136
35139
|
}
|
|
35137
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
35140
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PanelNote, { children: "Loading configuration schema..." }) }),
|
|
35138
35141
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35139
35142
|
DeveloperFooter,
|
|
35140
35143
|
{
|
|
@@ -35654,7 +35657,7 @@ function ConnectedAccountCluster({
|
|
|
35654
35657
|
layout
|
|
35655
35658
|
);
|
|
35656
35659
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35657
|
-
|
|
35660
|
+
chunkHXWBXYVN_cjs.ActionCluster,
|
|
35658
35661
|
{
|
|
35659
35662
|
layout,
|
|
35660
35663
|
status: layout === "bar" ? status : null,
|
|
@@ -35669,7 +35672,7 @@ function ConnectedAccountCluster({
|
|
|
35669
35672
|
}
|
|
35670
35673
|
);
|
|
35671
35674
|
}
|
|
35672
|
-
var gbp3 = (pence) =>
|
|
35675
|
+
var gbp3 = (pence) => chunkDDIV3MYQ_cjs.formatMoney(pence, "gbp");
|
|
35673
35676
|
function addonArrivalMessage(addons, added) {
|
|
35674
35677
|
const parts = [];
|
|
35675
35678
|
if (added.ai > 0) parts.push(`${react.formatGbp(added.ai * addons.block_ai_gbp)} of AI usage`);
|
|
@@ -36082,7 +36085,7 @@ function ConnectedAppRuntime({
|
|
|
36082
36085
|
prefetch
|
|
36083
36086
|
}) {
|
|
36084
36087
|
const on = (effect) => effects[effect] !== false;
|
|
36085
|
-
const { stripeEnabled } =
|
|
36088
|
+
const { stripeEnabled } = chunkDDIV3MYQ_cjs.useBillingSupport();
|
|
36086
36089
|
const welcomeDialog = on("welcomeDialog") && stripeEnabled;
|
|
36087
36090
|
const resolveFirstLogin = () => {
|
|
36088
36091
|
if (welcomeDialog) skipWelcomeDialogThisSession();
|
|
@@ -37086,9 +37089,9 @@ function resolveLaunchInputs(workflow, request) {
|
|
|
37086
37089
|
return { ...fromContext, ...fromScope, ...request.inputs };
|
|
37087
37090
|
}
|
|
37088
37091
|
function useWorkflowLaunch() {
|
|
37089
|
-
const { skills } =
|
|
37092
|
+
const { skills } = chunkXM4KRGCK_cjs.useWorkflowDefinitions();
|
|
37090
37093
|
const launch = react$1.useCallback(
|
|
37091
|
-
(workflowId, options2 = {}) =>
|
|
37094
|
+
(workflowId, options2 = {}) => chunkJ4CXF4A7_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
|
|
37092
37095
|
[]
|
|
37093
37096
|
);
|
|
37094
37097
|
const itemsFor = react$1.useCallback(
|
|
@@ -37117,9 +37120,9 @@ function useWorkflowLaunch() {
|
|
|
37117
37120
|
return { launch, itemsFor, scopeItemsFor };
|
|
37118
37121
|
}
|
|
37119
37122
|
function Inner() {
|
|
37120
|
-
const request =
|
|
37121
|
-
const close =
|
|
37122
|
-
const { skills } =
|
|
37123
|
+
const request = chunkJ4CXF4A7_cjs.useWorkflowLaunchRequest();
|
|
37124
|
+
const close = chunkJ4CXF4A7_cjs.closeWorkflowLaunch;
|
|
37125
|
+
const { skills } = chunkXM4KRGCK_cjs.useWorkflowDefinitions();
|
|
37123
37126
|
const run = useLaunchWorkflow({ landing: request?.landing });
|
|
37124
37127
|
const workflow = skills.find((w) => w.id === request?.workflowId);
|
|
37125
37128
|
const inputs = react$1.useMemo(
|
|
@@ -37156,7 +37159,7 @@ function Inner() {
|
|
|
37156
37159
|
);
|
|
37157
37160
|
}
|
|
37158
37161
|
function WorkflowLaunchHost() {
|
|
37159
|
-
return
|
|
37162
|
+
return chunkJ4CXF4A7_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
|
|
37160
37163
|
}
|
|
37161
37164
|
function isNeedsConfirmationDetail(detail) {
|
|
37162
37165
|
return typeof detail === "object" && detail !== null && detail.needs_confirmation === "resource_private";
|
|
@@ -37446,9 +37449,9 @@ function ConnectedConversationSettings() {
|
|
|
37446
37449
|
});
|
|
37447
37450
|
if (confirmed) settings.share();
|
|
37448
37451
|
};
|
|
37449
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
37452
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PanelFrame, { testId: "conversation-settings", className: "bg-transparent", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMMSHLHTA_cjs.PanelFrameBody, { className: "overflow-auto p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
37450
37453
|
!settings.isNewConversation && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37451
|
-
|
|
37454
|
+
chunkMMSHLHTA_cjs.ConversationTitleSection,
|
|
37452
37455
|
{
|
|
37453
37456
|
title: settings.title,
|
|
37454
37457
|
onTitleChange: settings.setTitle,
|
|
@@ -37466,9 +37469,9 @@ function ConnectedConversationSettings() {
|
|
|
37466
37469
|
}
|
|
37467
37470
|
),
|
|
37468
37471
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
37469
|
-
|
|
37472
|
+
chunkMMSHLHTA_cjs.ModelSelectionSection,
|
|
37470
37473
|
{
|
|
37471
|
-
selector: /* @__PURE__ */ jsxRuntime.jsx(
|
|
37474
|
+
selector: /* @__PURE__ */ jsxRuntime.jsx(chunkSDXK2COQ_cjs.ConnectedModelSelector, {}),
|
|
37472
37475
|
onUseDefaults: settings.resetToDefaults
|
|
37473
37476
|
}
|
|
37474
37477
|
)
|
|
@@ -37527,7 +37530,7 @@ var BUILTIN_GLOBAL_DIALOGS = {
|
|
|
37527
37530
|
testId: "workspace-transfer-modal"
|
|
37528
37531
|
}
|
|
37529
37532
|
),
|
|
37530
|
-
logout: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
37533
|
+
logout: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(chunkSDXK2COQ_cjs.ConnectedLogoutDialog, { open: props !== null, onClose }),
|
|
37531
37534
|
conversationSettings: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedConversationSettingsDialog, { open: props !== null, onClose }),
|
|
37532
37535
|
unarchiveWorkspace: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedUnarchiveWorkspaceDialog, { workspaceId: props?.workspaceId ?? null, onClose }),
|
|
37533
37536
|
productionSet: ConnectedProductionSetDialog,
|
|
@@ -37604,7 +37607,7 @@ function WorkflowRunStatusCell({ conversation }) {
|
|
|
37604
37607
|
return person ? ui.getUserDisplayName(person) : void 0;
|
|
37605
37608
|
};
|
|
37606
37609
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
37607
|
-
|
|
37610
|
+
chunkJ4CXF4A7_cjs.WorkflowRunStatus,
|
|
37608
37611
|
{
|
|
37609
37612
|
steps,
|
|
37610
37613
|
states,
|
|
@@ -37638,7 +37641,7 @@ function ConversationStatusCell({ conversation }) {
|
|
|
37638
37641
|
if (conversation.plan?.steps?.length && !isLiveGenerating)
|
|
37639
37642
|
return /* @__PURE__ */ jsxRuntime.jsx(WorkflowRunStatusCell, { conversation });
|
|
37640
37643
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
37641
|
-
|
|
37644
|
+
chunkJ4CXF4A7_cjs.ThreadStatusLine,
|
|
37642
37645
|
{
|
|
37643
37646
|
state: threadStateOf(conversation, isLiveGenerating),
|
|
37644
37647
|
className: "h-full",
|
|
@@ -37951,7 +37954,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
37951
37954
|
setDraft("");
|
|
37952
37955
|
};
|
|
37953
37956
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkZ6JUJI4A_cjs.ComposerDock, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkZ6JUJI4A_cjs.ComposerContainer, { className: "mx-auto max-w-[49rem] px-3 sm:px-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
37954
|
-
|
|
37957
|
+
chunkSDXK2COQ_cjs.ConversationComposer,
|
|
37955
37958
|
{
|
|
37956
37959
|
value: draft,
|
|
37957
37960
|
onValueChange: setDraft,
|
|
@@ -37959,7 +37962,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
37959
37962
|
handleSendMessage: send,
|
|
37960
37963
|
isConversationEmpty: true,
|
|
37961
37964
|
shouldOfferFollowUp: false,
|
|
37962
|
-
modelSelector: /* @__PURE__ */ jsxRuntime.jsx(
|
|
37965
|
+
modelSelector: /* @__PURE__ */ jsxRuntime.jsx(chunkSDXK2COQ_cjs.ConnectedModelSelector, { variant: "compact" }),
|
|
37963
37966
|
rightButton: /* @__PURE__ */ jsxRuntime.jsx(chunkZ6JUJI4A_cjs.ComposerSend, { onSend: send, disabled: !draft.trim() })
|
|
37964
37967
|
}
|
|
37965
37968
|
) }) });
|
|
@@ -37967,7 +37970,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
37967
37970
|
var START_VISIBLE = 8;
|
|
37968
37971
|
var START_SEARCH_ABOVE = 8;
|
|
37969
37972
|
function ConnectedConversationStart() {
|
|
37970
|
-
const { start } =
|
|
37973
|
+
const { start } = chunkXM4KRGCK_cjs.useWorkflowDefinitions();
|
|
37971
37974
|
const { openSkillsBrowser } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
37972
37975
|
const [query, setQuery] = react$1.useState("");
|
|
37973
37976
|
const q = query.trim().toLowerCase();
|
|
@@ -37982,7 +37985,7 @@ function ConnectedConversationStart() {
|
|
|
37982
37985
|
const browse = openSkillsBrowser ? [
|
|
37983
37986
|
{
|
|
37984
37987
|
id: "browse-all",
|
|
37985
|
-
iconNode:
|
|
37988
|
+
iconNode: chunkJ4CXF4A7_cjs.renderWorkflowIcon("library"),
|
|
37986
37989
|
title: "Browse all",
|
|
37987
37990
|
description: "See every skill, make a copy, add your own",
|
|
37988
37991
|
onSelect: () => openSkillsBrowser(),
|
|
@@ -38088,7 +38091,7 @@ function AgentBarShell({
|
|
|
38088
38091
|
}, [isStepsExpanded, steps]);
|
|
38089
38092
|
const visibleStepCount = react$1.useMemo(() => browser.topLevelAgentSteps(steps ?? []).length, [steps]);
|
|
38090
38093
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
38091
|
-
|
|
38094
|
+
chunkJ4CXF4A7_cjs.AgentBar,
|
|
38092
38095
|
{
|
|
38093
38096
|
className,
|
|
38094
38097
|
testId,
|
|
@@ -38100,7 +38103,7 @@ function AgentBarShell({
|
|
|
38100
38103
|
drawerRef: scrollRef,
|
|
38101
38104
|
onDrawerScroll: handleDrawerScroll,
|
|
38102
38105
|
drawer: /* @__PURE__ */ jsxRuntime.jsx(
|
|
38103
|
-
|
|
38106
|
+
chunkSDXK2COQ_cjs.AgentSteps,
|
|
38104
38107
|
{
|
|
38105
38108
|
steps: stepList,
|
|
38106
38109
|
isStreaming,
|
|
@@ -38152,7 +38155,7 @@ function AgentControlBar({
|
|
|
38152
38155
|
const waitingOnChildren = runningLanes.length > 0 && ["sub_agent", "spawn_subagent", "deep_research", "run_skill"].includes(currentTool ?? "");
|
|
38153
38156
|
const waitingLabel = runningLanes.length === 1 ? `Waiting on ${runningLanes[0].job}` : `Waiting on ${runningLanes.length} sub-agents`;
|
|
38154
38157
|
const liveTimerNode = liveTimer && /* @__PURE__ */ jsxRuntime.jsx(
|
|
38155
|
-
|
|
38158
|
+
chunkSDXK2COQ_cjs.MessageLiveSeconds,
|
|
38156
38159
|
{
|
|
38157
38160
|
...liveTimer,
|
|
38158
38161
|
offsetSeconds: currentStep?.t ?? 0,
|
|
@@ -38161,7 +38164,7 @@ function AgentControlBar({
|
|
|
38161
38164
|
}
|
|
38162
38165
|
);
|
|
38163
38166
|
const status = /* @__PURE__ */ jsxRuntime.jsx(
|
|
38164
|
-
|
|
38167
|
+
chunkJ4CXF4A7_cjs.AgentBarStatus,
|
|
38165
38168
|
{
|
|
38166
38169
|
state: showState ? controlState : void 0,
|
|
38167
38170
|
stateLabel: STATE_LABEL[controlState],
|
|
@@ -38203,7 +38206,7 @@ function AgentControlBar({
|
|
|
38203
38206
|
];
|
|
38204
38207
|
const controls = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
38205
38208
|
onStop && /* @__PURE__ */ jsxRuntime.jsx(
|
|
38206
|
-
|
|
38209
|
+
chunkJ4CXF4A7_cjs.AgentBarIconButton,
|
|
38207
38210
|
{
|
|
38208
38211
|
onClick: onStop,
|
|
38209
38212
|
title: "Stop",
|
|
@@ -38212,22 +38215,22 @@ function AgentControlBar({
|
|
|
38212
38215
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3 w-3", fill: "currentColor" })
|
|
38213
38216
|
}
|
|
38214
38217
|
),
|
|
38215
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
38218
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.AgentBarMenu, { items: menuItems })
|
|
38216
38219
|
] });
|
|
38217
38220
|
const displayedQueuedMessages = (transientQueuedMessages ?? []).filter(
|
|
38218
38221
|
(message) => !message.serverId || !queuedMessages.some((queued) => queued.external_id === message.serverId)
|
|
38219
38222
|
);
|
|
38220
38223
|
const queuedNotes = displayedQueuedMessages.filter((message) => message.content);
|
|
38221
|
-
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
38224
|
+
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkJ4CXF4A7_cjs.AgentBarNotes, { children: [
|
|
38222
38225
|
queuedNotes.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
38223
|
-
|
|
38226
|
+
chunkJ4CXF4A7_cjs.AgentBarQueuedNote,
|
|
38224
38227
|
{
|
|
38225
38228
|
text: message.content ?? "",
|
|
38226
38229
|
isAcknowledged: message.acknowledged
|
|
38227
38230
|
},
|
|
38228
38231
|
index
|
|
38229
38232
|
)),
|
|
38230
|
-
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(
|
|
38233
|
+
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
|
|
38231
38234
|
] }) : null;
|
|
38232
38235
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
38233
38236
|
AgentBarShell,
|
|
@@ -39162,7 +39165,7 @@ function ConversationThread({
|
|
|
39162
39165
|
}, [isGenerating]);
|
|
39163
39166
|
const slashWorkflows = useSlashSkillWorkflows({ landing: "current-chat" });
|
|
39164
39167
|
const composerSkills = react$1.useMemo(
|
|
39165
|
-
() => ({ builtin:
|
|
39168
|
+
() => ({ builtin: chunkJ4CXF4A7_cjs.BUILTIN_SKILLS, openFor: slashWorkflows.openFor }),
|
|
39166
39169
|
[slashWorkflows.openFor]
|
|
39167
39170
|
);
|
|
39168
39171
|
const browseSkills = react$1.useMemo(
|
|
@@ -39211,7 +39214,7 @@ function ConversationThread({
|
|
|
39211
39214
|
useStartRequestedDraft();
|
|
39212
39215
|
const orphanedMessage = react.getOrphanedLastMessage(messageHistory, isGenerating, assistantMode);
|
|
39213
39216
|
return /* @__PURE__ */ jsxRuntime.jsxs(chunk32YCMXT2_cjs.ConversationBody, { children: [
|
|
39214
|
-
/* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationMain, { "data-testid": `conversation-${currentConversationId}`, children: threadsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationLoading, {}) : messageHistory.length > 0 || isBranching ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
39217
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationMain, { "data-testid": `conversation-${currentConversationId}`, children: threadsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationLoading, {}) : messageHistory.length > 0 || isBranching ? /* @__PURE__ */ jsxRuntime.jsx(chunkSDXK2COQ_cjs.AskAgainContext.Provider, { value: handleAskAgain, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkIOCEKN44_cjs.TranscriptRunsContext.Provider, { value: transcriptRunInfo, children: [
|
|
39215
39218
|
meetingCallExtId && transcriptLineCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center py-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
39216
39219
|
chunkZBP4ZSAJ_cjs.ConversationFilter,
|
|
39217
39220
|
{
|
|
@@ -39229,7 +39232,7 @@ function ConversationThread({
|
|
|
39229
39232
|
]
|
|
39230
39233
|
}
|
|
39231
39234
|
) }),
|
|
39232
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39235
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkSDXK2COQ_cjs.ConnectedMessageArea, { ref: containerRef, messages: visibleMessages }),
|
|
39233
39236
|
showProvisional && /* @__PURE__ */ jsxRuntime.jsx(chunk4ZM3J3SL_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
|
|
39234
39237
|
] }) }) : meetingCallExtId ? (
|
|
39235
39238
|
// A meeting thread with nothing yet: call-aware, not the upload prompt.
|
|
@@ -39237,7 +39240,7 @@ function ConversationThread({
|
|
|
39237
39240
|
/* @__PURE__ */ jsxRuntime.jsx(chunk4ZM3J3SL_cjs.CallConversationEmpty, { callExtId: meetingCallExtId }),
|
|
39238
39241
|
/* @__PURE__ */ jsxRuntime.jsx(chunk4ZM3J3SL_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
|
|
39239
39242
|
] })
|
|
39240
|
-
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
39243
|
+
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(chunkSDXK2COQ_cjs.ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
39241
39244
|
ConnectedConversationEmpty,
|
|
39242
39245
|
{
|
|
39243
39246
|
hasDocuments: allWorkspaceDocuments.length > 0,
|
|
@@ -39308,7 +39311,7 @@ function ConversationThread({
|
|
|
39308
39311
|
children: react.READ_ONLY_MEETING_TEXT
|
|
39309
39312
|
}
|
|
39310
39313
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
39311
|
-
|
|
39314
|
+
chunkSDXK2COQ_cjs.ConversationComposer,
|
|
39312
39315
|
{
|
|
39313
39316
|
handleSendMessage: handleUserSend,
|
|
39314
39317
|
placeholder: pendingAnswer ? "Type your answer to ARBI \u2014 or pick an option above" : void 0,
|
|
@@ -39648,7 +39651,7 @@ function ConnectedThreadsPage({
|
|
|
39648
39651
|
};
|
|
39649
39652
|
const page = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col", "data-testid": "threads-page", children: [
|
|
39650
39653
|
/* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-0 flex-1 flex-col bg-background", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
39651
|
-
|
|
39654
|
+
chunkJ4CXF4A7_cjs.ConversationListView,
|
|
39652
39655
|
{
|
|
39653
39656
|
showHeader,
|
|
39654
39657
|
conversations: tasks,
|
|
@@ -39667,7 +39670,7 @@ function ConnectedThreadsPage({
|
|
|
39667
39670
|
renderLabels: threadLabels.renderLabels,
|
|
39668
39671
|
labelText: threadLabels.labelText,
|
|
39669
39672
|
renderBy: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
39670
|
-
|
|
39673
|
+
chunkJ4CXF4A7_cjs.ConversationTurnSpeaker,
|
|
39671
39674
|
{
|
|
39672
39675
|
variant: "icon",
|
|
39673
39676
|
role: row2.last_message_role,
|
|
@@ -39700,7 +39703,7 @@ function ConnectedThreadsPage({
|
|
|
39700
39703
|
}
|
|
39701
39704
|
),
|
|
39702
39705
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39703
|
-
|
|
39706
|
+
chunkMMSHLHTA_cjs.RenameDialog,
|
|
39704
39707
|
{
|
|
39705
39708
|
open: !!renaming,
|
|
39706
39709
|
onClose: () => {
|
|
@@ -40549,7 +40552,7 @@ function ConnectedConversationPage({
|
|
|
40549
40552
|
);
|
|
40550
40553
|
const { data: workspaceTags = [] } = react.useTags();
|
|
40551
40554
|
const { tagId: threadTagId, clear: clearThreadTag } = useThreadTagFilter();
|
|
40552
|
-
const historyCount =
|
|
40555
|
+
const historyCount = chunkJ4CXF4A7_cjs.filterConversationRows(
|
|
40553
40556
|
threadTagId ? conversations.filter((row2) => row2.label_ext_ids?.includes(threadTagId)) : conversations,
|
|
40554
40557
|
threadFilter,
|
|
40555
40558
|
(row2) => workspaceTags.filter((tag) => row2.label_ext_ids?.includes(tag.external_id)).map((tag) => tag.name).join(" "),
|
|
@@ -40608,7 +40611,7 @@ function ConnectedConversationPage({
|
|
|
40608
40611
|
] })
|
|
40609
40612
|
}
|
|
40610
40613
|
),
|
|
40611
|
-
isInChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
40614
|
+
isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunkXM4KRGCK_cjs.ConnectedThreadTaskBar, { conversationId: currentConversationId })
|
|
40612
40615
|
] }),
|
|
40613
40616
|
isInChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
40614
40617
|
ConversationThread,
|
|
@@ -40817,7 +40820,7 @@ function SsoResendVerificationButton({
|
|
|
40817
40820
|
onClick: async () => handleResendEmailVerification(),
|
|
40818
40821
|
disabled: loading || disabled,
|
|
40819
40822
|
"aria-label": "Resend verification email",
|
|
40820
|
-
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
40823
|
+
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkCCALU47C_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
40821
40824
|
"Didn't get a verification email? ",
|
|
40822
40825
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: "Resend" })
|
|
40823
40826
|
] })
|
|
@@ -40828,16 +40831,16 @@ function SsoResendVerificationButton({
|
|
|
40828
40831
|
}
|
|
40829
40832
|
var NO_RECOVERY_KEY_WARNING = "Without your password or a recovery key, we cannot recover your account or data.";
|
|
40830
40833
|
function ConnectedSsoCallback() {
|
|
40831
|
-
const sso =
|
|
40834
|
+
const sso = chunkSDXK2COQ_cjs.useSsoSignIn();
|
|
40832
40835
|
const { isAuthenticated: isAuthenticated2, isLoading, user } = sso;
|
|
40833
|
-
const auth =
|
|
40836
|
+
const auth = chunkSDXK2COQ_cjs.useAuthPages();
|
|
40834
40837
|
const { notify: notify17, navigate } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
40835
40838
|
const passwordRules = auth.passwordRules;
|
|
40836
40839
|
const isProcessing = react$1.useRef(false);
|
|
40837
40840
|
const hasCheckedStatus = react$1.useRef(false);
|
|
40838
40841
|
const [accessToken, setAccessToken] = react$1.useState(null);
|
|
40839
40842
|
const [ssoStatus, setSsoStatus] = react$1.useState(null);
|
|
40840
|
-
const ssoName = react$1.useMemo(() =>
|
|
40843
|
+
const ssoName = react$1.useMemo(() => chunkSDXK2COQ_cjs.resolveSsoName(user ?? {}, ssoStatus ?? {}), [user, ssoStatus]);
|
|
40841
40844
|
const [password, setPassword] = react$1.useState("");
|
|
40842
40845
|
const [confirmPassword, setConfirmPassword] = react$1.useState("");
|
|
40843
40846
|
const [error, setError] = react$1.useState(null);
|
|
@@ -41015,7 +41018,7 @@ function ConnectedSsoCallback() {
|
|
|
41015
41018
|
setIsCheckingStatus(true);
|
|
41016
41019
|
try {
|
|
41017
41020
|
console.info("[SSO] Checking user status...");
|
|
41018
|
-
const response = await
|
|
41021
|
+
const response = await chunkSDXK2COQ_cjs.ssoAccountStatus(arbi, accessToken, user);
|
|
41019
41022
|
console.info("[SSO] User status:", response.status);
|
|
41020
41023
|
setSsoStatus(response);
|
|
41021
41024
|
} catch (error2) {
|
|
@@ -41059,7 +41062,7 @@ function ConnectedSsoCallback() {
|
|
|
41059
41062
|
setIsSubmitting(true);
|
|
41060
41063
|
setError(null);
|
|
41061
41064
|
try {
|
|
41062
|
-
const { login, registered, linked } = await
|
|
41065
|
+
const { login, registered, linked } = await chunkSDXK2COQ_cjs.completeSsoSignIn(arbi, {
|
|
41063
41066
|
token: accessToken,
|
|
41064
41067
|
user,
|
|
41065
41068
|
status: ssoStatus,
|
|
@@ -41341,7 +41344,7 @@ function ConnectedSsoCallback() {
|
|
|
41341
41344
|
ssoStatus.status !== "new_user" && auth.footer
|
|
41342
41345
|
] }),
|
|
41343
41346
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41344
|
-
|
|
41347
|
+
chunkSDXK2COQ_cjs.ConnectedForgotPassword,
|
|
41345
41348
|
{
|
|
41346
41349
|
open: showForgotPasswordModal,
|
|
41347
41350
|
onOpenChange: setShowForgotPasswordModal,
|
|
@@ -41349,7 +41352,7 @@ function ConnectedSsoCallback() {
|
|
|
41349
41352
|
}
|
|
41350
41353
|
),
|
|
41351
41354
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41352
|
-
|
|
41355
|
+
chunkSDXK2COQ_cjs.ConnectedPasswordChangeDialog,
|
|
41353
41356
|
{
|
|
41354
41357
|
open: showChangePasswordModal,
|
|
41355
41358
|
onClose: () => setShowChangePasswordModal(false),
|
|
@@ -41508,27 +41511,27 @@ function ConnectedOAuthConsentPage({
|
|
|
41508
41511
|
oauthErrorRedirect(params.redirectUri, params.state, "access_denied");
|
|
41509
41512
|
}
|
|
41510
41513
|
if (error && !params) {
|
|
41511
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41514
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
|
|
41512
41515
|
}
|
|
41513
41516
|
if (!params) {
|
|
41514
41517
|
return null;
|
|
41515
41518
|
}
|
|
41516
41519
|
if (clientInfo?.isLocalAgentFlow) {
|
|
41517
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41520
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_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." }) });
|
|
41518
41521
|
}
|
|
41519
41522
|
if (!isAuthenticated2) {
|
|
41520
41523
|
return null;
|
|
41521
41524
|
}
|
|
41522
41525
|
if (callbackUrl) {
|
|
41523
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41524
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
41526
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkJ4CXF4A7_cjs.ConsentCard, { size: "md", children: [
|
|
41527
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkJ4CXF4A7_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
|
|
41525
41528
|
"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",
|
|
41526
41529
|
" ",
|
|
41527
41530
|
copied ? "it's already copied to your clipboard." : "copy it first."
|
|
41528
41531
|
] }),
|
|
41529
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
41530
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41531
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
41532
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkJ4CXF4A7_cjs.ConsentSection, { title: "Callback URL", children: [
|
|
41533
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
|
|
41534
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkJ4CXF4A7_cjs.ConsentText, { variant: "hint", children: [
|
|
41532
41535
|
"In Claude Code, paste the URL at the prompt that says",
|
|
41533
41536
|
" ",
|
|
41534
41537
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-foreground", children: '"paste the full redirect URL here"' }),
|
|
@@ -41537,17 +41540,17 @@ function ConnectedOAuthConsentPage({
|
|
|
41537
41540
|
] })
|
|
41538
41541
|
] }) });
|
|
41539
41542
|
}
|
|
41540
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41541
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
41542
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41543
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkJ4CXF4A7_cjs.ConsentCard, { children: [
|
|
41544
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkJ4CXF4A7_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
|
|
41545
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
|
|
41543
41546
|
" is requesting access to your ",
|
|
41544
41547
|
appName,
|
|
41545
41548
|
" workspace."
|
|
41546
41549
|
] }),
|
|
41547
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41548
|
-
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
41549
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41550
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41550
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentPermissionList, { items: permissions }) }),
|
|
41551
|
+
error && /* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentNotice, { tone: "error", children: error }),
|
|
41552
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
|
|
41553
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJ4CXF4A7_cjs.ConsentFootnote, { children: footnote })
|
|
41551
41554
|
] }) });
|
|
41552
41555
|
}
|
|
41553
41556
|
function ConnectedSharedFilesPage({
|
|
@@ -41669,7 +41672,7 @@ function useMainAreaPanel(panels) {
|
|
|
41669
41672
|
}
|
|
41670
41673
|
function useTogglePanel() {
|
|
41671
41674
|
const { setFocusedArea } = react.useArbiSessionStore();
|
|
41672
|
-
const { windows } =
|
|
41675
|
+
const { windows } = chunkHXWBXYVN_cjs.usePanelHostSupport();
|
|
41673
41676
|
return (panelId, isOpen, setOpen) => {
|
|
41674
41677
|
if (isOpen && windows.focusPanelWindow(panelId)) {
|
|
41675
41678
|
setFocusedArea(panelId);
|
|
@@ -41703,7 +41706,7 @@ function ConnectedAppShell({
|
|
|
41703
41706
|
const session = react.useArbiSessionStore();
|
|
41704
41707
|
const dockedPanel = react.useArbiSessionState((state) => state.shell.panels.docked);
|
|
41705
41708
|
const dockSqueezed = chunkFX3K6LNZ_cjs.useMediaQuery(sidebarPolicy?.dockedRailQuery ?? "(max-width: 0px)");
|
|
41706
|
-
const sidebar =
|
|
41709
|
+
const sidebar = chunkHXWBXYVN_cjs.useSidebarController({
|
|
41707
41710
|
...useSessionSidebar(),
|
|
41708
41711
|
forceRail: !!sidebarPolicy?.dockedRailQuery && dockSqueezed && dockedPanel !== null,
|
|
41709
41712
|
hoverExpansion: sidebarPolicy?.hoverExpansion
|
|
@@ -41733,7 +41736,7 @@ function ConnectedAppShell({
|
|
|
41733
41736
|
session.setFocusedArea("main");
|
|
41734
41737
|
contentProps?.onClick?.(event);
|
|
41735
41738
|
},
|
|
41736
|
-
children: content.mode === "docked" ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
41739
|
+
children: content.mode === "docked" ? /* @__PURE__ */ jsxRuntime.jsxs(chunkHXWBXYVN_cjs.DockZone, { "data-testid": content.testId, children: [
|
|
41737
41740
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: content.mainPanelVisible ? "hidden" : "h-full min-h-0", children: pageContent }),
|
|
41738
41741
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41739
41742
|
"div",
|
|
@@ -41793,7 +41796,7 @@ function ConnectedShellSidebar({
|
|
|
41793
41796
|
expanded && /* @__PURE__ */ jsxRuntime.jsx(chunkGFLZHV54_cjs.Sidebar.PinToggle, { isPinned: controller.isPinned, onToggle: controller.togglePin })
|
|
41794
41797
|
] }),
|
|
41795
41798
|
expanded ? ask : /* @__PURE__ */ jsxRuntime.jsx(
|
|
41796
|
-
|
|
41799
|
+
chunkHXWBXYVN_cjs.AskTrigger,
|
|
41797
41800
|
{
|
|
41798
41801
|
variant: "rail",
|
|
41799
41802
|
onClick: controller.expand,
|
|
@@ -41802,7 +41805,7 @@ function ConnectedShellSidebar({
|
|
|
41802
41805
|
)
|
|
41803
41806
|
] });
|
|
41804
41807
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41805
|
-
|
|
41808
|
+
chunkHXWBXYVN_cjs.ShellSidebar,
|
|
41806
41809
|
{
|
|
41807
41810
|
controller,
|
|
41808
41811
|
drawerLogo: logo,
|
|
@@ -41854,7 +41857,7 @@ function ConnectedShellTopbar({
|
|
|
41854
41857
|
if (landing || !workspace)
|
|
41855
41858
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkLBRJA4ZJ_cjs.MobileAppBar, { onMenu: sidebar.openDrawer, logo, showMenu: false, actions });
|
|
41856
41859
|
if (askExpanded)
|
|
41857
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41860
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkHXWBXYVN_cjs.AskRow, { onClose: () => setAskExpanded(false), children: ask({ autoFocus: true, onSubmitted: () => setAskExpanded(false) }) });
|
|
41858
41861
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41859
41862
|
chunkLBRJA4ZJ_cjs.MobileAppBar,
|
|
41860
41863
|
{
|
|
@@ -41951,7 +41954,7 @@ function ConnectedTipBar({
|
|
|
41951
41954
|
className,
|
|
41952
41955
|
revealOnHover = false
|
|
41953
41956
|
}) {
|
|
41954
|
-
const { showHints, settingsLoaded, setShowHintsPersisted, setShowHints } =
|
|
41957
|
+
const { showHints, settingsLoaded, setShowHintsPersisted, setShowHints } = chunkSDXK2COQ_cjs.useContextualHints();
|
|
41955
41958
|
const { dismissed, dismissTip } = react.useDismissedTips();
|
|
41956
41959
|
const { notify: notify17 } = chunkUIXY4HKM_cjs.useBlocksEnvironment();
|
|
41957
41960
|
const { data: workspaces } = react.useWorkspaces();
|
|
@@ -41962,7 +41965,7 @@ function ConnectedTipBar({
|
|
|
41962
41965
|
workspaceOpen,
|
|
41963
41966
|
...state
|
|
41964
41967
|
};
|
|
41965
|
-
const { tip, index, count: count2, previous, next, onHoverChange } =
|
|
41968
|
+
const { tip, index, count: count2, previous, next, onHoverChange } = chunkCCALU47C_cjs.useTipsPlacement({
|
|
41966
41969
|
registry,
|
|
41967
41970
|
context,
|
|
41968
41971
|
state: situation,
|
|
@@ -41995,7 +41998,7 @@ function ConnectedTipBar({
|
|
|
41995
41998
|
});
|
|
41996
41999
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
41997
42000
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41998
|
-
|
|
42001
|
+
chunkHXWBXYVN_cjs.TipCard,
|
|
41999
42002
|
{
|
|
42000
42003
|
message: tip.message,
|
|
42001
42004
|
index,
|
|
@@ -42040,7 +42043,7 @@ function useGettingStarted({
|
|
|
42040
42043
|
const { user } = react.useArbiSession();
|
|
42041
42044
|
const userExtId = user?.external_id;
|
|
42042
42045
|
const temporaryOnly = user?.temporary_access_only === true;
|
|
42043
|
-
const { showHints, settingsLoaded, setShowHints, setShowHintsPersisted } =
|
|
42046
|
+
const { showHints, settingsLoaded, setShowHints, setShowHintsPersisted } = chunkSDXK2COQ_cjs.useContextualHints();
|
|
42044
42047
|
const { dismissed, loaded: dismissedLoaded, dismissTip } = react.useDismissedTips();
|
|
42045
42048
|
const welcomeJourneyEnabled = react.useFeature("welcomeJourney");
|
|
42046
42049
|
const session = react.useArbiSessionStore();
|
|
@@ -42274,55 +42277,55 @@ Object.defineProperty(exports, "DEFAULT_DOCUMENT_VIEWER_TABS", {
|
|
|
42274
42277
|
});
|
|
42275
42278
|
Object.defineProperty(exports, "CAP_REACHED_MESSAGE", {
|
|
42276
42279
|
enumerable: true,
|
|
42277
|
-
get: function () { return
|
|
42280
|
+
get: function () { return chunkDDIV3MYQ_cjs.CAP_REACHED_MESSAGE; }
|
|
42278
42281
|
});
|
|
42279
42282
|
Object.defineProperty(exports, "ZERO_BUDGET_MESSAGE", {
|
|
42280
42283
|
enumerable: true,
|
|
42281
|
-
get: function () { return
|
|
42284
|
+
get: function () { return chunkDDIV3MYQ_cjs.ZERO_BUDGET_MESSAGE; }
|
|
42282
42285
|
});
|
|
42283
42286
|
Object.defineProperty(exports, "aiUsageResetTimestamp", {
|
|
42284
42287
|
enumerable: true,
|
|
42285
|
-
get: function () { return
|
|
42288
|
+
get: function () { return chunkDDIV3MYQ_cjs.aiUsageResetTimestamp; }
|
|
42286
42289
|
});
|
|
42287
42290
|
Object.defineProperty(exports, "formatMoney", {
|
|
42288
42291
|
enumerable: true,
|
|
42289
|
-
get: function () { return
|
|
42292
|
+
get: function () { return chunkDDIV3MYQ_cjs.formatMoney; }
|
|
42290
42293
|
});
|
|
42291
42294
|
Object.defineProperty(exports, "formatResetDate", {
|
|
42292
42295
|
enumerable: true,
|
|
42293
|
-
get: function () { return
|
|
42296
|
+
get: function () { return chunkDDIV3MYQ_cjs.formatResetDate; }
|
|
42294
42297
|
});
|
|
42295
42298
|
Object.defineProperty(exports, "getQuotaItems", {
|
|
42296
42299
|
enumerable: true,
|
|
42297
|
-
get: function () { return
|
|
42300
|
+
get: function () { return chunkDDIV3MYQ_cjs.getQuotaItems; }
|
|
42298
42301
|
});
|
|
42299
42302
|
Object.defineProperty(exports, "isAddonBudgetZero", {
|
|
42300
42303
|
enumerable: true,
|
|
42301
|
-
get: function () { return
|
|
42304
|
+
get: function () { return chunkDDIV3MYQ_cjs.isAddonBudgetZero; }
|
|
42302
42305
|
});
|
|
42303
42306
|
Object.defineProperty(exports, "isProProject", {
|
|
42304
42307
|
enumerable: true,
|
|
42305
|
-
get: function () { return
|
|
42308
|
+
get: function () { return chunkDDIV3MYQ_cjs.isProProject; }
|
|
42306
42309
|
});
|
|
42307
42310
|
Object.defineProperty(exports, "planBadgeView", {
|
|
42308
42311
|
enumerable: true,
|
|
42309
|
-
get: function () { return
|
|
42312
|
+
get: function () { return chunkDDIV3MYQ_cjs.planBadgeView; }
|
|
42310
42313
|
});
|
|
42311
42314
|
Object.defineProperty(exports, "planName", {
|
|
42312
42315
|
enumerable: true,
|
|
42313
|
-
get: function () { return
|
|
42316
|
+
get: function () { return chunkDDIV3MYQ_cjs.planName; }
|
|
42314
42317
|
});
|
|
42315
42318
|
Object.defineProperty(exports, "projectGroupBilling", {
|
|
42316
42319
|
enumerable: true,
|
|
42317
|
-
get: function () { return
|
|
42320
|
+
get: function () { return chunkDDIV3MYQ_cjs.projectGroupBilling; }
|
|
42318
42321
|
});
|
|
42319
42322
|
Object.defineProperty(exports, "useBillingSupport", {
|
|
42320
42323
|
enumerable: true,
|
|
42321
|
-
get: function () { return
|
|
42324
|
+
get: function () { return chunkDDIV3MYQ_cjs.useBillingSupport; }
|
|
42322
42325
|
});
|
|
42323
42326
|
Object.defineProperty(exports, "useRewardBalance", {
|
|
42324
42327
|
enumerable: true,
|
|
42325
|
-
get: function () { return
|
|
42328
|
+
get: function () { return chunkDDIV3MYQ_cjs.useRewardBalance; }
|
|
42326
42329
|
});
|
|
42327
42330
|
Object.defineProperty(exports, "ConnectedMailInviteCard", {
|
|
42328
42331
|
enumerable: true,
|
|
@@ -42342,319 +42345,319 @@ Object.defineProperty(exports, "useMemberLookup", {
|
|
|
42342
42345
|
});
|
|
42343
42346
|
Object.defineProperty(exports, "ConnectedAssistantDock", {
|
|
42344
42347
|
enumerable: true,
|
|
42345
|
-
get: function () { return
|
|
42348
|
+
get: function () { return chunkNZQZ2HFU_cjs.ConnectedAssistantDock; }
|
|
42346
42349
|
});
|
|
42347
42350
|
Object.defineProperty(exports, "redlineStats", {
|
|
42348
42351
|
enumerable: true,
|
|
42349
|
-
get: function () { return
|
|
42352
|
+
get: function () { return chunkNZQZ2HFU_cjs.redlineStats; }
|
|
42350
42353
|
});
|
|
42351
42354
|
Object.defineProperty(exports, "textToArtifact", {
|
|
42352
42355
|
enumerable: true,
|
|
42353
|
-
get: function () { return
|
|
42356
|
+
get: function () { return chunkNZQZ2HFU_cjs.textToArtifact; }
|
|
42354
42357
|
});
|
|
42355
42358
|
Object.defineProperty(exports, "toRedlineMarkdown", {
|
|
42356
42359
|
enumerable: true,
|
|
42357
|
-
get: function () { return
|
|
42360
|
+
get: function () { return chunkNZQZ2HFU_cjs.toRedlineMarkdown; }
|
|
42358
42361
|
});
|
|
42359
42362
|
Object.defineProperty(exports, "useConnectedAiTask", {
|
|
42360
42363
|
enumerable: true,
|
|
42361
|
-
get: function () { return
|
|
42364
|
+
get: function () { return chunkNZQZ2HFU_cjs.useConnectedAiTask; }
|
|
42362
42365
|
});
|
|
42363
42366
|
Object.defineProperty(exports, "useConnectedChat", {
|
|
42364
42367
|
enumerable: true,
|
|
42365
|
-
get: function () { return
|
|
42368
|
+
get: function () { return chunkNZQZ2HFU_cjs.useConnectedChat; }
|
|
42366
42369
|
});
|
|
42367
42370
|
Object.defineProperty(exports, "useSemanticSearch", {
|
|
42368
42371
|
enumerable: true,
|
|
42369
|
-
get: function () { return
|
|
42372
|
+
get: function () { return chunkNZQZ2HFU_cjs.useSemanticSearch; }
|
|
42370
42373
|
});
|
|
42371
42374
|
Object.defineProperty(exports, "useWorkspaceDocs", {
|
|
42372
42375
|
enumerable: true,
|
|
42373
|
-
get: function () { return
|
|
42376
|
+
get: function () { return chunkNZQZ2HFU_cjs.useWorkspaceDocs; }
|
|
42374
42377
|
});
|
|
42375
42378
|
Object.defineProperty(exports, "ConnectedTaskActivityDialog", {
|
|
42376
42379
|
enumerable: true,
|
|
42377
|
-
get: function () { return
|
|
42380
|
+
get: function () { return chunkXM4KRGCK_cjs.ConnectedTaskActivityDialog; }
|
|
42378
42381
|
});
|
|
42379
42382
|
Object.defineProperty(exports, "ConnectedTaskComposer", {
|
|
42380
42383
|
enumerable: true,
|
|
42381
|
-
get: function () { return
|
|
42384
|
+
get: function () { return chunkXM4KRGCK_cjs.ConnectedTaskComposer; }
|
|
42382
42385
|
});
|
|
42383
42386
|
Object.defineProperty(exports, "ConnectedThreadTaskBar", {
|
|
42384
42387
|
enumerable: true,
|
|
42385
|
-
get: function () { return
|
|
42388
|
+
get: function () { return chunkXM4KRGCK_cjs.ConnectedThreadTaskBar; }
|
|
42386
42389
|
});
|
|
42387
42390
|
Object.defineProperty(exports, "ConnectedWorkflowHistory", {
|
|
42388
42391
|
enumerable: true,
|
|
42389
|
-
get: function () { return
|
|
42392
|
+
get: function () { return chunkXM4KRGCK_cjs.ConnectedWorkflowHistory; }
|
|
42390
42393
|
});
|
|
42391
42394
|
Object.defineProperty(exports, "ConnectedWorkflowRunPage", {
|
|
42392
42395
|
enumerable: true,
|
|
42393
|
-
get: function () { return
|
|
42396
|
+
get: function () { return chunkXM4KRGCK_cjs.ConnectedWorkflowRunPage; }
|
|
42394
42397
|
});
|
|
42395
42398
|
Object.defineProperty(exports, "ConnectedWorkflowRunner", {
|
|
42396
42399
|
enumerable: true,
|
|
42397
|
-
get: function () { return
|
|
42400
|
+
get: function () { return chunkXM4KRGCK_cjs.ConnectedWorkflowRunner; }
|
|
42398
42401
|
});
|
|
42399
42402
|
Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS", {
|
|
42400
42403
|
enumerable: true,
|
|
42401
|
-
get: function () { return
|
|
42404
|
+
get: function () { return chunkXM4KRGCK_cjs.DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS; }
|
|
42402
42405
|
});
|
|
42403
42406
|
Object.defineProperty(exports, "DEFAULT_WORKFLOW_RUN_PAGE_LABELS", {
|
|
42404
42407
|
enumerable: true,
|
|
42405
|
-
get: function () { return
|
|
42408
|
+
get: function () { return chunkXM4KRGCK_cjs.DEFAULT_WORKFLOW_RUN_PAGE_LABELS; }
|
|
42406
42409
|
});
|
|
42407
42410
|
Object.defineProperty(exports, "WorkflowRunThread", {
|
|
42408
42411
|
enumerable: true,
|
|
42409
|
-
get: function () { return
|
|
42412
|
+
get: function () { return chunkXM4KRGCK_cjs.WorkflowRunThread; }
|
|
42410
42413
|
});
|
|
42411
42414
|
Object.defineProperty(exports, "WorkflowRunWorkspaceChangedError", {
|
|
42412
42415
|
enumerable: true,
|
|
42413
|
-
get: function () { return
|
|
42416
|
+
get: function () { return chunkXM4KRGCK_cjs.WorkflowRunWorkspaceChangedError; }
|
|
42414
42417
|
});
|
|
42415
42418
|
Object.defineProperty(exports, "buildProjectSummaries", {
|
|
42416
42419
|
enumerable: true,
|
|
42417
|
-
get: function () { return
|
|
42420
|
+
get: function () { return chunkXM4KRGCK_cjs.buildProjectSummaries; }
|
|
42418
42421
|
});
|
|
42419
42422
|
Object.defineProperty(exports, "primaryProjectWorkspace", {
|
|
42420
42423
|
enumerable: true,
|
|
42421
|
-
get: function () { return
|
|
42424
|
+
get: function () { return chunkXM4KRGCK_cjs.primaryProjectWorkspace; }
|
|
42422
42425
|
});
|
|
42423
42426
|
Object.defineProperty(exports, "useEnsureRequiredLabels", {
|
|
42424
42427
|
enumerable: true,
|
|
42425
|
-
get: function () { return
|
|
42428
|
+
get: function () { return chunkXM4KRGCK_cjs.useEnsureRequiredLabels; }
|
|
42426
42429
|
});
|
|
42427
42430
|
Object.defineProperty(exports, "useProjectSummaries", {
|
|
42428
42431
|
enumerable: true,
|
|
42429
|
-
get: function () { return
|
|
42432
|
+
get: function () { return chunkXM4KRGCK_cjs.useProjectSummaries; }
|
|
42430
42433
|
});
|
|
42431
42434
|
Object.defineProperty(exports, "useProjectSummary", {
|
|
42432
42435
|
enumerable: true,
|
|
42433
|
-
get: function () { return
|
|
42436
|
+
get: function () { return chunkXM4KRGCK_cjs.useProjectSummary; }
|
|
42434
42437
|
});
|
|
42435
42438
|
Object.defineProperty(exports, "useRenderTaskPerson", {
|
|
42436
42439
|
enumerable: true,
|
|
42437
|
-
get: function () { return
|
|
42440
|
+
get: function () { return chunkXM4KRGCK_cjs.useRenderTaskPerson; }
|
|
42438
42441
|
});
|
|
42439
42442
|
Object.defineProperty(exports, "useRequiredLabels", {
|
|
42440
42443
|
enumerable: true,
|
|
42441
|
-
get: function () { return
|
|
42444
|
+
get: function () { return chunkXM4KRGCK_cjs.useRequiredLabels; }
|
|
42442
42445
|
});
|
|
42443
42446
|
Object.defineProperty(exports, "useSkillsEnabled", {
|
|
42444
42447
|
enumerable: true,
|
|
42445
|
-
get: function () { return
|
|
42448
|
+
get: function () { return chunkXM4KRGCK_cjs.useSkillsEnabled; }
|
|
42446
42449
|
});
|
|
42447
42450
|
Object.defineProperty(exports, "useTaskPeople", {
|
|
42448
42451
|
enumerable: true,
|
|
42449
|
-
get: function () { return
|
|
42452
|
+
get: function () { return chunkXM4KRGCK_cjs.useTaskPeople; }
|
|
42450
42453
|
});
|
|
42451
42454
|
Object.defineProperty(exports, "useWorkflowDefinitions", {
|
|
42452
42455
|
enumerable: true,
|
|
42453
|
-
get: function () { return
|
|
42456
|
+
get: function () { return chunkXM4KRGCK_cjs.useWorkflowDefinitions; }
|
|
42454
42457
|
});
|
|
42455
42458
|
Object.defineProperty(exports, "useWorkflowTasks", {
|
|
42456
42459
|
enumerable: true,
|
|
42457
|
-
get: function () { return
|
|
42460
|
+
get: function () { return chunkXM4KRGCK_cjs.useWorkflowTasks; }
|
|
42458
42461
|
});
|
|
42459
42462
|
Object.defineProperty(exports, "useWorkflowsPageState", {
|
|
42460
42463
|
enumerable: true,
|
|
42461
|
-
get: function () { return
|
|
42464
|
+
get: function () { return chunkXM4KRGCK_cjs.useWorkflowsPageState; }
|
|
42462
42465
|
});
|
|
42463
42466
|
Object.defineProperty(exports, "workflowRunView", {
|
|
42464
42467
|
enumerable: true,
|
|
42465
|
-
get: function () { return
|
|
42468
|
+
get: function () { return chunkXM4KRGCK_cjs.workflowRunView; }
|
|
42466
42469
|
});
|
|
42467
42470
|
Object.defineProperty(exports, "AgentSteps", {
|
|
42468
42471
|
enumerable: true,
|
|
42469
|
-
get: function () { return
|
|
42472
|
+
get: function () { return chunkSDXK2COQ_cjs.AgentSteps; }
|
|
42470
42473
|
});
|
|
42471
42474
|
Object.defineProperty(exports, "AnswerTable", {
|
|
42472
42475
|
enumerable: true,
|
|
42473
|
-
get: function () { return
|
|
42476
|
+
get: function () { return chunkSDXK2COQ_cjs.AnswerTable; }
|
|
42474
42477
|
});
|
|
42475
42478
|
Object.defineProperty(exports, "ArbiChat", {
|
|
42476
42479
|
enumerable: true,
|
|
42477
|
-
get: function () { return
|
|
42480
|
+
get: function () { return chunkSDXK2COQ_cjs.ArbiChat; }
|
|
42478
42481
|
});
|
|
42479
42482
|
Object.defineProperty(exports, "AskAgainContext", {
|
|
42480
42483
|
enumerable: true,
|
|
42481
|
-
get: function () { return
|
|
42484
|
+
get: function () { return chunkSDXK2COQ_cjs.AskAgainContext; }
|
|
42482
42485
|
});
|
|
42483
42486
|
Object.defineProperty(exports, "ConnectedBranchControls", {
|
|
42484
42487
|
enumerable: true,
|
|
42485
|
-
get: function () { return
|
|
42488
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedBranchControls; }
|
|
42486
42489
|
});
|
|
42487
42490
|
Object.defineProperty(exports, "ConnectedCitationRenderer", {
|
|
42488
42491
|
enumerable: true,
|
|
42489
|
-
get: function () { return
|
|
42492
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedCitationRenderer; }
|
|
42490
42493
|
});
|
|
42491
42494
|
Object.defineProperty(exports, "ConnectedCompactConversation", {
|
|
42492
42495
|
enumerable: true,
|
|
42493
|
-
get: function () { return
|
|
42496
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedCompactConversation; }
|
|
42494
42497
|
});
|
|
42495
42498
|
Object.defineProperty(exports, "ConnectedCompactLogin", {
|
|
42496
42499
|
enumerable: true,
|
|
42497
|
-
get: function () { return
|
|
42500
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedCompactLogin; }
|
|
42498
42501
|
});
|
|
42499
42502
|
Object.defineProperty(exports, "ConnectedConversationDocumentPicker", {
|
|
42500
42503
|
enumerable: true,
|
|
42501
|
-
get: function () { return
|
|
42504
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedConversationDocumentPicker; }
|
|
42502
42505
|
});
|
|
42503
42506
|
Object.defineProperty(exports, "ConnectedDangerZone", {
|
|
42504
42507
|
enumerable: true,
|
|
42505
|
-
get: function () { return
|
|
42508
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedDangerZone; }
|
|
42506
42509
|
});
|
|
42507
42510
|
Object.defineProperty(exports, "ConnectedEmbeddedChat", {
|
|
42508
42511
|
enumerable: true,
|
|
42509
|
-
get: function () { return
|
|
42512
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedEmbeddedChat; }
|
|
42510
42513
|
});
|
|
42511
42514
|
Object.defineProperty(exports, "ConnectedForgotPassword", {
|
|
42512
42515
|
enumerable: true,
|
|
42513
|
-
get: function () { return
|
|
42516
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedForgotPassword; }
|
|
42514
42517
|
});
|
|
42515
42518
|
Object.defineProperty(exports, "ConnectedIdentityVerification", {
|
|
42516
42519
|
enumerable: true,
|
|
42517
|
-
get: function () { return
|
|
42520
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedIdentityVerification; }
|
|
42518
42521
|
});
|
|
42519
42522
|
Object.defineProperty(exports, "ConnectedLoginPage", {
|
|
42520
42523
|
enumerable: true,
|
|
42521
|
-
get: function () { return
|
|
42524
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedLoginPage; }
|
|
42522
42525
|
});
|
|
42523
42526
|
Object.defineProperty(exports, "ConnectedLogoutDialog", {
|
|
42524
42527
|
enumerable: true,
|
|
42525
|
-
get: function () { return
|
|
42528
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedLogoutDialog; }
|
|
42526
42529
|
});
|
|
42527
42530
|
Object.defineProperty(exports, "ConnectedMessage", {
|
|
42528
42531
|
enumerable: true,
|
|
42529
|
-
get: function () { return
|
|
42532
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedMessage; }
|
|
42530
42533
|
});
|
|
42531
42534
|
Object.defineProperty(exports, "ConnectedMessageArea", {
|
|
42532
42535
|
enumerable: true,
|
|
42533
|
-
get: function () { return
|
|
42536
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedMessageArea; }
|
|
42534
42537
|
});
|
|
42535
42538
|
Object.defineProperty(exports, "ConnectedMessageList", {
|
|
42536
42539
|
enumerable: true,
|
|
42537
|
-
get: function () { return
|
|
42540
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedMessageList; }
|
|
42538
42541
|
});
|
|
42539
42542
|
Object.defineProperty(exports, "ConnectedModelSelector", {
|
|
42540
42543
|
enumerable: true,
|
|
42541
|
-
get: function () { return
|
|
42544
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedModelSelector; }
|
|
42542
42545
|
});
|
|
42543
42546
|
Object.defineProperty(exports, "ConnectedNotificationPreferences", {
|
|
42544
42547
|
enumerable: true,
|
|
42545
|
-
get: function () { return
|
|
42548
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedNotificationPreferences; }
|
|
42546
42549
|
});
|
|
42547
42550
|
Object.defineProperty(exports, "ConnectedPasswordChangeDialog", {
|
|
42548
42551
|
enumerable: true,
|
|
42549
|
-
get: function () { return
|
|
42552
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedPasswordChangeDialog; }
|
|
42550
42553
|
});
|
|
42551
42554
|
Object.defineProperty(exports, "ConnectedProfileCard", {
|
|
42552
42555
|
enumerable: true,
|
|
42553
|
-
get: function () { return
|
|
42556
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedProfileCard; }
|
|
42554
42557
|
});
|
|
42555
42558
|
Object.defineProperty(exports, "ConnectedSecuritySection", {
|
|
42556
42559
|
enumerable: true,
|
|
42557
|
-
get: function () { return
|
|
42560
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedSecuritySection; }
|
|
42558
42561
|
});
|
|
42559
42562
|
Object.defineProperty(exports, "ConnectedSessionsRow", {
|
|
42560
42563
|
enumerable: true,
|
|
42561
|
-
get: function () { return
|
|
42564
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedSessionsRow; }
|
|
42562
42565
|
});
|
|
42563
42566
|
Object.defineProperty(exports, "ConnectedThreadsPreview", {
|
|
42564
42567
|
enumerable: true,
|
|
42565
|
-
get: function () { return
|
|
42568
|
+
get: function () { return chunkSDXK2COQ_cjs.ConnectedThreadsPreview; }
|
|
42566
42569
|
});
|
|
42567
42570
|
Object.defineProperty(exports, "ConversationComposer", {
|
|
42568
42571
|
enumerable: true,
|
|
42569
|
-
get: function () { return
|
|
42572
|
+
get: function () { return chunkSDXK2COQ_cjs.ConversationComposer; }
|
|
42570
42573
|
});
|
|
42571
42574
|
Object.defineProperty(exports, "EmbeddedChatPanel", {
|
|
42572
42575
|
enumerable: true,
|
|
42573
|
-
get: function () { return
|
|
42576
|
+
get: function () { return chunkSDXK2COQ_cjs.EmbeddedChatPanel; }
|
|
42574
42577
|
});
|
|
42575
42578
|
Object.defineProperty(exports, "MessageDetailsModal", {
|
|
42576
42579
|
enumerable: true,
|
|
42577
|
-
get: function () { return
|
|
42580
|
+
get: function () { return chunkSDXK2COQ_cjs.MessageDetailsModal; }
|
|
42578
42581
|
});
|
|
42579
42582
|
Object.defineProperty(exports, "MessageLiveSeconds", {
|
|
42580
42583
|
enumerable: true,
|
|
42581
|
-
get: function () { return
|
|
42584
|
+
get: function () { return chunkSDXK2COQ_cjs.MessageLiveSeconds; }
|
|
42582
42585
|
});
|
|
42583
42586
|
Object.defineProperty(exports, "PENDING_RECOVERY_KEY", {
|
|
42584
42587
|
enumerable: true,
|
|
42585
|
-
get: function () { return
|
|
42588
|
+
get: function () { return chunkSDXK2COQ_cjs.PENDING_RECOVERY_KEY; }
|
|
42586
42589
|
});
|
|
42587
42590
|
Object.defineProperty(exports, "PREMIUM_TIER_TAG", {
|
|
42588
42591
|
enumerable: true,
|
|
42589
|
-
get: function () { return
|
|
42592
|
+
get: function () { return chunkSDXK2COQ_cjs.PREMIUM_TIER_TAG; }
|
|
42590
42593
|
});
|
|
42591
42594
|
Object.defineProperty(exports, "RunningSubagents", {
|
|
42592
42595
|
enumerable: true,
|
|
42593
|
-
get: function () { return
|
|
42596
|
+
get: function () { return chunkSDXK2COQ_cjs.RunningSubagents; }
|
|
42594
42597
|
});
|
|
42595
42598
|
Object.defineProperty(exports, "STANDARD_TIER_TAG", {
|
|
42596
42599
|
enumerable: true,
|
|
42597
|
-
get: function () { return
|
|
42600
|
+
get: function () { return chunkSDXK2COQ_cjs.STANDARD_TIER_TAG; }
|
|
42598
42601
|
});
|
|
42599
42602
|
Object.defineProperty(exports, "WorkflowStepMessage", {
|
|
42600
42603
|
enumerable: true,
|
|
42601
|
-
get: function () { return
|
|
42604
|
+
get: function () { return chunkSDXK2COQ_cjs.WorkflowStepMessage; }
|
|
42602
42605
|
});
|
|
42603
42606
|
Object.defineProperty(exports, "backUpOnSignup", {
|
|
42604
42607
|
enumerable: true,
|
|
42605
|
-
get: function () { return
|
|
42608
|
+
get: function () { return chunkSDXK2COQ_cjs.backUpOnSignup; }
|
|
42606
42609
|
});
|
|
42607
42610
|
Object.defineProperty(exports, "defaultHost", {
|
|
42608
42611
|
enumerable: true,
|
|
42609
|
-
get: function () { return
|
|
42612
|
+
get: function () { return chunkSDXK2COQ_cjs.defaultHost; }
|
|
42610
42613
|
});
|
|
42611
42614
|
Object.defineProperty(exports, "renderConnectedUser", {
|
|
42612
42615
|
enumerable: true,
|
|
42613
|
-
get: function () { return
|
|
42616
|
+
get: function () { return chunkSDXK2COQ_cjs.renderConnectedUser; }
|
|
42614
42617
|
});
|
|
42615
42618
|
Object.defineProperty(exports, "renderSessionStatusIcon", {
|
|
42616
42619
|
enumerable: true,
|
|
42617
|
-
get: function () { return
|
|
42620
|
+
get: function () { return chunkSDXK2COQ_cjs.renderSessionStatusIcon; }
|
|
42618
42621
|
});
|
|
42619
42622
|
Object.defineProperty(exports, "resolveSsoName", {
|
|
42620
42623
|
enumerable: true,
|
|
42621
|
-
get: function () { return
|
|
42624
|
+
get: function () { return chunkSDXK2COQ_cjs.resolveSsoName; }
|
|
42622
42625
|
});
|
|
42623
42626
|
Object.defineProperty(exports, "useAuthPages", {
|
|
42624
42627
|
enumerable: true,
|
|
42625
|
-
get: function () { return
|
|
42628
|
+
get: function () { return chunkSDXK2COQ_cjs.useAuthPages; }
|
|
42626
42629
|
});
|
|
42627
42630
|
Object.defineProperty(exports, "useContextualHints", {
|
|
42628
42631
|
enumerable: true,
|
|
42629
|
-
get: function () { return
|
|
42632
|
+
get: function () { return chunkSDXK2COQ_cjs.useContextualHints; }
|
|
42630
42633
|
});
|
|
42631
42634
|
Object.defineProperty(exports, "useModelPicker", {
|
|
42632
42635
|
enumerable: true,
|
|
42633
|
-
get: function () { return
|
|
42636
|
+
get: function () { return chunkSDXK2COQ_cjs.useModelPicker; }
|
|
42634
42637
|
});
|
|
42635
42638
|
Object.defineProperty(exports, "useOpenChunk", {
|
|
42636
42639
|
enumerable: true,
|
|
42637
|
-
get: function () { return
|
|
42640
|
+
get: function () { return chunkSDXK2COQ_cjs.useOpenChunk; }
|
|
42638
42641
|
});
|
|
42639
42642
|
Object.defineProperty(exports, "useOpenWorkspaceIcon", {
|
|
42640
42643
|
enumerable: true,
|
|
42641
|
-
get: function () { return
|
|
42644
|
+
get: function () { return chunkSDXK2COQ_cjs.useOpenWorkspaceIcon; }
|
|
42642
42645
|
});
|
|
42643
42646
|
Object.defineProperty(exports, "useSlashItems", {
|
|
42644
42647
|
enumerable: true,
|
|
42645
|
-
get: function () { return
|
|
42648
|
+
get: function () { return chunkSDXK2COQ_cjs.useSlashItems; }
|
|
42646
42649
|
});
|
|
42647
42650
|
Object.defineProperty(exports, "useSsoSignIn", {
|
|
42648
42651
|
enumerable: true,
|
|
42649
|
-
get: function () { return
|
|
42652
|
+
get: function () { return chunkSDXK2COQ_cjs.useSsoSignIn; }
|
|
42650
42653
|
});
|
|
42651
42654
|
Object.defineProperty(exports, "useWorkspaceDocTitles", {
|
|
42652
42655
|
enumerable: true,
|
|
42653
|
-
get: function () { return
|
|
42656
|
+
get: function () { return chunkSDXK2COQ_cjs.useWorkspaceDocTitles; }
|
|
42654
42657
|
});
|
|
42655
42658
|
Object.defineProperty(exports, "useConnectedThreadActivity", {
|
|
42656
42659
|
enumerable: true,
|
|
42657
|
-
get: function () { return
|
|
42660
|
+
get: function () { return chunkXTCNETMI_cjs.useConnectedThreadActivity; }
|
|
42658
42661
|
});
|
|
42659
42662
|
Object.defineProperty(exports, "DocumentUser", {
|
|
42660
42663
|
enumerable: true,
|
|
@@ -42670,39 +42673,39 @@ Object.defineProperty(exports, "SELECTED_WORKSPACE_KEY", {
|
|
|
42670
42673
|
});
|
|
42671
42674
|
Object.defineProperty(exports, "ConnectedWorkflowDocumentsField", {
|
|
42672
42675
|
enumerable: true,
|
|
42673
|
-
get: function () { return
|
|
42676
|
+
get: function () { return chunkECCV4YOL_cjs.ConnectedWorkflowDocumentsField; }
|
|
42674
42677
|
});
|
|
42675
42678
|
Object.defineProperty(exports, "ConnectedWorkflowLauncher", {
|
|
42676
42679
|
enumerable: true,
|
|
42677
|
-
get: function () { return
|
|
42680
|
+
get: function () { return chunkECCV4YOL_cjs.ConnectedWorkflowLauncher; }
|
|
42678
42681
|
});
|
|
42679
42682
|
Object.defineProperty(exports, "ConnectedWorkflowsTable", {
|
|
42680
42683
|
enumerable: true,
|
|
42681
|
-
get: function () { return
|
|
42684
|
+
get: function () { return chunkECCV4YOL_cjs.ConnectedWorkflowsTable; }
|
|
42682
42685
|
});
|
|
42683
42686
|
Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS", {
|
|
42684
42687
|
enumerable: true,
|
|
42685
|
-
get: function () { return
|
|
42688
|
+
get: function () { return chunkECCV4YOL_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
|
|
42686
42689
|
});
|
|
42687
42690
|
Object.defineProperty(exports, "toWorkflowFieldDocument", {
|
|
42688
42691
|
enumerable: true,
|
|
42689
|
-
get: function () { return
|
|
42692
|
+
get: function () { return chunkECCV4YOL_cjs.toWorkflowFieldDocument; }
|
|
42690
42693
|
});
|
|
42691
42694
|
Object.defineProperty(exports, "useConnectedWorkflowScopeSource", {
|
|
42692
42695
|
enumerable: true,
|
|
42693
|
-
get: function () { return
|
|
42696
|
+
get: function () { return chunkECCV4YOL_cjs.useConnectedWorkflowScopeSource; }
|
|
42694
42697
|
});
|
|
42695
42698
|
Object.defineProperty(exports, "useConnectedWorkspaceRole", {
|
|
42696
42699
|
enumerable: true,
|
|
42697
|
-
get: function () { return
|
|
42700
|
+
get: function () { return chunkECCV4YOL_cjs.useConnectedWorkspaceRole; }
|
|
42698
42701
|
});
|
|
42699
42702
|
Object.defineProperty(exports, "useDocxCommentTarget", {
|
|
42700
42703
|
enumerable: true,
|
|
42701
|
-
get: function () { return
|
|
42704
|
+
get: function () { return chunkECCV4YOL_cjs.useDocxCommentTarget; }
|
|
42702
42705
|
});
|
|
42703
42706
|
Object.defineProperty(exports, "useNativeDocxSupport", {
|
|
42704
42707
|
enumerable: true,
|
|
42705
|
-
get: function () { return
|
|
42708
|
+
get: function () { return chunkECCV4YOL_cjs.useNativeDocxSupport; }
|
|
42706
42709
|
});
|
|
42707
42710
|
Object.defineProperty(exports, "useOpenWorkflow", {
|
|
42708
42711
|
enumerable: true,
|