@arbidocs/blocks 0.5.79 → 0.5.80
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/dist/{ConnectedCallDock-QMNE6VLE.js → ConnectedCallDock-DIGOWCS7.js} +6 -6
- package/dist/{ConnectedCallDock-QMNE6VLE.js.map → ConnectedCallDock-DIGOWCS7.js.map} +1 -1
- package/dist/{ConnectedCallDock-7YJ42IDV.cjs → ConnectedCallDock-P42M6OVR.cjs} +15 -15
- package/dist/{ConnectedCallDock-7YJ42IDV.cjs.map → ConnectedCallDock-P42M6OVR.cjs.map} +1 -1
- package/dist/{ConnectedCallRoom-YDOASIWO.js → ConnectedCallRoom-AYNCZVWL.js} +6 -6
- package/dist/{ConnectedCallRoom-YDOASIWO.js.map → ConnectedCallRoom-AYNCZVWL.js.map} +1 -1
- package/dist/{ConnectedCallRoom-PUWWCV6W.cjs → ConnectedCallRoom-VFGV4X7I.cjs} +7 -7
- package/dist/{ConnectedCallRoom-PUWWCV6W.cjs.map → ConnectedCallRoom-VFGV4X7I.cjs.map} +1 -1
- package/dist/{ConnectedDocumentViewer-QW62ULRN.cjs → ConnectedDocumentViewer-EXR4XDRW.cjs} +22 -22
- package/dist/{ConnectedDocumentViewer-QW62ULRN.cjs.map → ConnectedDocumentViewer-EXR4XDRW.cjs.map} +1 -1
- package/dist/{ConnectedDocumentViewer-7QUKFBVM.js → ConnectedDocumentViewer-H7W6XQNJ.js} +21 -21
- package/dist/{ConnectedDocumentViewer-7QUKFBVM.js.map → ConnectedDocumentViewer-H7W6XQNJ.js.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-3YDCXF4V.js → ConnectedNativeDocxComparison-2W3NNA5C.js} +13 -13
- package/dist/ConnectedNativeDocxComparison-2W3NNA5C.js.map +1 -0
- package/dist/{ConnectedNativeDocxComparison-DFCBPV76.cjs → ConnectedNativeDocxComparison-UJWBGYOF.cjs} +14 -14
- package/dist/ConnectedNativeDocxComparison-UJWBGYOF.cjs.map +1 -0
- package/dist/{ConnectedNativeDocxEditor-Z2YVPZ3F.cjs → ConnectedNativeDocxEditor-672BRHOT.cjs} +14 -14
- package/dist/ConnectedNativeDocxEditor-672BRHOT.cjs.map +1 -0
- package/dist/{ConnectedNativeDocxEditor-JTB5GZ24.js → ConnectedNativeDocxEditor-QHVE5IR5.js} +12 -12
- package/dist/ConnectedNativeDocxEditor-QHVE5IR5.js.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-3Q54FIJO.cjs → ConnectedStreamedWordArtifact-3MNE42NH.cjs} +14 -14
- package/dist/ConnectedStreamedWordArtifact-3MNE42NH.cjs.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-4KQLOEP2.js → ConnectedStreamedWordArtifact-VI3S2YIG.js} +13 -13
- package/dist/ConnectedStreamedWordArtifact-VI3S2YIG.js.map +1 -0
- package/dist/{DocumentReviewCard-ODEJE27S.js → DocumentReviewCard-F26AXBYZ.js} +6 -6
- package/dist/{DocumentReviewCard-ODEJE27S.js.map → DocumentReviewCard-F26AXBYZ.js.map} +1 -1
- package/dist/{DocumentReviewCard-DQHW5W5T.cjs → DocumentReviewCard-XK77D3O4.cjs} +6 -6
- package/dist/{DocumentReviewCard-DQHW5W5T.cjs.map → DocumentReviewCard-XK77D3O4.cjs.map} +1 -1
- package/dist/{WorkspaceTableView-XDKMONPI.cjs → WorkspaceTableView-III5TFER.cjs} +9 -9
- package/dist/{WorkspaceTableView-XDKMONPI.cjs.map → WorkspaceTableView-III5TFER.cjs.map} +1 -1
- package/dist/{WorkspaceTableView-ZZW36JJV.js → WorkspaceTableView-JUQWTLXI.js} +7 -7
- package/dist/{WorkspaceTableView-ZZW36JJV.js.map → WorkspaceTableView-JUQWTLXI.js.map} +1 -1
- package/dist/agents/index.cjs +285 -285
- package/dist/agents/index.js +8 -8
- package/dist/calls/index.cjs +133 -133
- package/dist/calls/index.js +9 -9
- package/dist/chat/index.cjs +1 -1
- package/dist/chat/index.js +1 -1
- package/dist/{chunk-EN6IPLOI.cjs → chunk-276KHDQG.cjs} +67 -67
- package/dist/{chunk-EN6IPLOI.cjs.map → chunk-276KHDQG.cjs.map} +1 -1
- package/dist/{chunk-VUBYQKIR.js → chunk-2L4YFJ6U.js} +10 -10
- package/dist/{chunk-VUBYQKIR.js.map → chunk-2L4YFJ6U.js.map} +1 -1
- package/dist/{chunk-7ZHBRB3H.cjs → chunk-2MYWB55Z.cjs} +18 -18
- package/dist/{chunk-7ZHBRB3H.cjs.map → chunk-2MYWB55Z.cjs.map} +1 -1
- package/dist/{chunk-ICVUKTD3.cjs → chunk-3FKRE4BL.cjs} +11 -11
- package/dist/{chunk-ICVUKTD3.cjs.map → chunk-3FKRE4BL.cjs.map} +1 -1
- package/dist/{chunk-MN5DI5NZ.js → chunk-3TI4EVXB.js} +5 -5
- package/dist/{chunk-MN5DI5NZ.js.map → chunk-3TI4EVXB.js.map} +1 -1
- package/dist/{chunk-6RXH2H77.js → chunk-4FPFIDJE.js} +3 -3
- package/dist/{chunk-6RXH2H77.js.map → chunk-4FPFIDJE.js.map} +1 -1
- package/dist/{chunk-U5WK7WQS.js → chunk-4LIKVTSO.js} +3 -3
- package/dist/{chunk-U5WK7WQS.js.map → chunk-4LIKVTSO.js.map} +1 -1
- package/dist/{chunk-5OVCVCVZ.cjs → chunk-5S2N6HSA.cjs} +3 -3
- package/dist/{chunk-5OVCVCVZ.cjs.map → chunk-5S2N6HSA.cjs.map} +1 -1
- package/dist/{chunk-6CJNGKZQ.cjs → chunk-5V7JWZQ4.cjs} +55 -55
- package/dist/{chunk-6CJNGKZQ.cjs.map → chunk-5V7JWZQ4.cjs.map} +1 -1
- package/dist/{chunk-BNXZDIBF.js → chunk-6JDUM4R2.js} +11 -11
- package/dist/{chunk-BNXZDIBF.js.map → chunk-6JDUM4R2.js.map} +1 -1
- package/dist/{chunk-24DRVHN3.js → chunk-7IHMM6TG.js} +3 -3
- package/dist/{chunk-24DRVHN3.js.map → chunk-7IHMM6TG.js.map} +1 -1
- package/dist/{chunk-5DY5I2X4.js → chunk-AGC25AKG.js} +3 -3
- package/dist/{chunk-5DY5I2X4.js.map → chunk-AGC25AKG.js.map} +1 -1
- package/dist/{chunk-FNAM7AII.js → chunk-B7UCQEPD.js} +6 -6
- package/dist/{chunk-FNAM7AII.js.map → chunk-B7UCQEPD.js.map} +1 -1
- package/dist/{chunk-OKSRXXKP.js → chunk-BRY553LQ.js} +3 -3
- package/dist/{chunk-OKSRXXKP.js.map → chunk-BRY553LQ.js.map} +1 -1
- package/dist/{chunk-JCYGQHS7.js → chunk-CGVWWTEZ.js} +3 -3
- package/dist/{chunk-JCYGQHS7.js.map → chunk-CGVWWTEZ.js.map} +1 -1
- package/dist/{chunk-A3OM7LQI.cjs → chunk-D76PIWFN.cjs} +14 -14
- package/dist/{chunk-A3OM7LQI.cjs.map → chunk-D76PIWFN.cjs.map} +1 -1
- package/dist/{chunk-45D5RS6T.cjs → chunk-DL3XYTKI.cjs} +8 -8
- package/dist/{chunk-45D5RS6T.cjs.map → chunk-DL3XYTKI.cjs.map} +1 -1
- package/dist/{chunk-Y7SRZYJZ.js → chunk-E27367NI.js} +3 -3
- package/dist/{chunk-Y7SRZYJZ.js.map → chunk-E27367NI.js.map} +1 -1
- package/dist/{chunk-W6C2NOKI.js → chunk-GGY6GXVJ.js} +3 -3
- package/dist/{chunk-W6C2NOKI.js.map → chunk-GGY6GXVJ.js.map} +1 -1
- package/dist/{chunk-YYGYO6KB.js → chunk-H5IWMVS5.js} +3 -3
- package/dist/{chunk-YYGYO6KB.js.map → chunk-H5IWMVS5.js.map} +1 -1
- package/dist/{chunk-BI62XYJG.js → chunk-HJHLQPT2.js} +5 -5
- package/dist/{chunk-BI62XYJG.js.map → chunk-HJHLQPT2.js.map} +1 -1
- package/dist/{chunk-NWQ5RRNN.js → chunk-I2JQEXTG.js} +6 -6
- package/dist/{chunk-NWQ5RRNN.js.map → chunk-I2JQEXTG.js.map} +1 -1
- package/dist/{chunk-GX455LF3.cjs → chunk-IGMZN37B.cjs} +4 -4
- package/dist/{chunk-GX455LF3.cjs.map → chunk-IGMZN37B.cjs.map} +1 -1
- package/dist/{chunk-P34WL63W.cjs → chunk-JUP5PCLB.cjs} +6 -6
- package/dist/{chunk-P34WL63W.cjs.map → chunk-JUP5PCLB.cjs.map} +1 -1
- package/dist/{chunk-JRZQBFPS.js → chunk-KEWX6KFN.js} +3 -3
- package/dist/{chunk-JRZQBFPS.js.map → chunk-KEWX6KFN.js.map} +1 -1
- package/dist/{chunk-FWEDJBBV.cjs → chunk-KFXOZXZD.cjs} +4 -4
- package/dist/{chunk-FWEDJBBV.cjs.map → chunk-KFXOZXZD.cjs.map} +1 -1
- package/dist/{chunk-6V6C2OHX.js → chunk-KII2DCGW.js} +3 -3
- package/dist/{chunk-6V6C2OHX.js.map → chunk-KII2DCGW.js.map} +1 -1
- package/dist/{chunk-JUG2QEL7.cjs → chunk-KRWWRTDN.cjs} +3 -3
- package/dist/{chunk-JUG2QEL7.cjs.map → chunk-KRWWRTDN.cjs.map} +1 -1
- package/dist/{chunk-N6B6H4QV.cjs → chunk-L6DAJUDF.cjs} +22 -22
- package/dist/{chunk-N6B6H4QV.cjs.map → chunk-L6DAJUDF.cjs.map} +1 -1
- package/dist/{chunk-OVZ54T5M.cjs → chunk-LC7HFDCV.cjs} +25 -17
- package/dist/chunk-LC7HFDCV.cjs.map +1 -0
- package/dist/{chunk-YJOFSJYQ.cjs → chunk-LHQHK6MB.cjs} +10 -10
- package/dist/{chunk-YJOFSJYQ.cjs.map → chunk-LHQHK6MB.cjs.map} +1 -1
- package/dist/{chunk-JUO3S5OO.js → chunk-LXVFPIHM.js} +4 -4
- package/dist/{chunk-JUO3S5OO.js.map → chunk-LXVFPIHM.js.map} +1 -1
- package/dist/{chunk-MH2VQFAE.cjs → chunk-MA4RZFYH.cjs} +3 -3
- package/dist/{chunk-MH2VQFAE.cjs.map → chunk-MA4RZFYH.cjs.map} +1 -1
- package/dist/{chunk-DRDGSOO4.js → chunk-MEDTT4EK.js} +16 -8
- package/dist/chunk-MEDTT4EK.js.map +1 -0
- package/dist/{chunk-64GEEHKH.js → chunk-MQ2XHUAV.js} +3 -3
- package/dist/{chunk-64GEEHKH.js.map → chunk-MQ2XHUAV.js.map} +1 -1
- package/dist/{chunk-ZSBAE455.js → chunk-OAAG3TQ2.js} +3 -3
- package/dist/{chunk-ZSBAE455.js.map → chunk-OAAG3TQ2.js.map} +1 -1
- package/dist/{chunk-3VL64465.cjs → chunk-OAEJME5Q.cjs} +48 -48
- package/dist/{chunk-3VL64465.cjs.map → chunk-OAEJME5Q.cjs.map} +1 -1
- package/dist/{chunk-V4SRR4GE.cjs → chunk-ORIOOXUU.cjs} +5 -5
- package/dist/{chunk-V4SRR4GE.cjs.map → chunk-ORIOOXUU.cjs.map} +1 -1
- package/dist/{chunk-Y5RCJQ3A.cjs → chunk-QB7PNQDJ.cjs} +3 -3
- package/dist/{chunk-Y5RCJQ3A.cjs.map → chunk-QB7PNQDJ.cjs.map} +1 -1
- package/dist/{chunk-XUO32INL.cjs → chunk-QNDKLQYT.cjs} +3 -3
- package/dist/{chunk-XUO32INL.cjs.map → chunk-QNDKLQYT.cjs.map} +1 -1
- package/dist/{chunk-I7O7QWKX.cjs → chunk-QOV564TW.cjs} +4 -4
- package/dist/{chunk-I7O7QWKX.cjs.map → chunk-QOV564TW.cjs.map} +1 -1
- package/dist/{chunk-DBWDYPN2.js → chunk-QYILQJOD.js} +15 -15
- package/dist/{chunk-DBWDYPN2.js.map → chunk-QYILQJOD.js.map} +1 -1
- package/dist/{chunk-4VGZGM6M.cjs → chunk-QYRPFPQ7.cjs} +3 -3
- package/dist/{chunk-4VGZGM6M.cjs.map → chunk-QYRPFPQ7.cjs.map} +1 -1
- package/dist/{chunk-WLFHPXBA.js → chunk-RYSU62TM.js} +3 -3
- package/dist/{chunk-WLFHPXBA.js.map → chunk-RYSU62TM.js.map} +1 -1
- package/dist/{chunk-D4SDNNLX.cjs → chunk-UFGC77KR.cjs} +5 -5
- package/dist/{chunk-D4SDNNLX.cjs.map → chunk-UFGC77KR.cjs.map} +1 -1
- package/dist/{chunk-P7FHVWM7.cjs → chunk-UHP6AP6C.cjs} +10 -10
- package/dist/{chunk-P7FHVWM7.cjs.map → chunk-UHP6AP6C.cjs.map} +1 -1
- package/dist/{chunk-LMB5SJGW.js → chunk-UZER3JJX.js} +3 -3
- package/dist/{chunk-LMB5SJGW.js.map → chunk-UZER3JJX.js.map} +1 -1
- package/dist/{chunk-R33SPSXO.cjs → chunk-VGMK4F2E.cjs} +11 -11
- package/dist/{chunk-R33SPSXO.cjs.map → chunk-VGMK4F2E.cjs.map} +1 -1
- package/dist/{chunk-3STESMKX.cjs → chunk-WV6RHIFP.cjs} +3 -3
- package/dist/{chunk-3STESMKX.cjs.map → chunk-WV6RHIFP.cjs.map} +1 -1
- package/dist/{chunk-24JOY5V2.js → chunk-WWME52XL.js} +3 -3
- package/dist/{chunk-24JOY5V2.js.map → chunk-WWME52XL.js.map} +1 -1
- package/dist/{chunk-7SPVL54U.js → chunk-XAZUII52.js} +4 -4
- package/dist/{chunk-7SPVL54U.js.map → chunk-XAZUII52.js.map} +1 -1
- package/dist/{chunk-3XYTZG4F.js → chunk-YPTMALBZ.js} +3 -3
- package/dist/{chunk-3XYTZG4F.js.map → chunk-YPTMALBZ.js.map} +1 -1
- package/dist/{chunk-LYUS5I7M.cjs → chunk-ZK56K25Q.cjs} +7 -7
- package/dist/{chunk-LYUS5I7M.cjs.map → chunk-ZK56K25Q.cjs.map} +1 -1
- package/dist/{chunk-TANMVAB2.cjs → chunk-ZLDFQZSP.cjs} +4 -4
- package/dist/{chunk-TANMVAB2.cjs.map → chunk-ZLDFQZSP.cjs.map} +1 -1
- package/dist/collaboration/index.cjs +1 -1
- package/dist/collaboration/index.js +1 -1
- package/dist/connect/docx.cjs +16 -16
- package/dist/connect/docx.js +12 -12
- package/dist/connect/index.cjs +750 -750
- package/dist/connect/index.js +55 -55
- package/dist/connect/viewer.cjs +20 -20
- package/dist/connect/viewer.js +19 -19
- package/dist/embed/index.cjs +30 -30
- package/dist/embed/index.js +24 -24
- package/dist/facts/index.cjs +2 -2
- package/dist/facts/index.js +2 -2
- package/dist/files/index.cjs +1 -1
- package/dist/files/index.js +1 -1
- package/dist/home/index.cjs +31 -31
- package/dist/home/index.js +4 -4
- package/dist/index.cjs +1464 -1464
- package/dist/index.js +35 -35
- package/dist/settings/index.cjs +157 -157
- package/dist/settings/index.js +3 -3
- package/dist/shell/index.cjs +97 -97
- package/dist/shell/index.js +9 -9
- package/dist/studio/index.cjs +13 -13
- package/dist/studio/index.js +10 -10
- package/dist/workflow-canvas/index.cjs +44 -42
- package/dist/workflow-canvas/index.cjs.map +1 -1
- package/dist/workflow-canvas/index.js +29 -27
- package/dist/workflow-canvas/index.js.map +1 -1
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ConnectedNativeDocxComparison-3YDCXF4V.js.map +0 -1
- package/dist/ConnectedNativeDocxComparison-DFCBPV76.cjs.map +0 -1
- package/dist/ConnectedNativeDocxEditor-JTB5GZ24.js.map +0 -1
- package/dist/ConnectedNativeDocxEditor-Z2YVPZ3F.cjs.map +0 -1
- package/dist/ConnectedStreamedWordArtifact-3Q54FIJO.cjs.map +0 -1
- package/dist/ConnectedStreamedWordArtifact-4KQLOEP2.js.map +0 -1
- package/dist/chunk-DRDGSOO4.js.map +0 -1
- package/dist/chunk-OVZ54T5M.cjs.map +0 -1
package/dist/connect/index.cjs
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkORIOOXUU_cjs = require('../chunk-ORIOOXUU.cjs');
|
|
5
5
|
var chunkCRSEWNDP_cjs = require('../chunk-CRSEWNDP.cjs');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
6
|
+
var chunkQNDKLQYT_cjs = require('../chunk-QNDKLQYT.cjs');
|
|
7
|
+
var chunk5V7JWZQ4_cjs = require('../chunk-5V7JWZQ4.cjs');
|
|
8
8
|
var chunkDF7ZATID_cjs = require('../chunk-DF7ZATID.cjs');
|
|
9
9
|
var chunkFKFGRGKF_cjs = require('../chunk-FKFGRGKF.cjs');
|
|
10
10
|
var chunkHYAYXLIZ_cjs = require('../chunk-HYAYXLIZ.cjs');
|
|
11
11
|
var chunkKWJW5TMH_cjs = require('../chunk-KWJW5TMH.cjs');
|
|
12
12
|
var chunkPSIKUQYM_cjs = require('../chunk-PSIKUQYM.cjs');
|
|
13
|
-
var
|
|
14
|
-
var
|
|
13
|
+
var chunkOAEJME5Q_cjs = require('../chunk-OAEJME5Q.cjs');
|
|
14
|
+
var chunkDL3XYTKI_cjs = require('../chunk-DL3XYTKI.cjs');
|
|
15
15
|
var chunkR5KLIQXI_cjs = require('../chunk-R5KLIQXI.cjs');
|
|
16
16
|
var chunkXD3M6ACK_cjs = require('../chunk-XD3M6ACK.cjs');
|
|
17
17
|
var chunkXFL67STW_cjs = require('../chunk-XFL67STW.cjs');
|
|
18
|
-
var
|
|
18
|
+
var chunkZK56K25Q_cjs = require('../chunk-ZK56K25Q.cjs');
|
|
19
19
|
var chunkOU3RGQFX_cjs = require('../chunk-OU3RGQFX.cjs');
|
|
20
20
|
require('../chunk-REH7PX3N.cjs');
|
|
21
21
|
require('../chunk-H32DV7XS.cjs');
|
|
22
|
-
var
|
|
23
|
-
var
|
|
24
|
-
var chunkLYN5HGPZ_cjs = require('../chunk-LYN5HGPZ.cjs');
|
|
22
|
+
var chunkQB7PNQDJ_cjs = require('../chunk-QB7PNQDJ.cjs');
|
|
23
|
+
var chunkUHP6AP6C_cjs = require('../chunk-UHP6AP6C.cjs');
|
|
25
24
|
var chunk464YPRAE_cjs = require('../chunk-464YPRAE.cjs');
|
|
26
25
|
var chunkENT64S6W_cjs = require('../chunk-ENT64S6W.cjs');
|
|
26
|
+
var chunkLYN5HGPZ_cjs = require('../chunk-LYN5HGPZ.cjs');
|
|
27
27
|
var chunkDDWLMYRO_cjs = require('../chunk-DDWLMYRO.cjs');
|
|
28
28
|
var chunkDC5LNUIN_cjs = require('../chunk-DC5LNUIN.cjs');
|
|
29
|
-
var
|
|
29
|
+
var chunkQYRPFPQ7_cjs = require('../chunk-QYRPFPQ7.cjs');
|
|
30
30
|
var chunkICHTDJYH_cjs = require('../chunk-ICHTDJYH.cjs');
|
|
31
31
|
var chunkSNUBQMIS_cjs = require('../chunk-SNUBQMIS.cjs');
|
|
32
32
|
require('../chunk-324RBHCF.cjs');
|
|
@@ -38,8 +38,8 @@ require('../chunk-JH6JTI76.cjs');
|
|
|
38
38
|
require('../chunk-UWIILWDI.cjs');
|
|
39
39
|
var chunkQQMMCXBP_cjs = require('../chunk-QQMMCXBP.cjs');
|
|
40
40
|
require('../chunk-ZESMRGDV.cjs');
|
|
41
|
-
var
|
|
42
|
-
var
|
|
41
|
+
var chunkUFGC77KR_cjs = require('../chunk-UFGC77KR.cjs');
|
|
42
|
+
var chunkJUP5PCLB_cjs = require('../chunk-JUP5PCLB.cjs');
|
|
43
43
|
require('../chunk-NEGFHF3V.cjs');
|
|
44
44
|
var chunkZ3LFF3YT_cjs = require('../chunk-Z3LFF3YT.cjs');
|
|
45
45
|
var chunkC2ECYOPP_cjs = require('../chunk-C2ECYOPP.cjs');
|
|
@@ -58,24 +58,33 @@ var chunkJIOHDVWH_cjs = require('../chunk-JIOHDVWH.cjs');
|
|
|
58
58
|
var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
|
|
59
59
|
var chunkMZZ3SBQL_cjs = require('../chunk-MZZ3SBQL.cjs');
|
|
60
60
|
var chunkVWUNPAR2_cjs = require('../chunk-VWUNPAR2.cjs');
|
|
61
|
-
var
|
|
62
|
-
var
|
|
63
|
-
var
|
|
64
|
-
var chunkMNIQDXM6_cjs = require('../chunk-MNIQDXM6.cjs');
|
|
65
|
-
var chunkDVZ3QW3O_cjs = require('../chunk-DVZ3QW3O.cjs');
|
|
61
|
+
var chunkZLDFQZSP_cjs = require('../chunk-ZLDFQZSP.cjs');
|
|
62
|
+
var chunkWV6RHIFP_cjs = require('../chunk-WV6RHIFP.cjs');
|
|
63
|
+
var chunkKRWWRTDN_cjs = require('../chunk-KRWWRTDN.cjs');
|
|
66
64
|
require('../chunk-VLCY46K6.cjs');
|
|
67
65
|
var chunkBTPIHXVX_cjs = require('../chunk-BTPIHXVX.cjs');
|
|
68
66
|
var chunkZU2B2RZK_cjs = require('../chunk-ZU2B2RZK.cjs');
|
|
69
67
|
var chunkNSD37OF5_cjs = require('../chunk-NSD37OF5.cjs');
|
|
70
68
|
require('../chunk-72YEEUH7.cjs');
|
|
71
69
|
require('../chunk-D54JXTPG.cjs');
|
|
72
|
-
var
|
|
70
|
+
var chunk5SXODQEV_cjs = require('../chunk-5SXODQEV.cjs');
|
|
71
|
+
require('../chunk-DO6OJ2F3.cjs');
|
|
72
|
+
require('../chunk-4OFHXOMA.cjs');
|
|
73
|
+
var chunk3UP6ZOH7_cjs = require('../chunk-3UP6ZOH7.cjs');
|
|
74
|
+
var chunkGBXZPBTK_cjs = require('../chunk-GBXZPBTK.cjs');
|
|
75
|
+
var chunkONUY3NPW_cjs = require('../chunk-ONUY3NPW.cjs');
|
|
76
|
+
require('../chunk-Z2XZ2D4N.cjs');
|
|
77
|
+
var chunkMCXS6X37_cjs = require('../chunk-MCXS6X37.cjs');
|
|
78
|
+
var chunkEOCBELNK_cjs = require('../chunk-EOCBELNK.cjs');
|
|
79
|
+
require('../chunk-YZSQ7F5K.cjs');
|
|
80
|
+
require('../chunk-KQF7POTG.cjs');
|
|
81
|
+
var chunkLC7HFDCV_cjs = require('../chunk-LC7HFDCV.cjs');
|
|
73
82
|
var chunkY37HQ4M2_cjs = require('../chunk-Y37HQ4M2.cjs');
|
|
74
83
|
require('../chunk-I4IS6ST6.cjs');
|
|
75
84
|
var chunkRFIBUWLF_cjs = require('../chunk-RFIBUWLF.cjs');
|
|
76
|
-
var
|
|
85
|
+
var chunkLHQHK6MB_cjs = require('../chunk-LHQHK6MB.cjs');
|
|
77
86
|
require('../chunk-3YEXZX4H.cjs');
|
|
78
|
-
var
|
|
87
|
+
var chunk5S2N6HSA_cjs = require('../chunk-5S2N6HSA.cjs');
|
|
79
88
|
var chunk4PA6VCCR_cjs = require('../chunk-4PA6VCCR.cjs');
|
|
80
89
|
require('../chunk-SIB6C7P7.cjs');
|
|
81
90
|
require('../chunk-DVUZTGVL.cjs');
|
|
@@ -84,44 +93,35 @@ require('../chunk-AHDJXIUB.cjs');
|
|
|
84
93
|
var chunk6UZC4XVV_cjs = require('../chunk-6UZC4XVV.cjs');
|
|
85
94
|
require('../chunk-FRQME5XS.cjs');
|
|
86
95
|
var chunkLKK52DEY_cjs = require('../chunk-LKK52DEY.cjs');
|
|
96
|
+
require('../chunk-IN6ILI5A.cjs');
|
|
97
|
+
require('../chunk-P6TPVQRU.cjs');
|
|
98
|
+
var chunk555BS22J_cjs = require('../chunk-555BS22J.cjs');
|
|
99
|
+
require('../chunk-75BNMCUX.cjs');
|
|
100
|
+
require('../chunk-32HW2Q33.cjs');
|
|
101
|
+
var chunkFX3K6LNZ_cjs = require('../chunk-FX3K6LNZ.cjs');
|
|
87
102
|
var chunkU2FFG2B3_cjs = require('../chunk-U2FFG2B3.cjs');
|
|
88
103
|
var chunkVYJF4ZQY_cjs = require('../chunk-VYJF4ZQY.cjs');
|
|
89
104
|
var chunkM74FWYNL_cjs = require('../chunk-M74FWYNL.cjs');
|
|
90
105
|
var chunkW3PSIIMN_cjs = require('../chunk-W3PSIIMN.cjs');
|
|
91
106
|
var chunkQUMUAJ2P_cjs = require('../chunk-QUMUAJ2P.cjs');
|
|
92
107
|
var chunkVZOOGA47_cjs = require('../chunk-VZOOGA47.cjs');
|
|
93
|
-
var
|
|
94
|
-
var
|
|
95
|
-
require('../chunk-
|
|
96
|
-
require('../chunk-
|
|
108
|
+
var chunkL6DAJUDF_cjs = require('../chunk-L6DAJUDF.cjs');
|
|
109
|
+
var chunkQOV564TW_cjs = require('../chunk-QOV564TW.cjs');
|
|
110
|
+
require('../chunk-D76PIWFN.cjs');
|
|
111
|
+
require('../chunk-MA4RZFYH.cjs');
|
|
97
112
|
var chunkLUBZHVZK_cjs = require('../chunk-LUBZHVZK.cjs');
|
|
98
113
|
var chunkXCZYMSDV_cjs = require('../chunk-XCZYMSDV.cjs');
|
|
99
114
|
var chunkMOIZ2R5X_cjs = require('../chunk-MOIZ2R5X.cjs');
|
|
100
115
|
var chunkLUO46ELJ_cjs = require('../chunk-LUO46ELJ.cjs');
|
|
101
|
-
var chunkSJSGSHIT_cjs = require('../chunk-SJSGSHIT.cjs');
|
|
102
|
-
var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
|
|
103
|
-
var chunk5SXODQEV_cjs = require('../chunk-5SXODQEV.cjs');
|
|
104
|
-
require('../chunk-DO6OJ2F3.cjs');
|
|
105
|
-
require('../chunk-4OFHXOMA.cjs');
|
|
106
|
-
var chunk3UP6ZOH7_cjs = require('../chunk-3UP6ZOH7.cjs');
|
|
107
|
-
var chunkGBXZPBTK_cjs = require('../chunk-GBXZPBTK.cjs');
|
|
108
|
-
var chunkONUY3NPW_cjs = require('../chunk-ONUY3NPW.cjs');
|
|
109
|
-
require('../chunk-Z2XZ2D4N.cjs');
|
|
110
|
-
var chunkMCXS6X37_cjs = require('../chunk-MCXS6X37.cjs');
|
|
111
|
-
var chunkEOCBELNK_cjs = require('../chunk-EOCBELNK.cjs');
|
|
112
|
-
require('../chunk-YZSQ7F5K.cjs');
|
|
113
|
-
require('../chunk-KQF7POTG.cjs');
|
|
114
|
-
require('../chunk-IN6ILI5A.cjs');
|
|
115
|
-
require('../chunk-P6TPVQRU.cjs');
|
|
116
|
-
var chunk555BS22J_cjs = require('../chunk-555BS22J.cjs');
|
|
117
|
-
require('../chunk-75BNMCUX.cjs');
|
|
118
|
-
require('../chunk-32HW2Q33.cjs');
|
|
119
|
-
var chunkUFEXJIEY_cjs = require('../chunk-UFEXJIEY.cjs');
|
|
120
|
-
var chunkFX3K6LNZ_cjs = require('../chunk-FX3K6LNZ.cjs');
|
|
121
116
|
var chunkC5YZWJCC_cjs = require('../chunk-C5YZWJCC.cjs');
|
|
122
117
|
require('../chunk-MCD5TKG7.cjs');
|
|
123
118
|
var chunk725OETK3_cjs = require('../chunk-725OETK3.cjs');
|
|
119
|
+
var chunkSJSGSHIT_cjs = require('../chunk-SJSGSHIT.cjs');
|
|
120
|
+
var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
|
|
124
121
|
require('../chunk-PPCATBOY.cjs');
|
|
122
|
+
var chunkMNIQDXM6_cjs = require('../chunk-MNIQDXM6.cjs');
|
|
123
|
+
var chunkDVZ3QW3O_cjs = require('../chunk-DVZ3QW3O.cjs');
|
|
124
|
+
var chunkUFEXJIEY_cjs = require('../chunk-UFEXJIEY.cjs');
|
|
125
125
|
var chunk25AIWOR6_cjs = require('../chunk-25AIWOR6.cjs');
|
|
126
126
|
var chunkD3PWVA7Y_cjs = require('../chunk-D3PWVA7Y.cjs');
|
|
127
127
|
var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
|
|
@@ -234,7 +234,7 @@ function ConnectedWorkspaceActivity({
|
|
|
234
234
|
[feed.data]
|
|
235
235
|
);
|
|
236
236
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
237
|
-
|
|
237
|
+
chunkUFGC77KR_cjs.WorkspaceActivityList,
|
|
238
238
|
{
|
|
239
239
|
...listProps,
|
|
240
240
|
items,
|
|
@@ -939,7 +939,7 @@ function NotificationCenter({
|
|
|
939
939
|
}
|
|
940
940
|
];
|
|
941
941
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full bg-background", "data-testid": "notifications-page", children: [
|
|
942
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
942
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.DraggableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
943
943
|
chunkSJSGSHIT_cjs.TabHeader,
|
|
944
944
|
{
|
|
945
945
|
tabs,
|
|
@@ -1061,7 +1061,7 @@ function WorkspaceBadge({ workspace }) {
|
|
|
1061
1061
|
ui.ShieldIcon,
|
|
1062
1062
|
{
|
|
1063
1063
|
char: workspace.name.charAt(0),
|
|
1064
|
-
workspaceColor:
|
|
1064
|
+
workspaceColor: chunkWV6RHIFP_cjs.workspaceKindColor(react.getWorkspaceKind(workspace)),
|
|
1065
1065
|
size: 16
|
|
1066
1066
|
}
|
|
1067
1067
|
),
|
|
@@ -1365,7 +1365,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1365
1365
|
onChange: (e) => {
|
|
1366
1366
|
const file = e.target.files?.[0];
|
|
1367
1367
|
e.target.value = "";
|
|
1368
|
-
if (file) void add(() =>
|
|
1368
|
+
if (file) void add(() => chunkLC7HFDCV_cjs.importSkillFile(file));
|
|
1369
1369
|
}
|
|
1370
1370
|
}
|
|
1371
1371
|
),
|
|
@@ -1390,7 +1390,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1390
1390
|
className: "space-y-2",
|
|
1391
1391
|
onSubmit: (e) => {
|
|
1392
1392
|
e.preventDefault();
|
|
1393
|
-
if (url.trim()) void add(() =>
|
|
1393
|
+
if (url.trim()) void add(() => chunkLC7HFDCV_cjs.importSkillFromUrl(url));
|
|
1394
1394
|
},
|
|
1395
1395
|
children: [
|
|
1396
1396
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
|
|
@@ -1453,9 +1453,9 @@ function ConnectedSkillsLibrary({
|
|
|
1453
1453
|
const [type, setType] = react$1.useState("all");
|
|
1454
1454
|
const [view, setView] = react$1.useState("gallery");
|
|
1455
1455
|
const [isBusy, setIsBusy] = react$1.useState(false);
|
|
1456
|
-
const all = react$1.useMemo(() =>
|
|
1456
|
+
const all = react$1.useMemo(() => chunkLC7HFDCV_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
|
|
1457
1457
|
const shown = react$1.useMemo(
|
|
1458
|
-
() =>
|
|
1458
|
+
() => chunkLC7HFDCV_cjs.filterLibrarySkills(all, { query, source, type }),
|
|
1459
1459
|
[all, query, source, type]
|
|
1460
1460
|
);
|
|
1461
1461
|
const current = all.find((s) => s.slug === selected) ?? null;
|
|
@@ -1466,21 +1466,21 @@ function ConnectedSkillsLibrary({
|
|
|
1466
1466
|
const count2 = (s) => all.filter((x) => x.source === s).length;
|
|
1467
1467
|
const sourceOptions = [
|
|
1468
1468
|
{ id: "all", label: "All", count: all.length },
|
|
1469
|
-
{ id: "builtin", label:
|
|
1470
|
-
{ id: "mine", label:
|
|
1471
|
-
{ id: "shared", label:
|
|
1469
|
+
{ id: "builtin", label: chunkLC7HFDCV_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
|
|
1470
|
+
{ id: "mine", label: chunkLC7HFDCV_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
|
|
1471
|
+
{ id: "shared", label: chunkLC7HFDCV_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
|
|
1472
1472
|
];
|
|
1473
1473
|
const types = [...new Set(all.map((s) => s.type))];
|
|
1474
1474
|
const typeOptions = [
|
|
1475
1475
|
{ id: "all", label: "Any kind" },
|
|
1476
|
-
...types.map((t) => ({ id: t, label:
|
|
1476
|
+
...types.map((t) => ({ id: t, label: chunkLC7HFDCV_cjs.SKILL_TYPE_LABELS[t] ?? t }))
|
|
1477
1477
|
];
|
|
1478
1478
|
const pick = (slug) => {
|
|
1479
1479
|
setSelected(slug);
|
|
1480
1480
|
setMode("detail");
|
|
1481
1481
|
};
|
|
1482
1482
|
const markdownOf = async (skill) => {
|
|
1483
|
-
if (!skill.docExtId) return
|
|
1483
|
+
if (!skill.docExtId) return chunkLC7HFDCV_cjs.workflowToSkillMarkdown(skill.workflow);
|
|
1484
1484
|
const response = await arbi.documents.download(skill.docExtId);
|
|
1485
1485
|
if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
|
|
1486
1486
|
return response.text();
|
|
@@ -1544,7 +1544,7 @@ function ConnectedSkillsLibrary({
|
|
|
1544
1544
|
try {
|
|
1545
1545
|
documentTools.downloadBlob(
|
|
1546
1546
|
new Blob([await markdownOf(skill)], { type: "text/markdown" }),
|
|
1547
|
-
|
|
1547
|
+
chunkLC7HFDCV_cjs.SKILL_MAIN_FILENAME
|
|
1548
1548
|
);
|
|
1549
1549
|
} catch (error) {
|
|
1550
1550
|
notify17(errorText(error, "Could not export the skill"), "error");
|
|
@@ -1585,10 +1585,10 @@ function ConnectedSkillsLibrary({
|
|
|
1585
1585
|
}
|
|
1586
1586
|
)
|
|
1587
1587
|
] }),
|
|
1588
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1588
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.SkillViewToggle, { value: view, onChange: setView })
|
|
1589
1589
|
] }),
|
|
1590
1590
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1591
|
-
|
|
1591
|
+
chunkLC7HFDCV_cjs.SkillFilterChips,
|
|
1592
1592
|
{
|
|
1593
1593
|
label: "Show",
|
|
1594
1594
|
value: source,
|
|
@@ -1597,7 +1597,7 @@ function ConnectedSkillsLibrary({
|
|
|
1597
1597
|
}
|
|
1598
1598
|
),
|
|
1599
1599
|
types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1600
|
-
|
|
1600
|
+
chunkLC7HFDCV_cjs.SkillFilterChips,
|
|
1601
1601
|
{
|
|
1602
1602
|
label: "Kind",
|
|
1603
1603
|
value: type,
|
|
@@ -1644,12 +1644,12 @@ function ConnectedSkillsLibrary({
|
|
|
1644
1644
|
view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
|
|
1645
1645
|
),
|
|
1646
1646
|
children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1647
|
-
|
|
1647
|
+
chunkLC7HFDCV_cjs.SkillTile,
|
|
1648
1648
|
{
|
|
1649
1649
|
name: skill.title,
|
|
1650
1650
|
testId: `skill-tile-${skill.slug}`,
|
|
1651
1651
|
description: skill.description,
|
|
1652
|
-
sourceLabel: skill.isShared ? `${
|
|
1652
|
+
sourceLabel: skill.isShared ? `${chunkLC7HFDCV_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkLC7HFDCV_cjs.SKILL_SOURCE_LABELS[skill.source],
|
|
1653
1653
|
type: skill.type,
|
|
1654
1654
|
icon,
|
|
1655
1655
|
layout: view,
|
|
@@ -1684,7 +1684,7 @@ function ConnectedSkillsLibrary({
|
|
|
1684
1684
|
}
|
|
1685
1685
|
),
|
|
1686
1686
|
mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1687
|
-
|
|
1687
|
+
chunkLC7HFDCV_cjs.SkillGenerateForm,
|
|
1688
1688
|
{
|
|
1689
1689
|
icon,
|
|
1690
1690
|
onGenerate: (desc) => {
|
|
@@ -1711,11 +1711,11 @@ function ConnectedSkillsLibrary({
|
|
|
1711
1711
|
),
|
|
1712
1712
|
mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
|
|
1713
1713
|
mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1714
|
-
|
|
1714
|
+
chunkLC7HFDCV_cjs.SkillLibraryDetail,
|
|
1715
1715
|
{
|
|
1716
1716
|
skill: current,
|
|
1717
1717
|
icon,
|
|
1718
|
-
instructions: current.docExtId ? currentText ?
|
|
1718
|
+
instructions: current.docExtId ? currentText ? chunkLC7HFDCV_cjs.parseSkillFrontmatter(currentText, chunkLC7HFDCV_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
|
|
1719
1719
|
isLoading: !!current.docExtId && textLoading,
|
|
1720
1720
|
actions: {
|
|
1721
1721
|
onRun: () => onRun(current.slug),
|
|
@@ -1750,7 +1750,7 @@ function SkillEditor({
|
|
|
1750
1750
|
const [seeded, setSeeded] = react$1.useState(!isEditing);
|
|
1751
1751
|
const [nameError, setNameError] = react$1.useState(null);
|
|
1752
1752
|
if (isEditing && !seeded && text2 !== void 0) {
|
|
1753
|
-
const parsed =
|
|
1753
|
+
const parsed = chunkLC7HFDCV_cjs.parseSkillFrontmatter(text2, chunkLC7HFDCV_cjs.SKILL_MAIN_FILENAME);
|
|
1754
1754
|
setDescription(parsed.description ?? "");
|
|
1755
1755
|
setBody(parsed.content ?? "");
|
|
1756
1756
|
setSeeded(true);
|
|
@@ -1764,15 +1764,15 @@ function SkillEditor({
|
|
|
1764
1764
|
notify17("Add a short description.", "error");
|
|
1765
1765
|
return;
|
|
1766
1766
|
}
|
|
1767
|
-
const slug =
|
|
1767
|
+
const slug = chunkLC7HFDCV_cjs.skillSlug(name);
|
|
1768
1768
|
try {
|
|
1769
|
-
await onSave(slug,
|
|
1769
|
+
await onSave(slug, chunkLC7HFDCV_cjs.serializeSkill({ name: slug, description, body }), isEditing);
|
|
1770
1770
|
} catch (err) {
|
|
1771
1771
|
notify17(errorText(err, "Could not save the skill"), "error");
|
|
1772
1772
|
}
|
|
1773
1773
|
};
|
|
1774
1774
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1775
|
-
|
|
1775
|
+
chunkLC7HFDCV_cjs.SkillEditForm,
|
|
1776
1776
|
{
|
|
1777
1777
|
name,
|
|
1778
1778
|
onNameChange: setName,
|
|
@@ -1811,7 +1811,7 @@ var DEFAULT_CONNECTED_SKILLS_BROWSER_LABELS = {
|
|
|
1811
1811
|
function ConnectedSkillsBrowser({
|
|
1812
1812
|
props,
|
|
1813
1813
|
onClose: close,
|
|
1814
|
-
builtins =
|
|
1814
|
+
builtins = chunkLC7HFDCV_cjs.BUILTIN_SKILLS,
|
|
1815
1815
|
renderEditor,
|
|
1816
1816
|
labels
|
|
1817
1817
|
}) {
|
|
@@ -1864,7 +1864,7 @@ function ConnectedSkillsBrowser({
|
|
|
1864
1864
|
}
|
|
1865
1865
|
) }),
|
|
1866
1866
|
runSkillId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1867
|
-
|
|
1867
|
+
chunk5V7JWZQ4_cjs.ConnectedTaskComposer,
|
|
1868
1868
|
{
|
|
1869
1869
|
kind: "workflow",
|
|
1870
1870
|
open: true,
|
|
@@ -1888,9 +1888,9 @@ function ConnectedAgentCreator({
|
|
|
1888
1888
|
agent,
|
|
1889
1889
|
initialName,
|
|
1890
1890
|
onSaved,
|
|
1891
|
-
capabilities =
|
|
1892
|
-
templates =
|
|
1893
|
-
types =
|
|
1891
|
+
capabilities = chunkLC7HFDCV_cjs.DEFAULT_AGENT_CAPABILITIES,
|
|
1892
|
+
templates = chunkLC7HFDCV_cjs.DEFAULT_AGENT_TEMPLATES,
|
|
1893
|
+
types = chunkLC7HFDCV_cjs.DEFAULT_AGENT_TYPES,
|
|
1894
1894
|
canRevokeWorkspaces = false,
|
|
1895
1895
|
labels
|
|
1896
1896
|
}) {
|
|
@@ -1932,7 +1932,7 @@ function ConnectedAgentCreator({
|
|
|
1932
1932
|
const initialValues = react$1.useMemo(
|
|
1933
1933
|
() => ({
|
|
1934
1934
|
name: agent?.given_name ?? initialName ?? "",
|
|
1935
|
-
persona: isEdit ?
|
|
1935
|
+
persona: isEdit ? chunkLC7HFDCV_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
|
|
1936
1936
|
modelName: String(agents.AGENT_MODEL_NAME ?? ""),
|
|
1937
1937
|
capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
|
|
1938
1938
|
type: "builtin",
|
|
@@ -1951,7 +1951,7 @@ function ConnectedAgentCreator({
|
|
|
1951
1951
|
try {
|
|
1952
1952
|
let agentExtId = agent?.external_id ?? early?.id ?? "";
|
|
1953
1953
|
if (!agentExtId) {
|
|
1954
|
-
if (!
|
|
1954
|
+
if (!chunkLC7HFDCV_cjs.isValidAgentName(values.name)) {
|
|
1955
1955
|
notify17("Give the agent a name first.", "error");
|
|
1956
1956
|
return;
|
|
1957
1957
|
}
|
|
@@ -1987,7 +1987,7 @@ function ConnectedAgentCreator({
|
|
|
1987
1987
|
title: `agent-${name}`,
|
|
1988
1988
|
sections: {
|
|
1989
1989
|
Agents: {
|
|
1990
|
-
PERSONA:
|
|
1990
|
+
PERSONA: chunkLC7HFDCV_cjs.composePersona(name, values.persona),
|
|
1991
1991
|
...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
|
|
1992
1992
|
...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
|
|
1993
1993
|
ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
|
|
@@ -2010,7 +2010,7 @@ function ConnectedAgentCreator({
|
|
|
2010
2010
|
};
|
|
2011
2011
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2012
2012
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2013
|
-
|
|
2013
|
+
chunkLC7HFDCV_cjs.AgentCreator,
|
|
2014
2014
|
{
|
|
2015
2015
|
open: ready,
|
|
2016
2016
|
onOpenChange,
|
|
@@ -2026,11 +2026,11 @@ function ConnectedAgentCreator({
|
|
|
2026
2026
|
) : void 0,
|
|
2027
2027
|
revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
|
|
2028
2028
|
avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2029
|
-
|
|
2029
|
+
chunkLC7HFDCV_cjs.AgentAvatarField,
|
|
2030
2030
|
{
|
|
2031
2031
|
picture,
|
|
2032
2032
|
isBusy: avatarBusy,
|
|
2033
|
-
canGenerate: isEdit ||
|
|
2033
|
+
canGenerate: isEdit || chunkLC7HFDCV_cjs.isValidAgentName(values.name),
|
|
2034
2034
|
onGenerate: () => handleGenerateAvatar(values)
|
|
2035
2035
|
}
|
|
2036
2036
|
),
|
|
@@ -2082,7 +2082,7 @@ function ConnectedAgentCreator({
|
|
|
2082
2082
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
|
|
2083
2083
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
|
|
2084
2084
|
] }),
|
|
2085
|
-
connect && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2085
|
+
connect && /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
|
|
2086
2086
|
]
|
|
2087
2087
|
}
|
|
2088
2088
|
) })
|
|
@@ -2229,7 +2229,7 @@ function AgentChat({ agentId, workspaceId, onOpenFull }) {
|
|
|
2229
2229
|
placeholder: "Ask your agent\u2026",
|
|
2230
2230
|
conversations: "Agent chats"
|
|
2231
2231
|
},
|
|
2232
|
-
renderContent: (message) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2232
|
+
renderContent: (message) => /* @__PURE__ */ jsxRuntime.jsx(chunkQYRPFPQ7_cjs.DocumentWorkspaceContext.Provider, { value: workspaceId, children: /* @__PURE__ */ jsxRuntime.jsx(chunkQYRPFPQ7_cjs.ConnectedMarkdown, { isStreaming: message.status === "streaming", children: message.content }) })
|
|
2233
2233
|
}
|
|
2234
2234
|
)
|
|
2235
2235
|
] });
|
|
@@ -2474,7 +2474,7 @@ function useMemoryCount(enabled) {
|
|
|
2474
2474
|
}
|
|
2475
2475
|
function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
|
|
2476
2476
|
const { notify: notify17, openConversation, openDocument } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
2477
|
-
const people =
|
|
2477
|
+
const people = chunk5V7JWZQ4_cjs.useTaskPeople();
|
|
2478
2478
|
const canEditShared = react.useCanEditShared();
|
|
2479
2479
|
const isWorkspaceOwner = react.useIsWorkspaceOwner();
|
|
2480
2480
|
const { data: workflows = [] } = react.useWorkflows({ live: true });
|
|
@@ -2500,7 +2500,7 @@ function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
|
|
|
2500
2500
|
}, [documents]);
|
|
2501
2501
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2502
2502
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2503
|
-
|
|
2503
|
+
chunkLC7HFDCV_cjs.TaskTable,
|
|
2504
2504
|
{
|
|
2505
2505
|
tasks,
|
|
2506
2506
|
isLoading,
|
|
@@ -2527,7 +2527,7 @@ function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
|
|
|
2527
2527
|
}
|
|
2528
2528
|
),
|
|
2529
2529
|
activityFor && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2530
|
-
|
|
2530
|
+
chunk5V7JWZQ4_cjs.ConnectedTaskActivityDialog,
|
|
2531
2531
|
{
|
|
2532
2532
|
conversationId: activityFor.external_id,
|
|
2533
2533
|
taskName: activityFor.title || l.untitledTask,
|
|
@@ -2543,7 +2543,7 @@ function AgentsLauncher({ workflows, renderIcon, labels: l, testId }) {
|
|
|
2543
2543
|
const { notify: notify17, openConversation } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
2544
2544
|
const { workspaceId, ensureWorkspaceOpen } = chunkXCZYMSDV_cjs.useConnectedWorkspace();
|
|
2545
2545
|
const { data: skills = [] } = react.useSkills({ enabled: !!workspaceId, live: true });
|
|
2546
|
-
const workflowTasks =
|
|
2546
|
+
const workflowTasks = chunk5V7JWZQ4_cjs.useWorkflowTasks();
|
|
2547
2547
|
const launchable = react$1.useMemo(
|
|
2548
2548
|
() => [
|
|
2549
2549
|
...workflows,
|
|
@@ -2566,7 +2566,7 @@ function AgentsLauncher({ workflows, renderIcon, labels: l, testId }) {
|
|
|
2566
2566
|
[workflows, skills, l.skillFiles]
|
|
2567
2567
|
);
|
|
2568
2568
|
const launch = async ({ workflow, inputs, agentId }) => {
|
|
2569
|
-
const values =
|
|
2569
|
+
const values = chunkLC7HFDCV_cjs.defaultTaskComposerValues(launchable, {
|
|
2570
2570
|
workflowId: workflow.id,
|
|
2571
2571
|
assignee: "agent",
|
|
2572
2572
|
inputs,
|
|
@@ -2587,7 +2587,7 @@ function AgentsLauncher({ workflows, renderIcon, labels: l, testId }) {
|
|
|
2587
2587
|
}
|
|
2588
2588
|
};
|
|
2589
2589
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2590
|
-
|
|
2590
|
+
chunkUHP6AP6C_cjs.ConnectedWorkflowLauncher,
|
|
2591
2591
|
{
|
|
2592
2592
|
workflows: launchable,
|
|
2593
2593
|
onLaunch: launch,
|
|
@@ -2686,7 +2686,7 @@ function ConnectedAgentsPageScope(props) {
|
|
|
2686
2686
|
children,
|
|
2687
2687
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentCreator, { ...management.editorProps, ...agentOptions.creator }),
|
|
2688
2688
|
taskDialog && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2689
|
-
|
|
2689
|
+
chunk5V7JWZQ4_cjs.ConnectedTaskComposer,
|
|
2690
2690
|
{
|
|
2691
2691
|
open: true,
|
|
2692
2692
|
onOpenChange: (open) => !open && setTaskDialog(null),
|
|
@@ -2708,7 +2708,7 @@ function AgentsGallery() {
|
|
|
2708
2708
|
cardTestIds
|
|
2709
2709
|
} = agentOptions;
|
|
2710
2710
|
const { openConversation } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
2711
|
-
const tasksByAgent = react$1.useMemo(() =>
|
|
2711
|
+
const tasksByAgent = react$1.useMemo(() => chunkLC7HFDCV_cjs.groupAgentTasks(tasks), [tasks]);
|
|
2712
2712
|
const behaviour = useAgentBehaviour(l.defaultBehaviour, details.includes("behaviour"));
|
|
2713
2713
|
const { agents } = management;
|
|
2714
2714
|
const cardDetails = (agent) => details.map(
|
|
@@ -2723,7 +2723,7 @@ function AgentsGallery() {
|
|
|
2723
2723
|
) : 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)
|
|
2724
2724
|
);
|
|
2725
2725
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2726
|
-
|
|
2726
|
+
chunkLC7HFDCV_cjs.AgentGallery,
|
|
2727
2727
|
{
|
|
2728
2728
|
count: agents.length,
|
|
2729
2729
|
onCreate: management.create,
|
|
@@ -2733,9 +2733,9 @@ function AgentsGallery() {
|
|
|
2733
2733
|
const agentTasks = tasksByAgent.get(agent.external_id) ?? [];
|
|
2734
2734
|
const running = agentTasks.filter((t) => t.in_progress);
|
|
2735
2735
|
const watchConversationId = running[0]?.external_id ?? null;
|
|
2736
|
-
const progress = agentTasks[0] ?
|
|
2736
|
+
const progress = agentTasks[0] ? chunkLC7HFDCV_cjs.goalProgress(agentTasks[0]) : null;
|
|
2737
2737
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2738
|
-
|
|
2738
|
+
chunkLC7HFDCV_cjs.AgentCard,
|
|
2739
2739
|
{
|
|
2740
2740
|
name: displayName(agent),
|
|
2741
2741
|
avatar: /* @__PURE__ */ jsxRuntime.jsx(AgentInitialsAvatar, { agent }),
|
|
@@ -2843,7 +2843,7 @@ function AgentsSectionBody({ id }) {
|
|
|
2843
2843
|
) });
|
|
2844
2844
|
case "scheduled":
|
|
2845
2845
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-[min(32rem,70dvh)] min-h-64 flex-col", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2846
|
-
|
|
2846
|
+
chunkUHP6AP6C_cjs.ConnectedWorkflowsTable,
|
|
2847
2847
|
{
|
|
2848
2848
|
filter: "scheduled",
|
|
2849
2849
|
onEdit: (w) => openWorkflow?.(w.external_id),
|
|
@@ -2905,7 +2905,7 @@ function ConnectedAgentsPage({
|
|
|
2905
2905
|
className: "flex h-full flex-col",
|
|
2906
2906
|
"data-testid": scope.testIds?.root ?? DEFAULT_TEST_IDS.root,
|
|
2907
2907
|
children: [
|
|
2908
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2908
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.DraggableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2909
2909
|
chunkSJSGSHIT_cjs.TabHeader,
|
|
2910
2910
|
{
|
|
2911
2911
|
tabs: [
|
|
@@ -3017,10 +3017,10 @@ function cascadeTagCombination(tags, previous, next) {
|
|
|
3017
3017
|
function tagCombinationMatches(combination, items) {
|
|
3018
3018
|
if (!isCombining(combination)) return void 0;
|
|
3019
3019
|
const pass = (list) => new Set(
|
|
3020
|
-
|
|
3020
|
+
chunkQB7PNQDJ_cjs.applyInvertedIndexFilter(
|
|
3021
3021
|
[...list],
|
|
3022
3022
|
combination,
|
|
3023
|
-
|
|
3023
|
+
chunkQB7PNQDJ_cjs.buildInvertedIndex(
|
|
3024
3024
|
[...list],
|
|
3025
3025
|
(item) => item.id,
|
|
3026
3026
|
(item) => item.tagIds
|
|
@@ -3147,7 +3147,7 @@ function ConnectedTagTable({
|
|
|
3147
3147
|
const fail2 = (fallback) => (e) => notify17(browser.refusalReason(e, fallback), "error");
|
|
3148
3148
|
const snapshot2 = (data) => {
|
|
3149
3149
|
const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
|
|
3150
|
-
const bytes =
|
|
3150
|
+
const bytes = chunkUFGC77KR_cjs.tagTableDocx(data, {
|
|
3151
3151
|
title,
|
|
3152
3152
|
nameOf: (id) => people.find((p) => p.value === id)?.label
|
|
3153
3153
|
});
|
|
@@ -3156,7 +3156,7 @@ function ConnectedTagTable({
|
|
|
3156
3156
|
return { blob: new Blob([bytes], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }), name };
|
|
3157
3157
|
};
|
|
3158
3158
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3159
|
-
|
|
3159
|
+
chunkUFGC77KR_cjs.TagTable,
|
|
3160
3160
|
{
|
|
3161
3161
|
...props,
|
|
3162
3162
|
table,
|
|
@@ -3294,9 +3294,9 @@ function GlossaryExport({ labelId, nameOf }) {
|
|
|
3294
3294
|
const narrowed = agreements.find((a) => a.id === narrowTo);
|
|
3295
3295
|
const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
|
|
3296
3296
|
const download = (format) => {
|
|
3297
|
-
const entries =
|
|
3298
|
-
const blob = format === "docx" ? new Blob([
|
|
3299
|
-
documentTools.downloadBlob(blob,
|
|
3297
|
+
const entries = chunkUFGC77KR_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
|
|
3298
|
+
const blob = format === "docx" ? new Blob([chunkUFGC77KR_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunkUFGC77KR_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
|
|
3299
|
+
documentTools.downloadBlob(blob, chunkUFGC77KR_cjs.glossaryFileName(title, format));
|
|
3300
3300
|
};
|
|
3301
3301
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
|
|
3302
3302
|
agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3715,7 +3715,7 @@ function TagFilterChips({
|
|
|
3715
3715
|
const name = (id) => tags.find((t) => t.external_id === id)?.name ?? id;
|
|
3716
3716
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", "data-testid": "tags-filter-chips", children: [
|
|
3717
3717
|
set.map(([id, state]) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3718
|
-
|
|
3718
|
+
chunkQB7PNQDJ_cjs.FilterChip,
|
|
3719
3719
|
{
|
|
3720
3720
|
label: name(id),
|
|
3721
3721
|
labelContent: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3781,7 +3781,7 @@ function KindSection({
|
|
|
3781
3781
|
{
|
|
3782
3782
|
testId: `tags-kind-${kind}`,
|
|
3783
3783
|
title: ui.tagKindTitle(kind, { plural: true }),
|
|
3784
|
-
description:
|
|
3784
|
+
description: chunkUFGC77KR_cjs.tagKindDescription(kind),
|
|
3785
3785
|
children: [
|
|
3786
3786
|
browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3787
3787
|
"p",
|
|
@@ -3791,9 +3791,9 @@ function KindSection({
|
|
|
3791
3791
|
children: [
|
|
3792
3792
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
|
|
3793
3793
|
"Extracting ",
|
|
3794
|
-
|
|
3794
|
+
chunkUFGC77KR_cjs.entitiesPhrase().toLowerCase(),
|
|
3795
3795
|
" from ",
|
|
3796
|
-
|
|
3796
|
+
chunkUFGC77KR_cjs.documentCount(extractingCount),
|
|
3797
3797
|
"\u2026"
|
|
3798
3798
|
]
|
|
3799
3799
|
}
|
|
@@ -3811,7 +3811,7 @@ function KindSection({
|
|
|
3811
3811
|
onOpenTag: ctx.onOpenTag,
|
|
3812
3812
|
onOpenRow: ctx.onOpenTag,
|
|
3813
3813
|
onOpenTaggedItems: ctx.onOpenTaggedItems,
|
|
3814
|
-
labels:
|
|
3814
|
+
labels: chunkUFGC77KR_cjs.tagTableLabels(kind),
|
|
3815
3815
|
testId: `tags-table-${kind}`
|
|
3816
3816
|
}
|
|
3817
3817
|
)
|
|
@@ -3921,15 +3921,15 @@ function TagSection({
|
|
|
3921
3921
|
onOpenTag: ctx.onOpenTag,
|
|
3922
3922
|
onOpenRow: ctx.onOpenTag,
|
|
3923
3923
|
onOpenTaggedItems: ctx.onOpenTaggedItems,
|
|
3924
|
-
labels:
|
|
3924
|
+
labels: chunkUFGC77KR_cjs.tagTableLabels(tag.kind),
|
|
3925
3925
|
testId: "tags-rows"
|
|
3926
3926
|
}
|
|
3927
3927
|
),
|
|
3928
3928
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3929
|
-
|
|
3929
|
+
chunkUFGC77KR_cjs.TagDetail,
|
|
3930
3930
|
{
|
|
3931
3931
|
onOpenTaggedItems: ctx.onOpenTaggedItems,
|
|
3932
|
-
fieldLabels:
|
|
3932
|
+
fieldLabels: chunkUFGC77KR_cjs.tagTableLabels(tag.kind),
|
|
3933
3933
|
row: ctx.onOpenTaggedItems ? detailRow : detailRow && narrowTagRow(detailRow, ctx.filter.matches),
|
|
3934
3934
|
fields: schema.data?.fields ?? [],
|
|
3935
3935
|
isLoading: detail.isLoading,
|
|
@@ -3940,10 +3940,10 @@ function TagSection({
|
|
|
3940
3940
|
onOpenDocument: (id) => openDocument(id),
|
|
3941
3941
|
onOpenFact: ctx.onOpenFact,
|
|
3942
3942
|
onOpenThread: (id) => openConversation(id),
|
|
3943
|
-
noteLabel:
|
|
3943
|
+
noteLabel: chunkUFGC77KR_cjs.tagNoteLabel(tag.kind),
|
|
3944
3944
|
noteIsValue: tag.kind === "annotation",
|
|
3945
3945
|
renderPassages: (d, label) => renderPassages(d.doc_ext_id, label),
|
|
3946
|
-
labels:
|
|
3946
|
+
labels: chunkUFGC77KR_cjs.tagDetailLabels(),
|
|
3947
3947
|
testId: "tags-detail"
|
|
3948
3948
|
}
|
|
3949
3949
|
)
|
|
@@ -4014,7 +4014,7 @@ function ConnectedTagsPage({
|
|
|
4014
4014
|
const onDelete = async (t) => {
|
|
4015
4015
|
const nested = browser.getChildTags([...tags], t.external_id);
|
|
4016
4016
|
const uses = browser.tagUseCount(t);
|
|
4017
|
-
const n2 =
|
|
4017
|
+
const n2 = chunkUFGC77KR_cjs.tagsPageNouns();
|
|
4018
4018
|
const tagNoun = (count2) => (count2 === 1 ? n2.tag : n2.tags).toLowerCase();
|
|
4019
4019
|
const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
|
|
4020
4020
|
const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
|
|
@@ -4035,11 +4035,11 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4035
4035
|
try {
|
|
4036
4036
|
await extract.mutateAsync(docIds);
|
|
4037
4037
|
notify17(
|
|
4038
|
-
`Extracting ${
|
|
4038
|
+
`Extracting ${chunkUFGC77KR_cjs.entitiesPhrase().toLowerCase()} from ${chunkUFGC77KR_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
|
|
4039
4039
|
"info"
|
|
4040
4040
|
);
|
|
4041
4041
|
} catch (error) {
|
|
4042
|
-
notify17(browser.refusalReason(error, `Could not extract ${
|
|
4042
|
+
notify17(browser.refusalReason(error, `Could not extract ${chunkUFGC77KR_cjs.entitiesPhrase().toLowerCase()}`), "error");
|
|
4043
4043
|
throw error;
|
|
4044
4044
|
}
|
|
4045
4045
|
};
|
|
@@ -4054,10 +4054,10 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4054
4054
|
onOpenFact,
|
|
4055
4055
|
onOpenTaggedItems
|
|
4056
4056
|
};
|
|
4057
|
-
const n =
|
|
4057
|
+
const n = chunkUFGC77KR_cjs.tagsPageNouns();
|
|
4058
4058
|
const action = view === "person" || view === "organisation" ? {
|
|
4059
4059
|
label: "Extract",
|
|
4060
|
-
title: `Extract ${
|
|
4060
|
+
title: `Extract ${chunkUFGC77KR_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
|
|
4061
4061
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
|
|
4062
4062
|
run: () => setExtracting(true),
|
|
4063
4063
|
testId: "tags-extract-entities"
|
|
@@ -4232,7 +4232,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4232
4232
|
}
|
|
4233
4233
|
),
|
|
4234
4234
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4235
|
-
|
|
4235
|
+
chunkUFGC77KR_cjs.ExtractEntitiesDialog,
|
|
4236
4236
|
{
|
|
4237
4237
|
open: extracting,
|
|
4238
4238
|
onOpenChange: setExtracting,
|
|
@@ -5027,10 +5027,10 @@ function useFactFilters(notes, view, chat) {
|
|
|
5027
5027
|
);
|
|
5028
5028
|
const setFactFilters = view.setFilters;
|
|
5029
5029
|
const quickFilteredNotes = react$1.useMemo(
|
|
5030
|
-
() =>
|
|
5030
|
+
() => chunkQB7PNQDJ_cjs.applyInvertedIndexFilter(
|
|
5031
5031
|
notes,
|
|
5032
5032
|
factFilters,
|
|
5033
|
-
|
|
5033
|
+
chunkQB7PNQDJ_cjs.buildInvertedIndex(
|
|
5034
5034
|
notes,
|
|
5035
5035
|
(f) => f.external_id,
|
|
5036
5036
|
(f) => Object.entries(getFactFilterAttributes(f)).filter(([id, on]) => on && factFilterIds.includes(id)).map(([id]) => id)
|
|
@@ -5924,7 +5924,7 @@ function ConnectedExportPanel({
|
|
|
5924
5924
|
ui.ShieldIcon,
|
|
5925
5925
|
{
|
|
5926
5926
|
char: w.name.charAt(0),
|
|
5927
|
-
workspaceColor:
|
|
5927
|
+
workspaceColor: chunkWV6RHIFP_cjs.workspaceKindColor(react.getWorkspaceKind(w)),
|
|
5928
5928
|
size: 32,
|
|
5929
5929
|
isSelected: false
|
|
5930
5930
|
}
|
|
@@ -6111,7 +6111,7 @@ function OpenExportDialog({
|
|
|
6111
6111
|
ui.ShieldIcon,
|
|
6112
6112
|
{
|
|
6113
6113
|
char: workspace.name.charAt(0),
|
|
6114
|
-
workspaceColor:
|
|
6114
|
+
workspaceColor: chunkWV6RHIFP_cjs.workspaceKindColor(react.getWorkspaceKind(workspace)),
|
|
6115
6115
|
size: 20,
|
|
6116
6116
|
isSelected: false
|
|
6117
6117
|
}
|
|
@@ -6324,7 +6324,7 @@ function ConnectedFactsPage({
|
|
|
6324
6324
|
onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
|
|
6325
6325
|
navSlotRef: setNavSlot,
|
|
6326
6326
|
navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6327
|
-
|
|
6327
|
+
chunkUFGC77KR_cjs.GridRowNavigator,
|
|
6328
6328
|
{
|
|
6329
6329
|
gridApi,
|
|
6330
6330
|
selectedId: editingId,
|
|
@@ -6598,7 +6598,7 @@ function useConnectedShellWorkspaces(options2 = {}) {
|
|
|
6598
6598
|
function ConnectedSsoDisconnect() {
|
|
6599
6599
|
const { client } = react.useAccountClient();
|
|
6600
6600
|
const { data: profile } = react.useProfile();
|
|
6601
|
-
const auth =
|
|
6601
|
+
const auth = chunkOAEJME5Q_cjs.useAuthPages();
|
|
6602
6602
|
const { notify: notify17 } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
6603
6603
|
const [open, setOpen] = react$1.useState(false);
|
|
6604
6604
|
const [step, setStep] = react$1.useState("email");
|
|
@@ -6743,7 +6743,7 @@ function ConnectedBoxPortalSection() {
|
|
|
6743
6743
|
function ServerConnectionRow({ onRefresh, ...status }) {
|
|
6744
6744
|
const { runtimeConfig } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
6745
6745
|
const [isRefreshing, setIsRefreshing] = react$1.useState(false);
|
|
6746
|
-
const view =
|
|
6746
|
+
const view = chunkQB7PNQDJ_cjs.serverConnectionView(status, runtimeConfig.deploymentDomain || "server");
|
|
6747
6747
|
const refresh = async () => {
|
|
6748
6748
|
setIsRefreshing(true);
|
|
6749
6749
|
try {
|
|
@@ -6753,7 +6753,7 @@ function ServerConnectionRow({ onRefresh, ...status }) {
|
|
|
6753
6753
|
}
|
|
6754
6754
|
};
|
|
6755
6755
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsRow, { label: "Server connection", description: view.description, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6756
|
-
|
|
6756
|
+
chunkQB7PNQDJ_cjs.ServerConnectionButton,
|
|
6757
6757
|
{
|
|
6758
6758
|
state: view.state,
|
|
6759
6759
|
label: view.label,
|
|
@@ -6777,15 +6777,15 @@ function ConnectedAccountSettings({
|
|
|
6777
6777
|
}) {
|
|
6778
6778
|
const [logoutOpen, setLogoutOpen] = react$1.useState(false);
|
|
6779
6779
|
return /* @__PURE__ */ jsxRuntime.jsxs(chunkQQMMCXBP_cjs.SettingsPanel, { className: "max-w-2xl", children: [
|
|
6780
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6780
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedProfileCard, { avatarClassName, nameBadge: profileBadge }),
|
|
6781
6781
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedBoxPortalSection, {}),
|
|
6782
6782
|
afterProfile,
|
|
6783
6783
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkQQMMCXBP_cjs.SettingsDisclosure, { title: "More", testId: "account-more-settings", children: [
|
|
6784
6784
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedSsoDisconnect, {}),
|
|
6785
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6785
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedSecuritySection, { children: securityRows }),
|
|
6786
6786
|
moreSettings,
|
|
6787
6787
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6788
|
-
|
|
6788
|
+
chunkOAEJME5Q_cjs.ConnectedIdentityVerification,
|
|
6789
6789
|
{
|
|
6790
6790
|
collapsible: true,
|
|
6791
6791
|
onManageBilling,
|
|
@@ -6795,7 +6795,7 @@ function ConnectedAccountSettings({
|
|
|
6795
6795
|
] }),
|
|
6796
6796
|
/* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Wifi, {}), title: "Session", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkQQMMCXBP_cjs.SettingsCard, { children: [
|
|
6797
6797
|
connection && /* @__PURE__ */ jsxRuntime.jsx(ServerConnectionRow, { ...connection }),
|
|
6798
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6798
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedSessionsRow, { renderSessionIcon }),
|
|
6799
6799
|
/* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsRow, { label: "Logout", description: "Sign out of your account on this device.", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6800
6800
|
ui.Button,
|
|
6801
6801
|
{
|
|
@@ -6812,9 +6812,9 @@ function ConnectedAccountSettings({
|
|
|
6812
6812
|
}
|
|
6813
6813
|
) })
|
|
6814
6814
|
] }) }),
|
|
6815
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6815
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedDangerZone, { renderSubscriptionLink }),
|
|
6816
6816
|
!onLogout && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6817
|
-
|
|
6817
|
+
chunkOAEJME5Q_cjs.ConnectedLogoutDialog,
|
|
6818
6818
|
{
|
|
6819
6819
|
open: logoutOpen,
|
|
6820
6820
|
onClose: () => setLogoutOpen(false),
|
|
@@ -7122,7 +7122,7 @@ function ConnectedPrivacySettings({
|
|
|
7122
7122
|
}
|
|
7123
7123
|
)
|
|
7124
7124
|
] }) }),
|
|
7125
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7125
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedNotificationPreferences, {})
|
|
7126
7126
|
] });
|
|
7127
7127
|
}
|
|
7128
7128
|
var PROVIDER_NAMES = {
|
|
@@ -7163,13 +7163,13 @@ var COLUMNS = [
|
|
|
7163
7163
|
flex: 1,
|
|
7164
7164
|
minWidth: 120,
|
|
7165
7165
|
cellRenderer: (params) => isStandard(params.data) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7166
|
-
|
|
7166
|
+
chunkQB7PNQDJ_cjs.ModelProviderLabel,
|
|
7167
7167
|
{
|
|
7168
7168
|
logo: /* @__PURE__ */ jsxRuntime.jsx(ui.ArbiIcon, { size: 14, "aria-label": "ARBI", className: "flex-shrink-0 rounded-sm" }),
|
|
7169
7169
|
children: "ARBI CITY"
|
|
7170
7170
|
}
|
|
7171
7171
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
7172
|
-
|
|
7172
|
+
chunkQB7PNQDJ_cjs.ModelProviderLabel,
|
|
7173
7173
|
{
|
|
7174
7174
|
logo: /* @__PURE__ */ jsxRuntime.jsx(ui.ProviderIcon, { modelName: params.data?.model_name, provider: params.value, size: 14 }),
|
|
7175
7175
|
children: PROVIDER_NAMES[params.value ?? ""] || params.value || "\u2014"
|
|
@@ -7246,7 +7246,7 @@ function ConnectedPremiumModels() {
|
|
|
7246
7246
|
);
|
|
7247
7247
|
if (premiumModels.length === 0) return null;
|
|
7248
7248
|
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(
|
|
7249
|
-
|
|
7249
|
+
chunkQB7PNQDJ_cjs.PremiumModelsFrame,
|
|
7250
7250
|
{
|
|
7251
7251
|
enabled: premiumModel !== "",
|
|
7252
7252
|
onEnabledChange: (enabled) => {
|
|
@@ -7574,10 +7574,10 @@ function ConnectedAppsSettings({
|
|
|
7574
7574
|
}
|
|
7575
7575
|
};
|
|
7576
7576
|
if (isLoading) {
|
|
7577
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7577
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.ConnectionsLoading, { message: "Loading connected apps\u2026" });
|
|
7578
7578
|
}
|
|
7579
7579
|
if (catalogError) {
|
|
7580
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7580
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.ConnectionsError, { message: "Failed to load connector catalog. Please refresh and try again." });
|
|
7581
7581
|
}
|
|
7582
7582
|
const visibleCatalog = catalog.filter((c) => isVendorVisible(c.vendor_key));
|
|
7583
7583
|
const sharePointVisible = isVendorVisible("microsoft_sharepoint");
|
|
@@ -7586,7 +7586,7 @@ function ConnectedAppsSettings({
|
|
|
7586
7586
|
(c) => !react.isMailboxSyncVendor(c.vendor_key) && !react.isSharePointVendor(c.vendor_key)
|
|
7587
7587
|
);
|
|
7588
7588
|
const renderCard = (entry) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7589
|
-
|
|
7589
|
+
chunkQB7PNQDJ_cjs.ConnectionCard,
|
|
7590
7590
|
{
|
|
7591
7591
|
connection: toConnectionCardView(entry, connectedByVendor[entry.vendor_key], {
|
|
7592
7592
|
isDisconnecting: disconnect.isPending && disconnect.variables?.vendorKey === entry.vendor_key,
|
|
@@ -7714,7 +7714,7 @@ function ConnectedAppsSettings({
|
|
|
7714
7714
|
}
|
|
7715
7715
|
)
|
|
7716
7716
|
] }),
|
|
7717
|
-
catalog.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsCard, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7717
|
+
catalog.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsCard, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.ConnectionsEmpty, { message: "No connectors available yet." }) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
7718
7718
|
renderGroup("Email & Drive", EMAIL_AND_DRIVE_SUBTITLE, /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, {}), emailCatalog),
|
|
7719
7719
|
renderGroup(
|
|
7720
7720
|
"Apps & Integrations (MCP)",
|
|
@@ -8167,7 +8167,7 @@ function ConnectedStorageProjectCard({
|
|
|
8167
8167
|
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." })
|
|
8168
8168
|
] }),
|
|
8169
8169
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8170
|
-
|
|
8170
|
+
chunkQB7PNQDJ_cjs.UsageToggle,
|
|
8171
8171
|
{
|
|
8172
8172
|
value: view,
|
|
8173
8173
|
onChange: setView,
|
|
@@ -8252,7 +8252,7 @@ function ConnectedStorageProjectCard({
|
|
|
8252
8252
|
] })
|
|
8253
8253
|
] }),
|
|
8254
8254
|
view === "largest" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
8255
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8255
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.UsageToggle, { value: kind, onChange: setKind, options: KIND_FILTERS, ariaLabel: "Kind" }),
|
|
8256
8256
|
largest.isLoading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "Loading\u2026" }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
8257
8257
|
StorageItemsTable,
|
|
8258
8258
|
{
|
|
@@ -8511,7 +8511,7 @@ function ConnectedSettingsPage({
|
|
|
8511
8511
|
}, [requested]);
|
|
8512
8512
|
const controlled = section !== void 0;
|
|
8513
8513
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8514
|
-
|
|
8514
|
+
chunkQB7PNQDJ_cjs.SettingsPage,
|
|
8515
8515
|
{
|
|
8516
8516
|
...page,
|
|
8517
8517
|
sections,
|
|
@@ -8543,7 +8543,7 @@ function UsageSettings({ icon: icon2 }) {
|
|
|
8543
8543
|
description: "AI usage today, in \xA3 (ex VAT).",
|
|
8544
8544
|
testId: "settings-usage",
|
|
8545
8545
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8546
|
-
|
|
8546
|
+
chunkQB7PNQDJ_cjs.UsageSummary,
|
|
8547
8547
|
{
|
|
8548
8548
|
stats: [
|
|
8549
8549
|
{
|
|
@@ -8644,7 +8644,7 @@ function AppearanceSection({
|
|
|
8644
8644
|
description,
|
|
8645
8645
|
testId: appearance ? "settings-appearance-theme" : "settings-appearance",
|
|
8646
8646
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8647
|
-
|
|
8647
|
+
chunkJUP5PCLB_cjs.ThemeEditor,
|
|
8648
8648
|
{
|
|
8649
8649
|
bundle: theme,
|
|
8650
8650
|
variant: "collapsed",
|
|
@@ -8661,7 +8661,7 @@ function ReaderAppearance({ bundle }) {
|
|
|
8661
8661
|
const { defaults } = bundle;
|
|
8662
8662
|
const isDefault = state.pairingId === defaults.pairingId && state.colorScheme === defaults.colorScheme && state.textSize === defaults.textSize;
|
|
8663
8663
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8664
|
-
|
|
8664
|
+
chunkQB7PNQDJ_cjs.AppearanceSettings,
|
|
8665
8665
|
{
|
|
8666
8666
|
colorScheme: state.colorScheme,
|
|
8667
8667
|
onColorSchemeChange: state.setColorScheme,
|
|
@@ -8722,7 +8722,7 @@ function SwitchRow({ row: row2 }) {
|
|
|
8722
8722
|
const { on, set } = react.useFeatureSwitch(row2.feature);
|
|
8723
8723
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
8724
8724
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8725
|
-
|
|
8725
|
+
chunkQB7PNQDJ_cjs.SettingsSwitchRow,
|
|
8726
8726
|
{
|
|
8727
8727
|
id: row2.id ?? row2.feature,
|
|
8728
8728
|
testId: row2.testId ?? `toggle-${row2.feature}`,
|
|
@@ -8733,14 +8733,14 @@ function SwitchRow({ row: row2 }) {
|
|
|
8733
8733
|
onCheckedChange: set
|
|
8734
8734
|
}
|
|
8735
8735
|
),
|
|
8736
|
-
on && row2.rows && row2.rows.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
8736
|
+
on && row2.rows && row2.rows.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SettingsSwitchGroup, { children: row2.rows.map((sub) => /* @__PURE__ */ jsxRuntime.jsx(FeatureRow, { row: sub }, sub.feature)) })
|
|
8737
8737
|
] });
|
|
8738
8738
|
}
|
|
8739
8739
|
function CallsRow({ row: row2 }) {
|
|
8740
8740
|
const { on, set } = react.useFeatureSwitch(row2.feature);
|
|
8741
|
-
const state =
|
|
8741
|
+
const state = chunkQB7PNQDJ_cjs.callsSwitchState(react.useCallsConfig(), on);
|
|
8742
8742
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8743
|
-
|
|
8743
|
+
chunkQB7PNQDJ_cjs.SettingsSwitchRow,
|
|
8744
8744
|
{
|
|
8745
8745
|
id: row2.id ?? row2.feature,
|
|
8746
8746
|
testId: row2.testId ?? `toggle-${row2.feature}`,
|
|
@@ -8871,7 +8871,7 @@ function ConnectedDeploymentStorage() {
|
|
|
8871
8871
|
deployment.unattributed_bytes > 0 && ` \xB7 ${chunk2VJBIBPE_cjs.formatBytes(deployment.unattributed_bytes)} not owned by any ${ui.entityNoun("PROJECT")}`
|
|
8872
8872
|
] }),
|
|
8873
8873
|
trend.dates.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
8874
|
-
|
|
8874
|
+
chunkQB7PNQDJ_cjs.UsageLineChart,
|
|
8875
8875
|
{
|
|
8876
8876
|
dates: trend.dates,
|
|
8877
8877
|
series: trend.series,
|
|
@@ -8880,7 +8880,7 @@ function ConnectedDeploymentStorage() {
|
|
|
8880
8880
|
}
|
|
8881
8881
|
),
|
|
8882
8882
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8883
|
-
|
|
8883
|
+
chunkQB7PNQDJ_cjs.UsageToggle,
|
|
8884
8884
|
{
|
|
8885
8885
|
value: view,
|
|
8886
8886
|
onChange: setView,
|
|
@@ -9346,7 +9346,7 @@ function ConnectedWorkspaceEntity({
|
|
|
9346
9346
|
...shieldProps
|
|
9347
9347
|
}) {
|
|
9348
9348
|
const name = workspace.name;
|
|
9349
|
-
const workspaceColor =
|
|
9349
|
+
const workspaceColor = chunkWV6RHIFP_cjs.workspaceKindColor(react.getWorkspaceKind(workspace));
|
|
9350
9350
|
const shield = /* @__PURE__ */ jsxRuntime.jsx(
|
|
9351
9351
|
ui.ShieldIcon,
|
|
9352
9352
|
{
|
|
@@ -9612,7 +9612,7 @@ function ConnectedPeopleMultiSelect({
|
|
|
9612
9612
|
identity: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9613
9613
|
selected.user ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9614
9614
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9615
|
-
|
|
9615
|
+
chunkOAEJME5Q_cjs.ConnectedUserEntity,
|
|
9616
9616
|
{
|
|
9617
9617
|
user: selected.user,
|
|
9618
9618
|
size: "xs",
|
|
@@ -9640,7 +9640,7 @@ function ConnectedPeopleMultiSelect({
|
|
|
9640
9640
|
}
|
|
9641
9641
|
),
|
|
9642
9642
|
person.user ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
9643
|
-
|
|
9643
|
+
chunkOAEJME5Q_cjs.ConnectedUserEntity,
|
|
9644
9644
|
{
|
|
9645
9645
|
user: person.user,
|
|
9646
9646
|
size: "xs",
|
|
@@ -9913,13 +9913,13 @@ function ConnectedWorkspaceSettings({
|
|
|
9913
9913
|
const [membersExpanded, setMembersExpanded] = react$1.useState(false);
|
|
9914
9914
|
const [shareOpen, setShareOpen] = react$1.useState(false);
|
|
9915
9915
|
if (!workspace) {
|
|
9916
|
-
return /* @__PURE__ */ jsxRuntime.jsx(chunkFKFGRGKF_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9916
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFKFGRGKF_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkUFGC77KR_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
|
|
9917
9917
|
}
|
|
9918
9918
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9919
9919
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkFKFGRGKF_cjs.WorkspacePageFrame, { testId, children: [
|
|
9920
9920
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkFKFGRGKF_cjs.WorkspaceIdentityPanel, { children: [
|
|
9921
9921
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9922
|
-
|
|
9922
|
+
chunkUFGC77KR_cjs.EntityIdentityBar,
|
|
9923
9923
|
{
|
|
9924
9924
|
testId: "workspace-identity-bar",
|
|
9925
9925
|
canEdit: isOwner,
|
|
@@ -9936,12 +9936,12 @@ function ConnectedWorkspaceSettings({
|
|
|
9936
9936
|
label: "Name",
|
|
9937
9937
|
value: workspace.name,
|
|
9938
9938
|
placeholder: "Untitled",
|
|
9939
|
-
maxLength:
|
|
9939
|
+
maxLength: chunkUFGC77KR_cjs.IDENTITY_NAME_MAX_LENGTH,
|
|
9940
9940
|
valueClassName: "truncate text-base font-semibold",
|
|
9941
9941
|
testId: "workspace-home-title",
|
|
9942
9942
|
hideLabel: true,
|
|
9943
9943
|
leading: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9944
|
-
|
|
9944
|
+
chunkWV6RHIFP_cjs.WorkspaceIdentity,
|
|
9945
9945
|
{
|
|
9946
9946
|
workspace: {
|
|
9947
9947
|
...react.toShellWorkspace(workspace),
|
|
@@ -10227,20 +10227,20 @@ function ConnectedEmailWorkspaceDialog({
|
|
|
10227
10227
|
else if (activeSession)
|
|
10228
10228
|
access = {
|
|
10229
10229
|
kind: "session",
|
|
10230
|
-
expiresIn:
|
|
10230
|
+
expiresIn: chunkQB7PNQDJ_cjs.formatSessionTtl(activeSession.ttl),
|
|
10231
10231
|
isEnding: terminateSession.isPending,
|
|
10232
10232
|
onEnd: handleEndSession
|
|
10233
10233
|
};
|
|
10234
10234
|
else
|
|
10235
10235
|
access = {
|
|
10236
10236
|
kind: "idle",
|
|
10237
|
-
defaultTtl: limits ?
|
|
10237
|
+
defaultTtl: limits ? chunkQB7PNQDJ_cjs.formatSessionTtl(limits.default_ttl_seconds) : void 0,
|
|
10238
10238
|
isAuthorizing: grantAgentAccess.isPending && grantAgentAccess.variables?.mode?.kind === "temporary",
|
|
10239
10239
|
onAuthorize: handleAuthorize
|
|
10240
10240
|
};
|
|
10241
10241
|
}
|
|
10242
10242
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10243
|
-
|
|
10243
|
+
chunkQB7PNQDJ_cjs.EmailWorkspaceDialogView,
|
|
10244
10244
|
{
|
|
10245
10245
|
open,
|
|
10246
10246
|
onOpenChange,
|
|
@@ -10790,7 +10790,7 @@ function StripeCheckoutModal({
|
|
|
10790
10790
|
const [clientSecret, setClientSecret] = react$1.useState(null);
|
|
10791
10791
|
const [isCreating, setIsCreating] = react$1.useState(false);
|
|
10792
10792
|
const [stripe, setStripe] = react$1.useState(null);
|
|
10793
|
-
const { stripeEnabled, checkout } =
|
|
10793
|
+
const { stripeEnabled, checkout } = chunkORIOOXUU_cjs.useBillingSupport();
|
|
10794
10794
|
const createCheckout = react.useCreateProjectCheckout();
|
|
10795
10795
|
const refreshProject = react.useRefreshProject();
|
|
10796
10796
|
const invalidateProjects = react.useInvalidateProjects();
|
|
@@ -10819,7 +10819,7 @@ function StripeCheckoutModal({
|
|
|
10819
10819
|
projectExtId,
|
|
10820
10820
|
body: {
|
|
10821
10821
|
interval,
|
|
10822
|
-
packs:
|
|
10822
|
+
packs: chunkORIOOXUU_cjs.PRO_PACKS,
|
|
10823
10823
|
ai_blocks: aiBlocks,
|
|
10824
10824
|
storage_blocks: storageBlocks,
|
|
10825
10825
|
addon_budget_pence: addonBudgetPence,
|
|
@@ -10835,7 +10835,7 @@ function StripeCheckoutModal({
|
|
|
10835
10835
|
},
|
|
10836
10836
|
onError: (error) => {
|
|
10837
10837
|
console.error("Failed to create checkout session:", error);
|
|
10838
|
-
const reason =
|
|
10838
|
+
const reason = chunkORIOOXUU_cjs.apiErrorDetail(error)?.message;
|
|
10839
10839
|
shell.notify.error(
|
|
10840
10840
|
reason ? `Checkout didn't start: ${reason}` : "Checkout didn't start. Try again."
|
|
10841
10841
|
);
|
|
@@ -10868,9 +10868,9 @@ function StripeCheckoutModal({
|
|
|
10868
10868
|
}
|
|
10869
10869
|
}, [open]);
|
|
10870
10870
|
const isStripeConfigured = stripeEnabled;
|
|
10871
|
-
const vatNote = quote ? `${
|
|
10871
|
+
const vatNote = quote ? `${chunkORIOOXUU_cjs.checkoutItemsLabel(aiBlocks, storageBlocks)} \xB7 ${chunkORIOOXUU_cjs.quoteTotalLine(quote)}` : null;
|
|
10872
10872
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10873
|
-
|
|
10873
|
+
chunkQB7PNQDJ_cjs.CheckoutDialogFrame,
|
|
10874
10874
|
{
|
|
10875
10875
|
open,
|
|
10876
10876
|
onOpenChange,
|
|
@@ -10880,7 +10880,7 @@ function StripeCheckoutModal({
|
|
|
10880
10880
|
children: clientSecret && !!stripe && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
10881
10881
|
vatNote && /* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "checkout-vat-note", className: "mb-4 text-sm text-muted-foreground", children: vatNote }),
|
|
10882
10882
|
checkout?.render(stripe, { clientSecret, onComplete: handleComplete }),
|
|
10883
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10883
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.MoreInfo, { title: "Paying", label: "Payment help", testId: "checkout-payment-help", children: [
|
|
10884
10884
|
/* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "checkout-decline-note", children: "Card declined? Nothing was charged. Try again or use another card." }),
|
|
10885
10885
|
/* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "checkout-vat-id-note", children: "No VAT number? Leave \u2018purchasing as a business\u2019 unticked." }),
|
|
10886
10886
|
/* @__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." })
|
|
@@ -10922,31 +10922,31 @@ function defaultBillingCountry(languages = typeof navigator === "undefined" ? []
|
|
|
10922
10922
|
}
|
|
10923
10923
|
var choiceForPacks = (packs) => packs > 0 ? "pro" : "free";
|
|
10924
10924
|
function proCard(selected, isAnnual, prices) {
|
|
10925
|
-
const packs =
|
|
10925
|
+
const packs = chunkORIOOXUU_cjs.PLAN_CHOICE_PACKS.pro;
|
|
10926
10926
|
const currency = prices.monthly?.currency ?? prices.annual?.currency ?? "gbp";
|
|
10927
|
-
const monthly =
|
|
10928
|
-
const annual =
|
|
10927
|
+
const monthly = chunkORIOOXUU_cjs.packPrice(prices.monthly, packs);
|
|
10928
|
+
const annual = chunkORIOOXUU_cjs.packPrice(prices.annual, packs);
|
|
10929
10929
|
const current = isAnnual ? annual : monthly;
|
|
10930
10930
|
const effectiveMonthly = current ? isAnnual ? current.amount_ex_vat / 12 : current.amount_ex_vat : null;
|
|
10931
10931
|
return {
|
|
10932
10932
|
id: packs,
|
|
10933
|
-
name:
|
|
10933
|
+
name: chunkORIOOXUU_cjs.planNameForPacks(packs),
|
|
10934
10934
|
isSelected: selected === "pro",
|
|
10935
10935
|
price: current && effectiveMonthly != null ? {
|
|
10936
10936
|
annual: isAnnual,
|
|
10937
|
-
yearlyStrike: isAnnual && monthly && monthly.amount_ex_vat * 12 > current.amount_ex_vat ?
|
|
10938
|
-
yearlyTotal: isAnnual ?
|
|
10937
|
+
yearlyStrike: isAnnual && monthly && monthly.amount_ex_vat * 12 > current.amount_ex_vat ? chunkORIOOXUU_cjs.formatMoney(monthly.amount_ex_vat * 12, currency) : void 0,
|
|
10938
|
+
yearlyTotal: isAnnual ? chunkORIOOXUU_cjs.formatMoney(current.amount_ex_vat, currency) : void 0,
|
|
10939
10939
|
intervalLabel: isAnnual ? "/yr + VAT" : "/mo",
|
|
10940
|
-
monthly:
|
|
10940
|
+
monthly: chunkORIOOXUU_cjs.formatMoney(Math.round(effectiveMonthly), currency),
|
|
10941
10941
|
taxLabel: "+ VAT",
|
|
10942
10942
|
// The inclusive figure for a UK customer, right under the headline.
|
|
10943
|
-
note: `${
|
|
10943
|
+
note: `${chunkORIOOXUU_cjs.formatMoney(current.amount, currency)}${isAnnual ? "/yr" : "/mo"} incl. UK VAT`
|
|
10944
10944
|
} : void 0,
|
|
10945
10945
|
features: [
|
|
10946
|
-
`${react.formatGbp(
|
|
10947
|
-
`${
|
|
10946
|
+
`${react.formatGbp(chunkORIOOXUU_cjs.PRO_AI_GBP)} of AI usage / month`,
|
|
10947
|
+
`${chunkORIOOXUU_cjs.PRO_STORAGE_GB} GB storage`,
|
|
10948
10948
|
"Unlimited collaborators",
|
|
10949
|
-
...isAnnual ? [
|
|
10949
|
+
...isAnnual ? [chunkORIOOXUU_cjs.ANNUAL_PREMIUM_AI_NOTE] : []
|
|
10950
10950
|
]
|
|
10951
10951
|
};
|
|
10952
10952
|
}
|
|
@@ -10958,9 +10958,9 @@ function buildPlanCards(selected, isAnnual, prices, isOnFree) {
|
|
|
10958
10958
|
isCurrent: isOnFree,
|
|
10959
10959
|
isSelected: selected === "free" && !isOnFree,
|
|
10960
10960
|
features: [
|
|
10961
|
-
`${react.formatGbp(
|
|
10962
|
-
`${
|
|
10963
|
-
|
|
10961
|
+
`${react.formatGbp(chunkORIOOXUU_cjs.FREE_AI_GBP)} of AI usage / month`,
|
|
10962
|
+
`${chunkORIOOXUU_cjs.FREE_STORAGE_MB.toLocaleString("en-US")} MB storage`,
|
|
10963
|
+
chunkORIOOXUU_cjs.FREE_COLLABORATORS === 0 ? "Just you" : `${chunkORIOOXUU_cjs.FREE_COLLABORATORS} collaborators`
|
|
10964
10964
|
]
|
|
10965
10965
|
};
|
|
10966
10966
|
return [free, proCard(selected, isAnnual, prices)];
|
|
@@ -10973,7 +10973,7 @@ function PlanChoiceCards({
|
|
|
10973
10973
|
isOnFree = false
|
|
10974
10974
|
}) {
|
|
10975
10975
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10976
|
-
|
|
10976
|
+
chunkQB7PNQDJ_cjs.PlanCardGrid,
|
|
10977
10977
|
{
|
|
10978
10978
|
plans: buildPlanCards(selected, isAnnual, prices, isOnFree),
|
|
10979
10979
|
onSelect: (id) => onSelect(choiceForPacks(id))
|
|
@@ -10982,13 +10982,13 @@ function PlanChoiceCards({
|
|
|
10982
10982
|
}
|
|
10983
10983
|
function PlanInfoPopover2() {
|
|
10984
10984
|
const { openSettings } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
10985
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10985
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanInfoPopover, { onOpenModelList: () => openSettings("chat") });
|
|
10986
10986
|
}
|
|
10987
10987
|
function CheckoutAddonBudget({
|
|
10988
10988
|
value,
|
|
10989
10989
|
onChange
|
|
10990
10990
|
}) {
|
|
10991
|
-
const budget =
|
|
10991
|
+
const budget = chunkORIOOXUU_cjs.parseBudgetPounds(value);
|
|
10992
10992
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10993
10993
|
"div",
|
|
10994
10994
|
{
|
|
@@ -11011,7 +11011,7 @@ function CheckoutAddonBudget({
|
|
|
11011
11011
|
step: 25,
|
|
11012
11012
|
className: "h-8 w-24",
|
|
11013
11013
|
value,
|
|
11014
|
-
placeholder: String(
|
|
11014
|
+
placeholder: String(chunkORIOOXUU_cjs.DEFAULT_SPEND_CAP_PENCE / 100),
|
|
11015
11015
|
onChange: (e) => onChange(e.target.value),
|
|
11016
11016
|
"aria-invalid": budget === void 0,
|
|
11017
11017
|
"data-testid": "checkout-addon-budget-input"
|
|
@@ -11029,7 +11029,7 @@ function BlockStepper({
|
|
|
11029
11029
|
onChange,
|
|
11030
11030
|
testId
|
|
11031
11031
|
}) {
|
|
11032
|
-
const set = (n) => onChange(Math.max(0, Math.min(
|
|
11032
|
+
const set = (n) => onChange(Math.max(0, Math.min(chunkORIOOXUU_cjs.MAX_CHECKOUT_BLOCKS, n)));
|
|
11033
11033
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11034
11034
|
"div",
|
|
11035
11035
|
{
|
|
@@ -11073,7 +11073,7 @@ function BlockStepper({
|
|
|
11073
11073
|
className: "size-8",
|
|
11074
11074
|
"aria-label": `More: ${label}`,
|
|
11075
11075
|
onClick: () => set(value + 1),
|
|
11076
|
-
disabled: value >=
|
|
11076
|
+
disabled: value >= chunkORIOOXUU_cjs.MAX_CHECKOUT_BLOCKS,
|
|
11077
11077
|
"data-testid": `${testId}-increment`,
|
|
11078
11078
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-4" })
|
|
11079
11079
|
}
|
|
@@ -11090,8 +11090,8 @@ function CheckoutAddonBlocks({
|
|
|
11090
11090
|
onStorageBlocksChange,
|
|
11091
11091
|
price
|
|
11092
11092
|
}) {
|
|
11093
|
-
const ai =
|
|
11094
|
-
const storage =
|
|
11093
|
+
const ai = chunkORIOOXUU_cjs.addonPrice(price, "ai_usage");
|
|
11094
|
+
const storage = chunkORIOOXUU_cjs.addonPrice(price, "storage");
|
|
11095
11095
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11096
11096
|
"div",
|
|
11097
11097
|
{
|
|
@@ -11101,8 +11101,8 @@ function CheckoutAddonBlocks({
|
|
|
11101
11101
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11102
11102
|
BlockStepper,
|
|
11103
11103
|
{
|
|
11104
|
-
label: `+${react.formatGbp(ai?.ai_gbp ||
|
|
11105
|
-
priceText:
|
|
11104
|
+
label: `+${react.formatGbp(ai?.ai_gbp || chunkORIOOXUU_cjs.ADDON_BLOCK_AI_GBP)} of AI usage`,
|
|
11105
|
+
priceText: chunkORIOOXUU_cjs.checkoutBlockPriceText(price, "ai_usage"),
|
|
11106
11106
|
value: aiBlocks,
|
|
11107
11107
|
onChange: onAiBlocksChange,
|
|
11108
11108
|
testId: "checkout-ai-blocks"
|
|
@@ -11111,8 +11111,8 @@ function CheckoutAddonBlocks({
|
|
|
11111
11111
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11112
11112
|
BlockStepper,
|
|
11113
11113
|
{
|
|
11114
|
-
label: `+${storage?.storage_gb ||
|
|
11115
|
-
priceText:
|
|
11114
|
+
label: `+${storage?.storage_gb || chunkORIOOXUU_cjs.STORAGE_BLOCK_GB} GB storage`,
|
|
11115
|
+
priceText: chunkORIOOXUU_cjs.checkoutBlockPriceText(price, "storage"),
|
|
11116
11116
|
value: storageBlocks,
|
|
11117
11117
|
onChange: onStorageBlocksChange,
|
|
11118
11118
|
testId: "checkout-storage-blocks"
|
|
@@ -11174,7 +11174,7 @@ function CheckoutTotal({
|
|
|
11174
11174
|
className: "text-sm font-medium text-foreground",
|
|
11175
11175
|
"data-testid": "checkout-total",
|
|
11176
11176
|
"aria-live": "polite",
|
|
11177
|
-
children: state.quote && !state.isLoading ?
|
|
11177
|
+
children: state.quote && !state.isLoading ? chunkORIOOXUU_cjs.quoteTotalLine(state.quote) : state.isLoading ? "Calculating total\u2026" : state.error
|
|
11178
11178
|
}
|
|
11179
11179
|
)
|
|
11180
11180
|
] });
|
|
@@ -11207,13 +11207,13 @@ function useCheckoutQuote({
|
|
|
11207
11207
|
...aiBlocks || storageBlocks ? { addons: { ai_usage: aiBlocks, storage: storageBlocks } } : {}
|
|
11208
11208
|
} : null
|
|
11209
11209
|
);
|
|
11210
|
-
const { code, message } = query.isError ?
|
|
11211
|
-
const locationInvalid = code ===
|
|
11210
|
+
const { code, message } = query.isError ? chunkORIOOXUU_cjs.quoteError(query.error) : {};
|
|
11211
|
+
const locationInvalid = code === chunkORIOOXUU_cjs.TAX_LOCATION_INVALID;
|
|
11212
11212
|
const isLoading = enabled && (query.isLoading || postal !== postalCode.trim());
|
|
11213
11213
|
return {
|
|
11214
11214
|
quote: query.data,
|
|
11215
11215
|
isLoading,
|
|
11216
|
-
showPostcode:
|
|
11216
|
+
showPostcode: chunkORIOOXUU_cjs.POSTCODE_COUNTRIES.includes(country) || locationInvalid || postalCode !== "",
|
|
11217
11217
|
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,
|
|
11218
11218
|
canContinue: !isLoading && (!!query.data || query.isError && !locationInvalid)
|
|
11219
11219
|
};
|
|
@@ -11244,14 +11244,14 @@ function ConnectedReferralRewardSummary({
|
|
|
11244
11244
|
if (!reward) return null;
|
|
11245
11245
|
const applied = totalCents != null && currency ? applyReferralReward(totalCents, reward, currency) : null;
|
|
11246
11246
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11247
|
-
|
|
11247
|
+
chunkQB7PNQDJ_cjs.ReferralRewardSummary,
|
|
11248
11248
|
{
|
|
11249
|
-
amountLabel:
|
|
11249
|
+
amountLabel: chunkORIOOXUU_cjs.formatMoney(reward.amount, reward.currency),
|
|
11250
11250
|
breakdown: applied && totalCents != null && currency ? {
|
|
11251
|
-
subtotal:
|
|
11252
|
-
reward:
|
|
11253
|
-
youPay:
|
|
11254
|
-
rollover: applied.remaining > 0 ?
|
|
11251
|
+
subtotal: chunkORIOOXUU_cjs.formatMoney(totalCents, currency),
|
|
11252
|
+
reward: chunkORIOOXUU_cjs.formatMoney(applied.bonus, currency),
|
|
11253
|
+
youPay: chunkORIOOXUU_cjs.formatMoney(applied.youPay, currency),
|
|
11254
|
+
rollover: applied.remaining > 0 ? chunkORIOOXUU_cjs.formatMoney(applied.remaining, currency) : void 0
|
|
11255
11255
|
} : void 0
|
|
11256
11256
|
}
|
|
11257
11257
|
);
|
|
@@ -11259,10 +11259,10 @@ function ConnectedReferralRewardSummary({
|
|
|
11259
11259
|
function ConnectedReferralRewardNote() {
|
|
11260
11260
|
const reward = useReferralReward();
|
|
11261
11261
|
if (!reward) return null;
|
|
11262
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11262
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.ReferralRewardNote, { amountLabel: chunkORIOOXUU_cjs.formatMoney(reward.amount, reward.currency) });
|
|
11263
11263
|
}
|
|
11264
11264
|
function createProjectErrorMessage(error, fallback = `Failed to create ${ui.entityNoun("PROJECT")}`) {
|
|
11265
|
-
const detail =
|
|
11265
|
+
const detail = chunkORIOOXUU_cjs.apiErrorDetail(error);
|
|
11266
11266
|
if (typeof detail === "string" && detail) return detail;
|
|
11267
11267
|
const message = detail?.message;
|
|
11268
11268
|
return typeof message === "string" && message ? message : fallback;
|
|
@@ -11272,7 +11272,7 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
11272
11272
|
const [plan, setPlan] = react$1.useState("pro");
|
|
11273
11273
|
const [isAnnual, setIsAnnual] = react$1.useState(false);
|
|
11274
11274
|
const [promoCode, setPromoCode] = react$1.useState("");
|
|
11275
|
-
const [addonBudget, setAddonBudget] = react$1.useState(String(
|
|
11275
|
+
const [addonBudget, setAddonBudget] = react$1.useState(String(chunkORIOOXUU_cjs.DEFAULT_SPEND_CAP_PENCE / 100));
|
|
11276
11276
|
const [checkoutBudget, setCheckoutBudget] = react$1.useState(null);
|
|
11277
11277
|
const [aiBlocks, setAiBlocks] = react$1.useState(0);
|
|
11278
11278
|
const [storageBlocks, setStorageBlocks] = react$1.useState(0);
|
|
@@ -11286,7 +11286,7 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
11286
11286
|
const [checkoutProjectName, setCheckoutProjectName] = react$1.useState("");
|
|
11287
11287
|
const [checkoutInterval, setCheckoutInterval] = react$1.useState("month");
|
|
11288
11288
|
const paymentCompletedRef = react$1.useRef(false);
|
|
11289
|
-
const { stripeEnabled } =
|
|
11289
|
+
const { stripeEnabled } = chunkORIOOXUU_cjs.useBillingSupport();
|
|
11290
11290
|
const { data: products, isLoading: productsLoading } = react.useProducts({
|
|
11291
11291
|
enabled: stripeEnabled
|
|
11292
11292
|
});
|
|
@@ -11315,18 +11315,18 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
11315
11315
|
setPlan("pro");
|
|
11316
11316
|
setPromoCode("");
|
|
11317
11317
|
setPostalCode("");
|
|
11318
|
-
setAddonBudget(String(
|
|
11318
|
+
setAddonBudget(String(chunkORIOOXUU_cjs.DEFAULT_SPEND_CAP_PENCE / 100));
|
|
11319
11319
|
setAiBlocks(0);
|
|
11320
11320
|
setStorageBlocks(0);
|
|
11321
11321
|
setIsCreating(false);
|
|
11322
11322
|
}
|
|
11323
11323
|
onOpenChange(newOpen);
|
|
11324
11324
|
};
|
|
11325
|
-
const prices =
|
|
11325
|
+
const prices = chunkORIOOXUU_cjs.findProPrices(products);
|
|
11326
11326
|
const intervalPrice = isAnnual ? prices.annual : prices.monthly;
|
|
11327
|
-
const selectedPrice =
|
|
11327
|
+
const selectedPrice = chunkORIOOXUU_cjs.packPrice(intervalPrice);
|
|
11328
11328
|
const currency = intervalPrice?.currency ?? "gbp";
|
|
11329
|
-
const savingsPercent =
|
|
11329
|
+
const savingsPercent = chunkORIOOXUU_cjs.calcSavingsPercent(prices.monthly, prices.annual);
|
|
11330
11330
|
const isPro = stripeEnabled && plan !== "free";
|
|
11331
11331
|
const quote = useCheckoutQuote({
|
|
11332
11332
|
interval: isAnnual ? "year" : "month",
|
|
@@ -11336,14 +11336,14 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
11336
11336
|
storageBlocks,
|
|
11337
11337
|
enabled: open && isPro && !!selectedPrice
|
|
11338
11338
|
});
|
|
11339
|
-
const canSubmit = !!projectName.trim() && !isCreating && !createProject.isPending && (!isPro || !!selectedPrice &&
|
|
11339
|
+
const canSubmit = !!projectName.trim() && !isCreating && !createProject.isPending && (!isPro || !!selectedPrice && chunkORIOOXUU_cjs.parseBudgetPounds(addonBudget) !== void 0 && quote.canContinue);
|
|
11340
11340
|
const handleCreateFree = () => {
|
|
11341
11341
|
setIsCreating(true);
|
|
11342
11342
|
createProject.mutate(
|
|
11343
11343
|
{
|
|
11344
11344
|
name: projectName.trim(),
|
|
11345
11345
|
plan: "free",
|
|
11346
|
-
daily_cap_per_user:
|
|
11346
|
+
daily_cap_per_user: chunkORIOOXUU_cjs.SUGGESTED_DAILY_CAP_PER_USER
|
|
11347
11347
|
},
|
|
11348
11348
|
{
|
|
11349
11349
|
onSuccess: () => {
|
|
@@ -11360,14 +11360,14 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
11360
11360
|
};
|
|
11361
11361
|
const handleSubscribe = () => {
|
|
11362
11362
|
const interval = isAnnual ? "year" : "month";
|
|
11363
|
-
const parsed =
|
|
11364
|
-
const budgetToSend = parsed == null || parsed ===
|
|
11363
|
+
const parsed = chunkORIOOXUU_cjs.parseBudgetPounds(addonBudget);
|
|
11364
|
+
const budgetToSend = parsed == null || parsed === chunkORIOOXUU_cjs.DEFAULT_SPEND_CAP_PENCE ? null : parsed;
|
|
11365
11365
|
setIsCreating(true);
|
|
11366
11366
|
createProject.mutate(
|
|
11367
11367
|
{
|
|
11368
11368
|
name: projectName.trim(),
|
|
11369
11369
|
plan: "pro",
|
|
11370
|
-
daily_cap_per_user:
|
|
11370
|
+
daily_cap_per_user: chunkORIOOXUU_cjs.SUGGESTED_DAILY_CAP_PER_USER
|
|
11371
11371
|
},
|
|
11372
11372
|
{
|
|
11373
11373
|
onSuccess: (newProject) => {
|
|
@@ -11408,8 +11408,8 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
11408
11408
|
description: stripeEnabled ? "Name it and pick a plan." : `${ui.getEntityLabel("PROJECT", "PLURAL")} group your ${ui.entityNoun("WORKSPACE", "PLURAL")}.`,
|
|
11409
11409
|
showDescription: true,
|
|
11410
11410
|
size: "xl",
|
|
11411
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11412
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11411
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.PlanStack, { gap: 5, children: [
|
|
11412
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.PlanStack, { gap: 2, children: [
|
|
11413
11413
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "new-project-name", children: "Name" }),
|
|
11414
11414
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11415
11415
|
ui.Input,
|
|
@@ -11425,16 +11425,16 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
11425
11425
|
}
|
|
11426
11426
|
)
|
|
11427
11427
|
] }),
|
|
11428
|
-
stripeEnabled && (productsLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
11429
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11428
|
+
stripeEnabled && (productsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanNotice, { children: "Loading plans\u2026" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11429
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.PlanPickerCard, { children: [
|
|
11430
11430
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11431
|
-
|
|
11431
|
+
chunkQB7PNQDJ_cjs.PlanPickerHeader,
|
|
11432
11432
|
{
|
|
11433
11433
|
title: "Plan",
|
|
11434
11434
|
info: /* @__PURE__ */ jsxRuntime.jsx(PlanInfoPopover2, {}),
|
|
11435
11435
|
infoPlacement: "toggle",
|
|
11436
11436
|
toggle: plan !== "free" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
11437
|
-
|
|
11437
|
+
chunkQB7PNQDJ_cjs.PricingToggle,
|
|
11438
11438
|
{
|
|
11439
11439
|
isAnnual,
|
|
11440
11440
|
onToggle: () => setIsAnnual(!isAnnual),
|
|
@@ -11472,7 +11472,7 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
11472
11472
|
currency
|
|
11473
11473
|
}
|
|
11474
11474
|
),
|
|
11475
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11475
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PromoCodeInput, { value: promoCode, onChange: setPromoCode }),
|
|
11476
11476
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11477
11477
|
CheckoutCountrySelect,
|
|
11478
11478
|
{
|
|
@@ -11491,10 +11491,10 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
11491
11491
|
onPostalCodeChange: setPostalCode
|
|
11492
11492
|
}
|
|
11493
11493
|
)
|
|
11494
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
11494
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanNotice, { children: "Pro isn't available right now." }))
|
|
11495
11495
|
] })),
|
|
11496
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11497
|
-
isSlow && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11496
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanActionButton, { onClick: submit, disabled: !canSubmit, children: isCreating ? "Creating\u2026" : isPro ? "Continue to payment" : `Create ${ui.entityNoun("PROJECT")}` }),
|
|
11497
|
+
isSlow && /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanNotice, { className: "text-xs", testId: "new-project-still-working", children: "Still working. We'll update here." })
|
|
11498
11498
|
] })
|
|
11499
11499
|
}
|
|
11500
11500
|
),
|
|
@@ -11524,7 +11524,7 @@ function ConnectedProjectEntity({
|
|
|
11524
11524
|
subscription = "none",
|
|
11525
11525
|
...props
|
|
11526
11526
|
}) {
|
|
11527
|
-
const { stripeEnabled } =
|
|
11527
|
+
const { stripeEnabled } = chunkORIOOXUU_cjs.useBillingSupport();
|
|
11528
11528
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11529
11529
|
ui.ProjectEntity,
|
|
11530
11530
|
{
|
|
@@ -11549,7 +11549,7 @@ function ConnectedProjectSelector({
|
|
|
11549
11549
|
readOnly,
|
|
11550
11550
|
className
|
|
11551
11551
|
}) {
|
|
11552
|
-
const { stripeEnabled } =
|
|
11552
|
+
const { stripeEnabled } = chunkORIOOXUU_cjs.useBillingSupport();
|
|
11553
11553
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11554
11554
|
chunkHYAYXLIZ_cjs.ProjectPicker,
|
|
11555
11555
|
{
|
|
@@ -11925,9 +11925,9 @@ function ConnectedMailboxSyncDialog({
|
|
|
11925
11925
|
showDescription: true,
|
|
11926
11926
|
className: "w-[92vw] sm:max-w-lg",
|
|
11927
11927
|
children: [
|
|
11928
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11929
|
-
!lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11930
|
-
|
|
11928
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.SyncDialogBody, { children: [
|
|
11929
|
+
!lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SyncField, { label: "Target workspace", htmlFor: "sync-workspace", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11930
|
+
chunkQB7PNQDJ_cjs.SyncSelect,
|
|
11931
11931
|
{
|
|
11932
11932
|
id: "sync-workspace",
|
|
11933
11933
|
value: workspaceExtId,
|
|
@@ -11936,9 +11936,9 @@ function ConnectedMailboxSyncDialog({
|
|
|
11936
11936
|
options: memberWorkspaces.map((w) => ({ value: w.external_id, label: w.name }))
|
|
11937
11937
|
}
|
|
11938
11938
|
) }),
|
|
11939
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11939
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.SyncField, { label: "Backfill window", htmlFor: "sync-backfill", children: [
|
|
11940
11940
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11941
|
-
|
|
11941
|
+
chunkQB7PNQDJ_cjs.SyncSelect,
|
|
11942
11942
|
{
|
|
11943
11943
|
id: "sync-backfill",
|
|
11944
11944
|
value: backfill,
|
|
@@ -11958,17 +11958,17 @@ function ConnectedMailboxSyncDialog({
|
|
|
11958
11958
|
"aria-label": "Import emails since date"
|
|
11959
11959
|
}
|
|
11960
11960
|
),
|
|
11961
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11961
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SyncSmallNote, { children: "Emails are always imported from this date onward \u2014 the start point never moves." })
|
|
11962
11962
|
] })
|
|
11963
11963
|
] }),
|
|
11964
11964
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11965
|
-
|
|
11965
|
+
chunkQB7PNQDJ_cjs.SyncField,
|
|
11966
11966
|
{
|
|
11967
11967
|
label: `Folders to import${selectedFolders.length > 0 ? ` (${selectedFolders.length})` : ""}`,
|
|
11968
11968
|
hint: "Select at least one folder to import.",
|
|
11969
|
-
actions: folders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11969
|
+
actions: folders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.SyncLinkRow, { children: [
|
|
11970
11970
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11971
|
-
|
|
11971
|
+
chunkQB7PNQDJ_cjs.SyncLinkButton,
|
|
11972
11972
|
{
|
|
11973
11973
|
onClick: () => setExpandAllNonce((n) => n + 1),
|
|
11974
11974
|
testId: "mail-folders-expand-all",
|
|
@@ -11976,20 +11976,20 @@ function ConnectedMailboxSyncDialog({
|
|
|
11976
11976
|
}
|
|
11977
11977
|
),
|
|
11978
11978
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11979
|
-
|
|
11979
|
+
chunkQB7PNQDJ_cjs.SyncLinkButton,
|
|
11980
11980
|
{
|
|
11981
11981
|
onClick: () => setCollapseAllNonce((n) => n + 1),
|
|
11982
11982
|
testId: "mail-folders-collapse-all",
|
|
11983
11983
|
children: "Collapse all"
|
|
11984
11984
|
}
|
|
11985
11985
|
),
|
|
11986
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11986
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SyncLinkButton, { onClick: toggleAllFolders, children: allSelected ? "Clear all" : "Select all" })
|
|
11987
11987
|
] }),
|
|
11988
|
-
children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
11988
|
+
children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SyncLoading, { children: "Loading folders\u2026" }) : foldersError ? (
|
|
11989
11989
|
// A failed fetch is not an empty mailbox: it hides auth/scope errors (e.g. a Gmail
|
|
11990
11990
|
// account needing reconnect).
|
|
11991
11991
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11992
|
-
|
|
11992
|
+
chunkQB7PNQDJ_cjs.SyncReconnectNotice,
|
|
11993
11993
|
{
|
|
11994
11994
|
message: `Couldn\u2019t load folders from ${catalog.display_name}. Reconnect the account and try again.`,
|
|
11995
11995
|
onReconnect: () => void reconnect(),
|
|
@@ -11997,7 +11997,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
11997
11997
|
testId: "folders-reconnect"
|
|
11998
11998
|
}
|
|
11999
11999
|
)
|
|
12000
|
-
) : folders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
12000
|
+
) : folders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
12001
12001
|
chunkB2NMLA7W_cjs.MailFolderTree,
|
|
12002
12002
|
{
|
|
12003
12003
|
nodes: folderTree,
|
|
@@ -12009,9 +12009,9 @@ function ConnectedMailboxSyncDialog({
|
|
|
12009
12009
|
) })
|
|
12010
12010
|
}
|
|
12011
12011
|
),
|
|
12012
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12012
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.SyncOptions, { children: [
|
|
12013
12013
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12014
|
-
|
|
12014
|
+
chunkQB7PNQDJ_cjs.SyncOptionToggle,
|
|
12015
12015
|
{
|
|
12016
12016
|
checked: skipDuplicates,
|
|
12017
12017
|
onCheckedChange: setSkipDuplicates,
|
|
@@ -12021,7 +12021,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
12021
12021
|
}
|
|
12022
12022
|
),
|
|
12023
12023
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12024
|
-
|
|
12024
|
+
chunkQB7PNQDJ_cjs.SyncOptionToggle,
|
|
12025
12025
|
{
|
|
12026
12026
|
checked: autoRename,
|
|
12027
12027
|
onCheckedChange: setAutoRename,
|
|
@@ -12031,7 +12031,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
12031
12031
|
}
|
|
12032
12032
|
),
|
|
12033
12033
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12034
|
-
|
|
12034
|
+
chunkQB7PNQDJ_cjs.SyncOptionToggle,
|
|
12035
12035
|
{
|
|
12036
12036
|
checked: shared,
|
|
12037
12037
|
onCheckedChange: setShared,
|
|
@@ -12041,7 +12041,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
12041
12041
|
}
|
|
12042
12042
|
),
|
|
12043
12043
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12044
|
-
|
|
12044
|
+
chunkQB7PNQDJ_cjs.SyncOptionToggle,
|
|
12045
12045
|
{
|
|
12046
12046
|
checked: autoSync,
|
|
12047
12047
|
onCheckedChange: setAutoSync,
|
|
@@ -12053,7 +12053,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
12053
12053
|
] })
|
|
12054
12054
|
] }),
|
|
12055
12055
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12056
|
-
|
|
12056
|
+
chunkQB7PNQDJ_cjs.SyncDialogFooter,
|
|
12057
12057
|
{
|
|
12058
12058
|
onCancel: () => onOpenChange(false),
|
|
12059
12059
|
onSave: handleEnableSubmit,
|
|
@@ -12115,7 +12115,7 @@ function DriveFolderNode({
|
|
|
12115
12115
|
const mightHaveChildren = docCount == null || docCount > 0;
|
|
12116
12116
|
const orderedChildren = [...children].sort((a, b) => a.name.localeCompare(b.name));
|
|
12117
12117
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12118
|
-
|
|
12118
|
+
chunkQB7PNQDJ_cjs.SyncFolderRow,
|
|
12119
12119
|
{
|
|
12120
12120
|
id: folder.id,
|
|
12121
12121
|
name: folder.name,
|
|
@@ -12129,7 +12129,7 @@ function DriveFolderNode({
|
|
|
12129
12129
|
onCheckedChange: () => onToggle(folder.id),
|
|
12130
12130
|
count: typeof docCount === "number" ? docCount : void 0,
|
|
12131
12131
|
isCountLoading: isSelectable && countLoading,
|
|
12132
|
-
children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
12132
|
+
children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SyncFolderStatus, { depth, kind: "loading" }) : orderedChildren.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SyncFolderStatus, { depth, kind: "empty" }) : orderedChildren.map((child) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
12133
12133
|
DriveFolderNode,
|
|
12134
12134
|
{
|
|
12135
12135
|
vendorKey,
|
|
@@ -12275,9 +12275,9 @@ function ConnectedDriveSyncDialog({
|
|
|
12275
12275
|
showDescription: true,
|
|
12276
12276
|
className: "w-[92vw] sm:max-w-lg",
|
|
12277
12277
|
children: [
|
|
12278
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12279
|
-
!lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12280
|
-
|
|
12278
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.SyncDialogBody, { children: [
|
|
12279
|
+
!lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SyncField, { label: "Target workspace", htmlFor: "drive-sync-workspace", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
12280
|
+
chunkQB7PNQDJ_cjs.SyncSelect,
|
|
12281
12281
|
{
|
|
12282
12282
|
id: "drive-sync-workspace",
|
|
12283
12283
|
value: workspaceExtId,
|
|
@@ -12287,13 +12287,13 @@ function ConnectedDriveSyncDialog({
|
|
|
12287
12287
|
}
|
|
12288
12288
|
) }),
|
|
12289
12289
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12290
|
-
|
|
12290
|
+
chunkQB7PNQDJ_cjs.SyncField,
|
|
12291
12291
|
{
|
|
12292
12292
|
label: `Folders to import${selectedFolders.length > 0 ? ` (${selectedFolders.length})` : ""}`,
|
|
12293
12293
|
hint: "Select at least one folder. Importing a folder includes everything inside it.",
|
|
12294
|
-
actions: orderedFolders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12294
|
+
actions: orderedFolders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.SyncLinkRow, { children: [
|
|
12295
12295
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12296
|
-
|
|
12296
|
+
chunkQB7PNQDJ_cjs.SyncLinkButton,
|
|
12297
12297
|
{
|
|
12298
12298
|
onClick: () => setExpandAllNonce((n) => n + 1),
|
|
12299
12299
|
testId: "drive-folders-expand-all",
|
|
@@ -12301,7 +12301,7 @@ function ConnectedDriveSyncDialog({
|
|
|
12301
12301
|
}
|
|
12302
12302
|
),
|
|
12303
12303
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12304
|
-
|
|
12304
|
+
chunkQB7PNQDJ_cjs.SyncLinkButton,
|
|
12305
12305
|
{
|
|
12306
12306
|
onClick: () => setCollapseAllNonce((n) => n + 1),
|
|
12307
12307
|
testId: "drive-folders-collapse-all",
|
|
@@ -12309,19 +12309,19 @@ function ConnectedDriveSyncDialog({
|
|
|
12309
12309
|
}
|
|
12310
12310
|
)
|
|
12311
12311
|
] }),
|
|
12312
|
-
children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
12313
|
-
|
|
12312
|
+
children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SyncLoading, { children: "Loading folders\u2026" }) : needsReconnect ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
12313
|
+
chunkQB7PNQDJ_cjs.SyncReconnectNotice,
|
|
12314
12314
|
{
|
|
12315
12315
|
...reconnectButtonProps,
|
|
12316
12316
|
message: `Reconnect ${catalog.display_name} to enable ${productName} \u2014 your account needs to grant file access.`
|
|
12317
12317
|
}
|
|
12318
12318
|
) : foldersError ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
12319
|
-
|
|
12319
|
+
chunkQB7PNQDJ_cjs.SyncReconnectNotice,
|
|
12320
12320
|
{
|
|
12321
12321
|
...reconnectButtonProps,
|
|
12322
12322
|
message: `Couldn\u2019t load folders from ${productName}. Reconnect the account and try again.`
|
|
12323
12323
|
}
|
|
12324
|
-
) : orderedFolders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
12324
|
+
) : orderedFolders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-0.5", "data-testid": "drive-folder-tree", children: orderedFolders.map((f) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
12325
12325
|
DriveFolderNode,
|
|
12326
12326
|
{
|
|
12327
12327
|
vendorKey: catalog.vendor_key,
|
|
@@ -12338,9 +12338,9 @@ function ConnectedDriveSyncDialog({
|
|
|
12338
12338
|
)) }) })
|
|
12339
12339
|
}
|
|
12340
12340
|
),
|
|
12341
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12341
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.SyncOptions, { children: [
|
|
12342
12342
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12343
|
-
|
|
12343
|
+
chunkQB7PNQDJ_cjs.SyncOptionToggle,
|
|
12344
12344
|
{
|
|
12345
12345
|
checked: skipDuplicates,
|
|
12346
12346
|
onCheckedChange: setSkipDuplicates,
|
|
@@ -12349,7 +12349,7 @@ function ConnectedDriveSyncDialog({
|
|
|
12349
12349
|
}
|
|
12350
12350
|
),
|
|
12351
12351
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12352
|
-
|
|
12352
|
+
chunkQB7PNQDJ_cjs.SyncOptionToggle,
|
|
12353
12353
|
{
|
|
12354
12354
|
checked: autoRename,
|
|
12355
12355
|
onCheckedChange: setAutoRename,
|
|
@@ -12358,7 +12358,7 @@ function ConnectedDriveSyncDialog({
|
|
|
12358
12358
|
}
|
|
12359
12359
|
),
|
|
12360
12360
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12361
|
-
|
|
12361
|
+
chunkQB7PNQDJ_cjs.SyncOptionToggle,
|
|
12362
12362
|
{
|
|
12363
12363
|
checked: shared,
|
|
12364
12364
|
onCheckedChange: setShared,
|
|
@@ -12367,7 +12367,7 @@ function ConnectedDriveSyncDialog({
|
|
|
12367
12367
|
}
|
|
12368
12368
|
),
|
|
12369
12369
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12370
|
-
|
|
12370
|
+
chunkQB7PNQDJ_cjs.SyncOptionToggle,
|
|
12371
12371
|
{
|
|
12372
12372
|
checked: autoSync,
|
|
12373
12373
|
onCheckedChange: setAutoSync,
|
|
@@ -12379,7 +12379,7 @@ function ConnectedDriveSyncDialog({
|
|
|
12379
12379
|
] })
|
|
12380
12380
|
] }),
|
|
12381
12381
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12382
|
-
|
|
12382
|
+
chunkQB7PNQDJ_cjs.SyncDialogFooter,
|
|
12383
12383
|
{
|
|
12384
12384
|
onCancel: () => onOpenChange(false),
|
|
12385
12385
|
onSave: handleEnableSubmit,
|
|
@@ -12400,36 +12400,36 @@ function ConnectedSharePointAdminConsentPage({
|
|
|
12400
12400
|
const result = givenResult === void 0 ? queryResult : givenResult;
|
|
12401
12401
|
const { apiBaseUrl } = chunk25AIWOR6_cjs.useBlocksEnvironment().runtimeConfig;
|
|
12402
12402
|
const consentUrl = `${apiBaseUrl}/v1/connectors/microsoft_sharepoint/admin-consent`;
|
|
12403
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12403
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkLC7HFDCV_cjs.ConsentCard, { size: "md", children: [
|
|
12404
12404
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12405
|
-
|
|
12405
|
+
chunkLC7HFDCV_cjs.ConsentHeader,
|
|
12406
12406
|
{
|
|
12407
12407
|
icon: /* @__PURE__ */ jsxRuntime.jsx(chunkICHTDJYH_cjs.VendorLogo, { vendorKey: "microsoft_sharepoint", product: "sharepoint" }),
|
|
12408
12408
|
title: "Approve ARBI for SharePoint access",
|
|
12409
12409
|
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."
|
|
12410
12410
|
}
|
|
12411
12411
|
),
|
|
12412
|
-
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12413
|
-
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12414
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12412
|
+
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_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." }),
|
|
12413
|
+
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_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." }),
|
|
12414
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkLC7HFDCV_cjs.ConsentSection, { title: "What you are approving", children: [
|
|
12415
12415
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12416
|
-
|
|
12416
|
+
chunkLC7HFDCV_cjs.ConsentBulletList,
|
|
12417
12417
|
{
|
|
12418
12418
|
items: [
|
|
12419
12419
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12420
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12420
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
|
|
12421
12421
|
" \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."
|
|
12422
12422
|
] }),
|
|
12423
12423
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12424
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12424
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
|
|
12425
12425
|
" \u2014 standard sign-in (openid, profile, email) and offline access so syncs keep working between sessions."
|
|
12426
12426
|
] })
|
|
12427
12427
|
]
|
|
12428
12428
|
}
|
|
12429
12429
|
),
|
|
12430
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12430
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_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." }),
|
|
12431
12431
|
/* @__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" }) }),
|
|
12432
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12432
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_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." })
|
|
12433
12433
|
] })
|
|
12434
12434
|
] }) });
|
|
12435
12435
|
}
|
|
@@ -12451,7 +12451,7 @@ function BillingProjectEntity({
|
|
|
12451
12451
|
subscription = "none",
|
|
12452
12452
|
...props
|
|
12453
12453
|
}) {
|
|
12454
|
-
const { stripeEnabled } =
|
|
12454
|
+
const { stripeEnabled } = chunkORIOOXUU_cjs.useBillingSupport();
|
|
12455
12455
|
const isPaid2 = stripeEnabled && (subscription === "active" || subscription === "past_due" || subscription === "dev");
|
|
12456
12456
|
return /* @__PURE__ */ jsxRuntime.jsx(ui.ProjectEntity, { ...props, subscription, isPaid: isPaid2 });
|
|
12457
12457
|
}
|
|
@@ -12478,8 +12478,8 @@ function InvoicesModal({
|
|
|
12478
12478
|
key: inv.number ?? String(i),
|
|
12479
12479
|
date: formatInvoiceDate(inv.date),
|
|
12480
12480
|
kind: KIND_LABELS2[inv.kind],
|
|
12481
|
-
amount:
|
|
12482
|
-
amountNote: inv.amount_ex_vat != null && inv.amount_ex_vat !== inv.amount ? `${
|
|
12481
|
+
amount: chunkORIOOXUU_cjs.formatMoney(inv.amount, inv.currency),
|
|
12482
|
+
amountNote: inv.amount_ex_vat != null && inv.amount_ex_vat !== inv.amount ? `${chunkORIOOXUU_cjs.formatMoney(inv.amount_ex_vat, inv.currency)} ex VAT` : void 0,
|
|
12483
12483
|
status: inv.status,
|
|
12484
12484
|
isPaid: isPaid2,
|
|
12485
12485
|
href: inv.hosted_invoice_url ?? inv.url ?? inv.pdf_url ?? void 0,
|
|
@@ -12487,7 +12487,7 @@ function InvoicesModal({
|
|
|
12487
12487
|
};
|
|
12488
12488
|
});
|
|
12489
12489
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12490
|
-
|
|
12490
|
+
chunkQB7PNQDJ_cjs.InvoicesDialog,
|
|
12491
12491
|
{
|
|
12492
12492
|
open,
|
|
12493
12493
|
onOpenChange,
|
|
@@ -12501,7 +12501,7 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
12501
12501
|
const { data: products, isLoading, error } = react.useProducts();
|
|
12502
12502
|
const [isAnnual, setIsAnnual] = react$1.useState(false);
|
|
12503
12503
|
const [promoCode, setPromoCode] = react$1.useState("");
|
|
12504
|
-
const [addonBudget, setAddonBudget] = react$1.useState(String(
|
|
12504
|
+
const [addonBudget, setAddonBudget] = react$1.useState(String(chunkORIOOXUU_cjs.DEFAULT_SPEND_CAP_PENCE / 100));
|
|
12505
12505
|
const [checkoutBudget, setCheckoutBudget] = react$1.useState(null);
|
|
12506
12506
|
const [aiBlocks, setAiBlocks] = react$1.useState(0);
|
|
12507
12507
|
const [storageBlocks, setStorageBlocks] = react$1.useState(0);
|
|
@@ -12519,31 +12519,31 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
12519
12519
|
storageBlocks,
|
|
12520
12520
|
enabled: !!products?.length
|
|
12521
12521
|
});
|
|
12522
|
-
if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12523
|
-
if (error) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12524
|
-
if (!products || products.length === 0) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12525
|
-
const prices =
|
|
12522
|
+
if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanNotice, { children: "Loading plans\u2026" });
|
|
12523
|
+
if (error) return /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanNotice, { tone: "error", children: "Plans didn't load. Try again." });
|
|
12524
|
+
if (!products || products.length === 0) return /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanNotice, { children: "No plans available." });
|
|
12525
|
+
const prices = chunkORIOOXUU_cjs.findProPrices(products);
|
|
12526
12526
|
const intervalPrice = isAnnual ? prices.annual : prices.monthly;
|
|
12527
|
-
const selectedPrice =
|
|
12527
|
+
const selectedPrice = chunkORIOOXUU_cjs.packPrice(intervalPrice);
|
|
12528
12528
|
if (!intervalPrice) return null;
|
|
12529
12529
|
const interval = isAnnual ? "year" : "month";
|
|
12530
|
-
const savingsPercent =
|
|
12530
|
+
const savingsPercent = chunkORIOOXUU_cjs.calcSavingsPercent(prices.monthly, prices.annual);
|
|
12531
12531
|
const handleSubscribe = () => {
|
|
12532
12532
|
setCheckoutInterval(interval);
|
|
12533
|
-
const parsed =
|
|
12534
|
-
setCheckoutBudget(parsed == null || parsed ===
|
|
12533
|
+
const parsed = chunkORIOOXUU_cjs.parseBudgetPounds(addonBudget);
|
|
12534
|
+
setCheckoutBudget(parsed == null || parsed === chunkORIOOXUU_cjs.DEFAULT_SPEND_CAP_PENCE ? null : parsed);
|
|
12535
12535
|
setCheckoutQuote(quote.quote);
|
|
12536
12536
|
setIsCheckoutModalOpen(true);
|
|
12537
12537
|
};
|
|
12538
12538
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12539
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12539
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.PlanStack, { children: [
|
|
12540
12540
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12541
|
-
|
|
12541
|
+
chunkQB7PNQDJ_cjs.PlanPickerHeader,
|
|
12542
12542
|
{
|
|
12543
12543
|
title: "Plan",
|
|
12544
12544
|
info: /* @__PURE__ */ jsxRuntime.jsx(PlanInfoPopover2, {}),
|
|
12545
12545
|
toggle: /* @__PURE__ */ jsxRuntime.jsx(
|
|
12546
|
-
|
|
12546
|
+
chunkQB7PNQDJ_cjs.PricingToggle,
|
|
12547
12547
|
{
|
|
12548
12548
|
isAnnual,
|
|
12549
12549
|
onToggle: () => setIsAnnual(!isAnnual),
|
|
@@ -12580,7 +12580,7 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
12580
12580
|
currency: intervalPrice.currency
|
|
12581
12581
|
}
|
|
12582
12582
|
),
|
|
12583
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12583
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PromoCodeInput, { value: promoCode, onChange: setPromoCode }),
|
|
12584
12584
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12585
12585
|
CheckoutCountrySelect,
|
|
12586
12586
|
{
|
|
@@ -12592,9 +12592,9 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
12592
12592
|
}
|
|
12593
12593
|
),
|
|
12594
12594
|
/* @__PURE__ */ jsxRuntime.jsx(CheckoutTotal, { state: quote, postalCode, onPostalCodeChange: setPostalCode }),
|
|
12595
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12595
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.PlanActionRow, { children: [
|
|
12596
12596
|
onDismiss && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12597
|
-
|
|
12597
|
+
chunkQB7PNQDJ_cjs.PlanActionButton,
|
|
12598
12598
|
{
|
|
12599
12599
|
tone: "muted",
|
|
12600
12600
|
fill: true,
|
|
@@ -12605,11 +12605,11 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
12605
12605
|
}
|
|
12606
12606
|
),
|
|
12607
12607
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12608
|
-
|
|
12608
|
+
chunkQB7PNQDJ_cjs.PlanActionButton,
|
|
12609
12609
|
{
|
|
12610
12610
|
fill: true,
|
|
12611
12611
|
onClick: handleSubscribe,
|
|
12612
|
-
disabled: !selectedPrice ||
|
|
12612
|
+
disabled: !selectedPrice || chunkORIOOXUU_cjs.parseBudgetPounds(addonBudget) === void 0 || !quote.canContinue,
|
|
12613
12613
|
size: "sm",
|
|
12614
12614
|
"data-testid": "subscribe-button",
|
|
12615
12615
|
children: "Continue to payment"
|
|
@@ -12668,7 +12668,7 @@ var FALLBACK_MESSAGES = {
|
|
|
12668
12668
|
BILLING_ADDRESS_REQUIRED: "Add a billing address first."
|
|
12669
12669
|
};
|
|
12670
12670
|
function addonErrorMessage(error) {
|
|
12671
|
-
const detail =
|
|
12671
|
+
const detail = chunkORIOOXUU_cjs.apiErrorDetail(error);
|
|
12672
12672
|
if (detail && typeof detail === "object") {
|
|
12673
12673
|
const { code, message } = detail;
|
|
12674
12674
|
if (message) return message;
|
|
@@ -12694,14 +12694,14 @@ function chargeRefusalMessage(error) {
|
|
|
12694
12694
|
return code ? REFUSALS[code] : null;
|
|
12695
12695
|
}
|
|
12696
12696
|
function addonErrorCode(error) {
|
|
12697
|
-
const detail =
|
|
12697
|
+
const detail = chunkORIOOXUU_cjs.apiErrorDetail(error);
|
|
12698
12698
|
if (detail && typeof detail === "object") {
|
|
12699
12699
|
const code = detail.code;
|
|
12700
12700
|
if (code && code in FALLBACK_MESSAGES) return code;
|
|
12701
12701
|
}
|
|
12702
12702
|
return null;
|
|
12703
12703
|
}
|
|
12704
|
-
var addedMessage = (kind, blockAiGbp, blockStorageGb) => kind === "ai_usage" ? `${react.formatGbp(blockAiGbp ??
|
|
12704
|
+
var addedMessage = (kind, blockAiGbp, blockStorageGb) => kind === "ai_usage" ? `${react.formatGbp(blockAiGbp ?? chunkORIOOXUU_cjs.ADDON_BLOCK_AI_GBP)} of AI usage added` : `${blockStorageGb ?? chunkORIOOXUU_cjs.STORAGE_BLOCK_GB} GB added`;
|
|
12705
12705
|
function useAddonPurchase() {
|
|
12706
12706
|
const addBlock = react.useAddProjectAddonBlock();
|
|
12707
12707
|
const { mutate } = addBlock;
|
|
@@ -12753,7 +12753,7 @@ function PlanChangeLines({
|
|
|
12753
12753
|
isError,
|
|
12754
12754
|
className
|
|
12755
12755
|
}) {
|
|
12756
|
-
const lines = preview ?
|
|
12756
|
+
const lines = preview ? chunkORIOOXUU_cjs.planPreviewLines(preview) : [{ id: "pay-today", text: isError ? chunkORIOOXUU_cjs.PAY_TODAY_UNPRICED : "Checking price\u2026" }];
|
|
12757
12757
|
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)) });
|
|
12758
12758
|
}
|
|
12759
12759
|
var BANK_CONFIRM_PLAN_CHANGE = "Confirm with your bank. Nothing is charged until you do.";
|
|
@@ -12761,13 +12761,13 @@ function notifyPlanChange(data, fallback, planName2) {
|
|
|
12761
12761
|
const outcome = data?.plan_change;
|
|
12762
12762
|
switch (outcome?.result) {
|
|
12763
12763
|
case "upgraded": {
|
|
12764
|
-
const plan =
|
|
12765
|
-
const charged = outcome.charged_pence > 0 ? ` \xB7 ${
|
|
12764
|
+
const plan = chunkORIOOXUU_cjs.planNameForPacks(data?.addons?.packs ?? data?.packs);
|
|
12765
|
+
const charged = outcome.charged_pence > 0 ? ` \xB7 ${chunkORIOOXUU_cjs.formatMoney(outcome.charged_pence, "gbp")} charged` : "";
|
|
12766
12766
|
shell.notify.success(`Upgraded to ${plan}${charged}`);
|
|
12767
12767
|
break;
|
|
12768
12768
|
}
|
|
12769
12769
|
case "scheduled": {
|
|
12770
|
-
const when2 =
|
|
12770
|
+
const when2 = chunkORIOOXUU_cjs.formatPeriodEnd(data?.addons?.period_end ?? data?.current_period_end);
|
|
12771
12771
|
shell.notify.success(when2 ? `Scheduled for ${when2}` : fallback);
|
|
12772
12772
|
break;
|
|
12773
12773
|
}
|
|
@@ -12800,23 +12800,23 @@ function ChangeProPlan({
|
|
|
12800
12800
|
const { data: products } = react.useProducts();
|
|
12801
12801
|
const changePlan = react.useChangeProjectPlan();
|
|
12802
12802
|
const cancel = react.useCancelProjectSubscription();
|
|
12803
|
-
const prices =
|
|
12803
|
+
const prices = chunkORIOOXUU_cjs.findProPrices(products);
|
|
12804
12804
|
const addons = project.addons;
|
|
12805
12805
|
const isCanceling = project.cancel_at_period_end === true || project.subscription === "canceled";
|
|
12806
|
-
const currentPacks = Math.max(addons?.packs ?? project.packs ??
|
|
12807
|
-
const isLegacyMultiPack = currentPacks >
|
|
12806
|
+
const currentPacks = Math.max(addons?.packs ?? project.packs ?? chunkORIOOXUU_cjs.PRO_PACKS, chunkORIOOXUU_cjs.PRO_PACKS);
|
|
12807
|
+
const isLegacyMultiPack = currentPacks > chunkORIOOXUU_cjs.PRO_PACKS;
|
|
12808
12808
|
const currentInterval = project.plan_interval === "year" ? "year" : "month";
|
|
12809
12809
|
const scheduledPacks = isCanceling ? 0 : addons?.packs_next ?? currentPacks;
|
|
12810
12810
|
const scheduledInterval = addons?.pending_interval ?? currentInterval;
|
|
12811
12811
|
const [targetPacks, setTargetPacks] = react$1.useState(scheduledPacks);
|
|
12812
12812
|
const [chosenInterval, setChosenInterval] = react$1.useState(scheduledInterval);
|
|
12813
|
-
const targetInterval = targetPacks >
|
|
12813
|
+
const targetInterval = targetPacks > chunkORIOOXUU_cjs.PRO_PACKS ? currentInterval : chosenInterval;
|
|
12814
12814
|
const periodEnd = formatDate(addons?.period_end ?? project.current_period_end);
|
|
12815
12815
|
const when2 = periodEnd ?? "the end of the period";
|
|
12816
12816
|
const shortWhen = periodEnd ? periodEnd.replace(/ \d{4}$/, "") : "period end";
|
|
12817
12817
|
const isPending = changePlan.isPending || cancel.isPending;
|
|
12818
12818
|
const sameAsScheduled = targetPacks === scheduledPacks && (targetPacks === 0 || targetInterval === scheduledInterval);
|
|
12819
|
-
const packOptions = isLegacyMultiPack ? [currentPacks,
|
|
12819
|
+
const packOptions = isLegacyMultiPack ? [currentPacks, chunkORIOOXUU_cjs.PRO_PACKS, 0] : [chunkORIOOXUU_cjs.PRO_PACKS, 0];
|
|
12820
12820
|
const intervalPrice = targetInterval === "year" ? prices.annual : prices.monthly;
|
|
12821
12821
|
const currency = intervalPrice?.currency ?? project.currency ?? "gbp";
|
|
12822
12822
|
const preview = react.usePreviewProjectPlanChange(
|
|
@@ -12824,7 +12824,7 @@ function ChangeProPlan({
|
|
|
12824
12824
|
sameAsScheduled || targetPacks === 0 ? null : { packs: targetPacks, interval: targetInterval }
|
|
12825
12825
|
);
|
|
12826
12826
|
const noChange = sameAsScheduled || preview.data?.unchanged === true;
|
|
12827
|
-
const nameFor = (packs) => packs === currentPacks && packs > 0 ?
|
|
12827
|
+
const nameFor = (packs) => packs === currentPacks && packs > 0 ? chunkORIOOXUU_cjs.proTierName(project) : chunkORIOOXUU_cjs.planNameForPacks(packs);
|
|
12828
12828
|
const effects = [];
|
|
12829
12829
|
const target = nameFor(targetPacks);
|
|
12830
12830
|
if (targetPacks === 0) {
|
|
@@ -12834,7 +12834,7 @@ function ChangeProPlan({
|
|
|
12834
12834
|
if (targetPacks < currentPacks) {
|
|
12835
12835
|
effects.push(`Changes to one Pro licence on ${when2}. No refund.`);
|
|
12836
12836
|
} else if (!isCanceling && addons?.packs_next != null) {
|
|
12837
|
-
effects.push(`Cancels the change to ${
|
|
12837
|
+
effects.push(`Cancels the change to ${chunkORIOOXUU_cjs.planNameForPacks(addons.packs_next)}.`);
|
|
12838
12838
|
}
|
|
12839
12839
|
if (targetInterval !== currentInterval) {
|
|
12840
12840
|
effects.push(`${targetInterval === "year" ? "Annual" : "Monthly"} billing from ${when2}.`);
|
|
@@ -12873,33 +12873,33 @@ function ChangeProPlan({
|
|
|
12873
12873
|
if (packs === 0) {
|
|
12874
12874
|
return {
|
|
12875
12875
|
total: "\xA30",
|
|
12876
|
-
summary: `${react.formatGbp(
|
|
12876
|
+
summary: `${react.formatGbp(chunkORIOOXUU_cjs.FREE_AI_GBP)} of AI usage \xB7 ${chunkORIOOXUU_cjs.FREE_STORAGE_MB} MB \xB7 just you`
|
|
12877
12877
|
};
|
|
12878
12878
|
}
|
|
12879
|
-
const allowance = `${react.formatGbp(
|
|
12880
|
-
const legacy = packs >
|
|
12881
|
-
const exVat = legacy ? project.amount_ex_vat :
|
|
12879
|
+
const allowance = `${react.formatGbp(chunkORIOOXUU_cjs.PRO_AI_GBP * packs)} of AI usage \xB7 ${chunkORIOOXUU_cjs.PRO_STORAGE_GB * packs} GB`;
|
|
12880
|
+
const legacy = packs > chunkORIOOXUU_cjs.PRO_PACKS;
|
|
12881
|
+
const exVat = legacy ? project.amount_ex_vat : chunkORIOOXUU_cjs.packPrice(intervalPrice)?.amount_ex_vat;
|
|
12882
12882
|
return {
|
|
12883
|
-
total: exVat != null ?
|
|
12883
|
+
total: exVat != null ? chunkORIOOXUU_cjs.plusVat(exVat, currency) : void 0,
|
|
12884
12884
|
summary: allowance
|
|
12885
12885
|
};
|
|
12886
12886
|
};
|
|
12887
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12887
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.PlanStack, { gap: 4, testId: "change-pro-plan", children: [
|
|
12888
12888
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [
|
|
12889
12889
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-foreground", children: "Billing" }),
|
|
12890
|
-
targetPacks >
|
|
12891
|
-
|
|
12890
|
+
targetPacks > chunkORIOOXUU_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(
|
|
12891
|
+
chunkQB7PNQDJ_cjs.PricingToggle,
|
|
12892
12892
|
{
|
|
12893
12893
|
isAnnual: targetInterval === "year",
|
|
12894
12894
|
onToggle: () => setChosenInterval(targetInterval === "year" ? "month" : "year"),
|
|
12895
|
-
savingsPercent:
|
|
12895
|
+
savingsPercent: chunkORIOOXUU_cjs.calcSavingsPercent(prices.monthly, prices.annual)
|
|
12896
12896
|
}
|
|
12897
12897
|
)
|
|
12898
12898
|
] }),
|
|
12899
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12899
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanStack, { gap: 2, children: packOptions.map((packs) => {
|
|
12900
12900
|
const { total, summary } = optionFor(packs);
|
|
12901
12901
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12902
|
-
|
|
12902
|
+
chunkQB7PNQDJ_cjs.PlanTierOption,
|
|
12903
12903
|
{
|
|
12904
12904
|
onSelect: setTargetPacks,
|
|
12905
12905
|
option: {
|
|
@@ -12916,13 +12916,13 @@ function ChangeProPlan({
|
|
|
12916
12916
|
);
|
|
12917
12917
|
}) }),
|
|
12918
12918
|
isLegacyMultiPack && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [
|
|
12919
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12920
|
-
|
|
12919
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.PlanNotice, { className: "text-xs", testId: "change-plan-legacy-note", children: [
|
|
12920
|
+
chunkORIOOXUU_cjs.proTierName(project),
|
|
12921
12921
|
" is no longer sold"
|
|
12922
12922
|
] }),
|
|
12923
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12923
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.MoreInfo, { title: "Legacy plan", testId: "change-plan-legacy-more-info", children: [
|
|
12924
12924
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
|
|
12925
|
-
|
|
12925
|
+
chunkORIOOXUU_cjs.proTierName(project),
|
|
12926
12926
|
" keeps renewing at its own price, with its allowance and add-ons, until you change it."
|
|
12927
12927
|
] }),
|
|
12928
12928
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
|
|
@@ -12943,7 +12943,7 @@ function ChangeProPlan({
|
|
|
12943
12943
|
),
|
|
12944
12944
|
targetPacks > 0 && /* @__PURE__ */ jsxRuntime.jsx(ConnectedReferralRewardNote, {}),
|
|
12945
12945
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12946
|
-
|
|
12946
|
+
chunkQB7PNQDJ_cjs.PlanActionButton,
|
|
12947
12947
|
{
|
|
12948
12948
|
onClick: apply,
|
|
12949
12949
|
disabled: noChange || isPending,
|
|
@@ -12954,9 +12954,9 @@ function ChangeProPlan({
|
|
|
12954
12954
|
] });
|
|
12955
12955
|
}
|
|
12956
12956
|
function ChangePlanDialog({ project, open, onOpenChange }) {
|
|
12957
|
-
const isPro = !!project &&
|
|
12957
|
+
const isPro = !!project && chunkORIOOXUU_cjs.isProProject(project);
|
|
12958
12958
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12959
|
-
|
|
12959
|
+
chunkQB7PNQDJ_cjs.PlanDialogFrame,
|
|
12960
12960
|
{
|
|
12961
12961
|
open,
|
|
12962
12962
|
onOpenChange,
|
|
@@ -12976,14 +12976,14 @@ function ChangePlanDialog({ project, open, onOpenChange }) {
|
|
|
12976
12976
|
}
|
|
12977
12977
|
function ProjectsTable() {
|
|
12978
12978
|
const { data: projects, isLoading } = react.useProjects();
|
|
12979
|
-
const currentUserExtId =
|
|
12979
|
+
const currentUserExtId = chunkORIOOXUU_cjs.useSelfExtId();
|
|
12980
12980
|
const { openProject } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
12981
12981
|
const updateProject = react.useUpdateProjectFields();
|
|
12982
12982
|
const [renameTarget, setRenameTarget] = react$1.useState(null);
|
|
12983
12983
|
const [renameValue, setRenameValue] = react$1.useState("");
|
|
12984
12984
|
const [invoicesTarget, setInvoicesTarget] = react$1.useState(null);
|
|
12985
12985
|
const [upgradeTarget, setUpgradeTarget] = react$1.useState(null);
|
|
12986
|
-
const { stripeEnabled } =
|
|
12986
|
+
const { stripeEnabled } = chunkORIOOXUU_cjs.useBillingSupport();
|
|
12987
12987
|
const ownedProjects = react$1.useMemo(
|
|
12988
12988
|
() => (projects ?? []).filter((p) => p.created_by === currentUserExtId),
|
|
12989
12989
|
[projects, currentUserExtId]
|
|
@@ -13022,13 +13022,13 @@ function ProjectsTable() {
|
|
|
13022
13022
|
const hasPaid = p.subscription === "active" || p.subscription === "past_due";
|
|
13023
13023
|
const canUpgrade = stripeEnabled && !hasPaid && p.subscription !== "canceled" && p.subscription !== "dev";
|
|
13024
13024
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13025
|
-
|
|
13025
|
+
chunkQB7PNQDJ_cjs.ProjectRow,
|
|
13026
13026
|
{
|
|
13027
13027
|
testId: `project-row-${p.external_id}`,
|
|
13028
13028
|
onOpen: () => openProject(p.external_id),
|
|
13029
13029
|
identity: /* @__PURE__ */ jsxRuntime.jsx(BillingProjectEntity, { name: p.name, relation: "mine", subscription: p.subscription, size: "sm" }),
|
|
13030
|
-
summary: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13031
|
-
usage: p.quotas ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
13030
|
+
summary: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanBadge, { ...chunkORIOOXUU_cjs.planBadgeView(p) }) }) : void 0,
|
|
13031
|
+
usage: p.quotas ? /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.QuotaMeter, { items: chunkORIOOXUU_cjs.getQuotaItems(p.quotas), size: "lg" }) : void 0,
|
|
13032
13032
|
actions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
13033
13033
|
canUpgrade && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
13034
13034
|
ui.Button,
|
|
@@ -13062,9 +13062,9 @@ function ProjectsTable() {
|
|
|
13062
13062
|
);
|
|
13063
13063
|
};
|
|
13064
13064
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
13065
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13065
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.ProjectList, { isLoading, isEmpty: ownedProjects.length === 0, isFilteredOut: false, children: ownedProjects.map(renderRow) }),
|
|
13066
13066
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13067
|
-
|
|
13067
|
+
chunkQB7PNQDJ_cjs.RenameDialog,
|
|
13068
13068
|
{
|
|
13069
13069
|
open: !!renameTarget,
|
|
13070
13070
|
onClose: () => setRenameTarget(null),
|
|
@@ -13095,7 +13095,7 @@ function ProjectsTable() {
|
|
|
13095
13095
|
}
|
|
13096
13096
|
function SharedProjects() {
|
|
13097
13097
|
const { data: projects } = react.useProjects();
|
|
13098
|
-
const currentUserExtId =
|
|
13098
|
+
const currentUserExtId = chunkORIOOXUU_cjs.useSelfExtId();
|
|
13099
13099
|
const { data: usageToday } = react.useUserUsageToday();
|
|
13100
13100
|
const shared = react$1.useMemo(
|
|
13101
13101
|
() => (projects ?? []).filter((p) => p.created_by !== currentUserExtId),
|
|
@@ -13104,13 +13104,13 @@ function SharedProjects() {
|
|
|
13104
13104
|
if (shared.length === 0) return null;
|
|
13105
13105
|
const usedToday = usageToday?.used_gbp ?? 0;
|
|
13106
13106
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13107
|
-
|
|
13107
|
+
chunkQB7PNQDJ_cjs.SharedProjectsSection,
|
|
13108
13108
|
{
|
|
13109
13109
|
footnote: `Your daily AI usage allowance in ${ui.entityNoun("PROJECT", "PLURAL")} other people run \u2014 their plan and billing are theirs.`,
|
|
13110
13110
|
children: shared.map((p) => {
|
|
13111
13111
|
const cap = p.daily_cap_per_user;
|
|
13112
13112
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13113
|
-
|
|
13113
|
+
chunkQB7PNQDJ_cjs.SharedProjectRow,
|
|
13114
13114
|
{
|
|
13115
13115
|
testId: `shared-project-${p.external_id}`,
|
|
13116
13116
|
identity: /* @__PURE__ */ jsxRuntime.jsx(BillingProjectEntity, { name: p.name, relation: "other", size: "sm" }),
|
|
@@ -13156,7 +13156,7 @@ function DailyCapEditor({ project }) {
|
|
|
13156
13156
|
);
|
|
13157
13157
|
};
|
|
13158
13158
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13159
|
-
|
|
13159
|
+
chunkQB7PNQDJ_cjs.DailyCapField,
|
|
13160
13160
|
{
|
|
13161
13161
|
value,
|
|
13162
13162
|
onChange: setValue,
|
|
@@ -13169,11 +13169,11 @@ function DailyCapEditor({ project }) {
|
|
|
13169
13169
|
function SubscriptionStatus({ project }) {
|
|
13170
13170
|
const { quotas, cancel_at_period_end, subscription, current_period_end, addons } = project;
|
|
13171
13171
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13172
|
-
|
|
13172
|
+
chunkQB7PNQDJ_cjs.SubscriptionStatusView,
|
|
13173
13173
|
{
|
|
13174
|
-
resetDate:
|
|
13174
|
+
resetDate: chunkORIOOXUU_cjs.formatResetDate(addons?.ai_usage_reset_at ?? current_period_end),
|
|
13175
13175
|
isCanceling: subscription === "canceled" || cancel_at_period_end === true,
|
|
13176
|
-
meters:
|
|
13176
|
+
meters: chunkORIOOXUU_cjs.getQuotaItems(quotas).map((q) => ({
|
|
13177
13177
|
key: q.key,
|
|
13178
13178
|
icon: q.icon,
|
|
13179
13179
|
label: q.label,
|
|
@@ -13237,7 +13237,7 @@ function PendingChange({
|
|
|
13237
13237
|
}
|
|
13238
13238
|
);
|
|
13239
13239
|
}
|
|
13240
|
-
var titleFor = (kind, blockAiGbp, blockStorageGb) => kind === "ai_usage" ? `Add ${react.formatGbp(blockAiGbp ??
|
|
13240
|
+
var titleFor = (kind, blockAiGbp, blockStorageGb) => kind === "ai_usage" ? `Add ${react.formatGbp(blockAiGbp ?? chunkORIOOXUU_cjs.ADDON_BLOCK_AI_GBP)} of AI usage` : `Add ${blockStorageGb ?? chunkORIOOXUU_cjs.STORAGE_BLOCK_GB} GB storage`;
|
|
13241
13241
|
var blocksOf = (kind, project) => (kind === "ai_usage" ? project.addons?.ai_blocks : project.addons?.storage_blocks) ?? 0;
|
|
13242
13242
|
function Row({ label, children }) {
|
|
13243
13243
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-baseline justify-between gap-4", children: [
|
|
@@ -13258,11 +13258,11 @@ function AddAddonDialog({
|
|
|
13258
13258
|
const addons = project.addons;
|
|
13259
13259
|
if (!addons) return null;
|
|
13260
13260
|
const isAnnual = project.plan_interval === "year";
|
|
13261
|
-
const price =
|
|
13262
|
-
const nextCharge =
|
|
13263
|
-
const now = quote.data ?
|
|
13264
|
-
const renewal = quote.data ?
|
|
13265
|
-
const today = now ? { total:
|
|
13261
|
+
const price = chunkORIOOXUU_cjs.addonCharge(kind, addons, isAnnual, addons.period_end ?? project.current_period_end);
|
|
13262
|
+
const nextCharge = chunkORIOOXUU_cjs.formatPeriodEnd(addons.period_end ?? project.current_period_end);
|
|
13263
|
+
const now = quote.data ? chunkORIOOXUU_cjs.quoteParts(quote.data.now) : null;
|
|
13264
|
+
const renewal = quote.data ? chunkORIOOXUU_cjs.quoteParts(quote.data.renewal) : null;
|
|
13265
|
+
const today = now ? { total: chunkORIOOXUU_cjs.money2(now.total), detail: chunkORIOOXUU_cjs.taxDetail(now) } : { total: price.now, detail: `incl. VAT (${price.nowExVat} + ${price.nowVat} VAT)` };
|
|
13266
13266
|
const pricing = quote.isLoading;
|
|
13267
13267
|
const confirm = () => {
|
|
13268
13268
|
const before = blocksOf(kind, project);
|
|
@@ -13301,8 +13301,8 @@ function AddAddonDialog({
|
|
|
13301
13301
|
isAnnual ? "yearly" : "monthly",
|
|
13302
13302
|
" \xB7 no refund"
|
|
13303
13303
|
] }),
|
|
13304
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13305
|
-
|
|
13304
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.MoreInfo, { title: "Adding a top-up", testId: "add-addon-more-info", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13305
|
+
chunkQB7PNQDJ_cjs.MoreInfoList,
|
|
13306
13306
|
{
|
|
13307
13307
|
items: [
|
|
13308
13308
|
{
|
|
@@ -13317,7 +13317,7 @@ function AddAddonDialog({
|
|
|
13317
13317
|
term: "Usage cap",
|
|
13318
13318
|
text: "Adding by hand is never blocked by the usage cap; the cap limits automatic top-ups only."
|
|
13319
13319
|
},
|
|
13320
|
-
...isAnnual && kind === "ai_usage" ? [{ term: "Annual", text: `${
|
|
13320
|
+
...isAnnual && kind === "ai_usage" ? [{ term: "Annual", text: `${chunkORIOOXUU_cjs.ANNUAL_PREMIUM_AI_NOTE}.` }] : []
|
|
13321
13321
|
]
|
|
13322
13322
|
}
|
|
13323
13323
|
) })
|
|
@@ -13340,7 +13340,7 @@ function AddAddonDialog({
|
|
|
13340
13340
|
)
|
|
13341
13341
|
] }) }),
|
|
13342
13342
|
!pricing && /* @__PURE__ */ jsxRuntime.jsxs(Row, { label: "Next charge", children: [
|
|
13343
|
-
renewal ?
|
|
13343
|
+
renewal ? chunkORIOOXUU_cjs.totalWithTaxWord(renewal) : price.then.replace(/\/(month|year)/, ""),
|
|
13344
13344
|
nextCharge ? ` on ${nextCharge}` : " at renewal"
|
|
13345
13345
|
] })
|
|
13346
13346
|
] }) }),
|
|
@@ -13371,11 +13371,11 @@ function ReduceAddonDialog({
|
|
|
13371
13371
|
const update = react.useUpdateProjectNextPeriodAddons();
|
|
13372
13372
|
const addons = project.addons;
|
|
13373
13373
|
if (!addons) return null;
|
|
13374
|
-
const { min, next } =
|
|
13374
|
+
const { min, next } = chunkORIOOXUU_cjs.reduceBounds(kind, addons);
|
|
13375
13375
|
const keep2 = Math.max(min, next - 1);
|
|
13376
|
-
const size =
|
|
13377
|
-
const what =
|
|
13378
|
-
const from =
|
|
13376
|
+
const size = chunkORIOOXUU_cjs.nextRemovedBlockSize(kind, addons);
|
|
13377
|
+
const what = chunkORIOOXUU_cjs.stepLabel(kind, size);
|
|
13378
|
+
const from = chunkORIOOXUU_cjs.formatPeriodEnd(addons.period_end ?? project.current_period_end) ?? "your next renewal";
|
|
13379
13379
|
const fromShort = from.replace(/ \d{4}$/, "");
|
|
13380
13380
|
const allowanceNext = kind === "ai_usage" ? addons.ai_allowance_next_gbp - size : addons.storage_allowance_next_gb - size;
|
|
13381
13381
|
const allowanceNow = kind === "ai_usage" ? addons.ai_allowance_gbp : addons.storage_allowance_gb;
|
|
@@ -13383,7 +13383,7 @@ function ReduceAddonDialog({
|
|
|
13383
13383
|
const save = () => update.mutate(
|
|
13384
13384
|
{
|
|
13385
13385
|
projectExtId: project.external_id,
|
|
13386
|
-
body:
|
|
13386
|
+
body: chunkORIOOXUU_cjs.nextPeriodBody(kind, keep2)
|
|
13387
13387
|
},
|
|
13388
13388
|
{
|
|
13389
13389
|
onSuccess: () => {
|
|
@@ -13411,7 +13411,7 @@ function ReduceAddonDialog({
|
|
|
13411
13411
|
fromShort,
|
|
13412
13412
|
" \xB7 no refund"
|
|
13413
13413
|
] }),
|
|
13414
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
13414
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.MoreInfo, { title: "Reducing a top-up", testId: "reduce-addon-more-info", children: [
|
|
13415
13415
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
|
|
13416
13416
|
"The reduction applies from your next renewal (",
|
|
13417
13417
|
from,
|
|
@@ -13450,7 +13450,7 @@ function ReduceAddonDialog({
|
|
|
13450
13450
|
}
|
|
13451
13451
|
) });
|
|
13452
13452
|
}
|
|
13453
|
-
var gbp = (pence) =>
|
|
13453
|
+
var gbp = (pence) => chunkORIOOXUU_cjs.formatMoney(pence, "gbp");
|
|
13454
13454
|
var gb2 = (n) => `${Math.round(n * 10) / 10} GB`;
|
|
13455
13455
|
var pct = (used, limit) => limit > 0 ? Math.min(100, used / limit * 100) : 0;
|
|
13456
13456
|
function formatShortDate(unix) {
|
|
@@ -13462,20 +13462,20 @@ function AutoTopupThreshold({
|
|
|
13462
13462
|
addons
|
|
13463
13463
|
}) {
|
|
13464
13464
|
const updateSettings = react.useUpdateProjectAddonSettings();
|
|
13465
|
-
const min = addons.min_auto_topup_threshold_gbp ||
|
|
13465
|
+
const min = addons.min_auto_topup_threshold_gbp || chunkORIOOXUU_cjs.MIN_AUTO_TOPUP_THRESHOLD_GBP;
|
|
13466
13466
|
const saved = addons.auto_topup_threshold_gbp;
|
|
13467
13467
|
const [value, setValue] = react$1.useState(String(saved));
|
|
13468
13468
|
react$1.useEffect(() => setValue(String(saved)), [saved]);
|
|
13469
13469
|
const parsed = Number(value);
|
|
13470
13470
|
const valid = Number.isFinite(parsed) && parsed >= min;
|
|
13471
13471
|
const dirty = valid && parsed !== saved;
|
|
13472
|
-
const off =
|
|
13472
|
+
const off = chunkORIOOXUU_cjs.isAddonBudgetZero(addons);
|
|
13473
13473
|
const save = () => {
|
|
13474
13474
|
if (!dirty) return;
|
|
13475
13475
|
updateSettings.mutate(
|
|
13476
13476
|
{
|
|
13477
13477
|
projectExtId: project.external_id,
|
|
13478
|
-
body:
|
|
13478
|
+
body: chunkORIOOXUU_cjs.addonSettingsBody(addons, { auto_topup_threshold_gbp: parsed })
|
|
13479
13479
|
},
|
|
13480
13480
|
{
|
|
13481
13481
|
onSuccess: () => shell.notify.success(`Auto-add below ${react.formatGbp(parsed)} of AI usage left`),
|
|
@@ -13572,10 +13572,10 @@ function ResourceMeter({
|
|
|
13572
13572
|
const update = react.useUpdateProjectNextPeriodAddons();
|
|
13573
13573
|
const isAi = kind === "ai_usage";
|
|
13574
13574
|
const slug = isAi ? "ai-usage" : "storage";
|
|
13575
|
-
const periodEnd =
|
|
13575
|
+
const periodEnd = chunkORIOOXUU_cjs.formatPeriodEnd(addons.period_end ?? project.current_period_end);
|
|
13576
13576
|
const from = periodEnd ?? "your next renewal";
|
|
13577
13577
|
const fromShort = formatShortDate(addons.period_end ?? project.current_period_end) ?? "renewal";
|
|
13578
|
-
const { min, current, next } =
|
|
13578
|
+
const { min, current, next } = chunkORIOOXUU_cjs.reduceBounds(kind, addons);
|
|
13579
13579
|
const fmt = (n) => isAi ? react.formatGbp(n) : gb2(n);
|
|
13580
13580
|
const used = isAi ? addons.ai_used_gbp : addons.storage_used_gb;
|
|
13581
13581
|
const allowance = isAi ? addons.ai_allowance_gbp : addons.storage_allowance_gb;
|
|
@@ -13583,15 +13583,15 @@ function ResourceMeter({
|
|
|
13583
13583
|
const plan = isAi ? addons.plan_ai_gbp : addons.plan_storage_gb;
|
|
13584
13584
|
const topUps = Math.max(0, allowance - plan);
|
|
13585
13585
|
const blocks = isAi ? addons.ai_blocks : addons.storage_blocks;
|
|
13586
|
-
const hasLegacy =
|
|
13587
|
-
const room =
|
|
13588
|
-
const capZero =
|
|
13589
|
-
const resets = isAi ? formatShortDate(
|
|
13590
|
-
const removeSize =
|
|
13586
|
+
const hasLegacy = chunkORIOOXUU_cjs.splitBlocks(kind, blocks, addons).legacy > 0;
|
|
13587
|
+
const room = chunkORIOOXUU_cjs.autoRoom(kind, addons);
|
|
13588
|
+
const capZero = chunkORIOOXUU_cjs.isAddonBudgetZero(addons);
|
|
13589
|
+
const resets = isAi ? formatShortDate(chunkORIOOXUU_cjs.aiUsageResetTimestamp(project)) : null;
|
|
13590
|
+
const removeSize = chunkORIOOXUU_cjs.nextRemovedBlockSize(kind, addons);
|
|
13591
13591
|
const undo = () => update.mutate(
|
|
13592
13592
|
{
|
|
13593
13593
|
projectExtId: project.external_id,
|
|
13594
|
-
body:
|
|
13594
|
+
body: chunkORIOOXUU_cjs.nextPeriodBody(kind, current)
|
|
13595
13595
|
},
|
|
13596
13596
|
{
|
|
13597
13597
|
onSuccess: () => shell.notify.success("Kept"),
|
|
@@ -13608,7 +13608,7 @@ function ResourceMeter({
|
|
|
13608
13608
|
allowance: { used, plan, topUps, autoRoom: capZero ? 0 : room },
|
|
13609
13609
|
legend: {
|
|
13610
13610
|
plan: `Plan ${fmt(plan)}`,
|
|
13611
|
-
topUps: topUps > 0 ? `Top-ups ${fmt(topUps)}${hasLegacy ? ` (${
|
|
13611
|
+
topUps: topUps > 0 ? `Top-ups ${fmt(topUps)}${hasLegacy ? ` (${chunkORIOOXUU_cjs.blocksLabel(kind, blocks, addons)})` : ""}` : void 0,
|
|
13612
13612
|
autoRoom: room != null && room > 0 && !capZero ? `Automatic up to ${fmt(room)}` : void 0
|
|
13613
13613
|
},
|
|
13614
13614
|
testId: `usage-meter-${slug}`,
|
|
@@ -13637,9 +13637,9 @@ function ResourceMeter({
|
|
|
13637
13637
|
{
|
|
13638
13638
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-3.5" }),
|
|
13639
13639
|
label: isAi ? react.formatGbp(addons.block_ai_gbp) : `${addons.block_storage_gb} GB`,
|
|
13640
|
-
caption:
|
|
13640
|
+
caption: chunkORIOOXUU_cjs.addStepCaption(kind, addons),
|
|
13641
13641
|
onClick: onAdd,
|
|
13642
|
-
ariaLabel: `Add ${
|
|
13642
|
+
ariaLabel: `Add ${chunkORIOOXUU_cjs.stepLabel(kind, isAi ? addons.block_ai_gbp : addons.block_storage_gb)}`,
|
|
13643
13643
|
testId: isAi ? "add-ai-block-button" : "add-storage-block-button"
|
|
13644
13644
|
}
|
|
13645
13645
|
),
|
|
@@ -13650,7 +13650,7 @@ function ResourceMeter({
|
|
|
13650
13650
|
label: isAi ? react.formatGbp(removeSize) : `${removeSize} GB`,
|
|
13651
13651
|
caption: `from ${fromShort}`,
|
|
13652
13652
|
onClick: onReduce,
|
|
13653
|
-
ariaLabel: `Remove ${
|
|
13653
|
+
ariaLabel: `Remove ${chunkORIOOXUU_cjs.stepLabel(kind, removeSize)} from ${from}`,
|
|
13654
13654
|
testId: `reduce-${slug}-button`
|
|
13655
13655
|
}
|
|
13656
13656
|
)
|
|
@@ -13689,10 +13689,10 @@ function UsageCapEditor({ project, addons }) {
|
|
|
13689
13689
|
updateSettings.mutate(
|
|
13690
13690
|
{
|
|
13691
13691
|
projectExtId: project.external_id,
|
|
13692
|
-
body:
|
|
13692
|
+
body: chunkORIOOXUU_cjs.addonSettingsBody(addons, { spend_cap_pence: nextCap })
|
|
13693
13693
|
},
|
|
13694
13694
|
{
|
|
13695
|
-
onSuccess: () => shell.notify.success(
|
|
13695
|
+
onSuccess: () => shell.notify.success(chunkORIOOXUU_cjs.budgetSavedMessage(nextCap)),
|
|
13696
13696
|
onError: (error) => shell.notify.error(addonErrorMessage(error))
|
|
13697
13697
|
}
|
|
13698
13698
|
);
|
|
@@ -13703,14 +13703,14 @@ function UsageCapEditor({ project, addons }) {
|
|
|
13703
13703
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13704
13704
|
chunkQZTNTP75_cjs.UsageMeter,
|
|
13705
13705
|
{
|
|
13706
|
-
label:
|
|
13706
|
+
label: chunkORIOOXUU_cjs.USAGE_CAP_LABEL,
|
|
13707
13707
|
hint: spendResets && savedCap !== 0 ? `resets ${spendResets}` : void 0,
|
|
13708
13708
|
value: readout,
|
|
13709
13709
|
pct: savedCap != null && savedCap > 0 ? pct(spent, savedCap) : 0,
|
|
13710
13710
|
testId: "addon-spend"
|
|
13711
13711
|
}
|
|
13712
13712
|
),
|
|
13713
|
-
addons.cap_reached && savedCap != null && savedCap > 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", "data-testid": "addon-cap-reached", children:
|
|
13713
|
+
addons.cap_reached && savedCap != null && savedCap > 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", "data-testid": "addon-cap-reached", children: chunkORIOOXUU_cjs.CAP_REACHED_MESSAGE }),
|
|
13714
13714
|
addons.manual_spent_pence > 0 && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground", "data-testid": "addon-manual-spend", children: [
|
|
13715
13715
|
"Added by hand this month: ",
|
|
13716
13716
|
gbp(addons.manual_spent_pence),
|
|
@@ -13731,7 +13731,7 @@ function UsageCapEditor({ project, addons }) {
|
|
|
13731
13731
|
step: 25,
|
|
13732
13732
|
className: "h-9 w-28",
|
|
13733
13733
|
value: noCap ? "" : value,
|
|
13734
|
-
placeholder: noCap ? "No limit" : String(
|
|
13734
|
+
placeholder: noCap ? "No limit" : String(chunkORIOOXUU_cjs.DEFAULT_SPEND_CAP_PENCE / 100),
|
|
13735
13735
|
disabled: noCap,
|
|
13736
13736
|
onChange: (e) => setValue(e.target.value),
|
|
13737
13737
|
onKeyDown: (e) => e.key === "Enter" && save(),
|
|
@@ -13757,7 +13757,7 @@ function UsageCapEditor({ project, addons }) {
|
|
|
13757
13757
|
checked: noCap,
|
|
13758
13758
|
onCheckedChange: (checked) => {
|
|
13759
13759
|
setNoCap(checked);
|
|
13760
|
-
if (!checked && value === "") setValue(String(
|
|
13760
|
+
if (!checked && value === "") setValue(String(chunkORIOOXUU_cjs.DEFAULT_SPEND_CAP_PENCE / 100));
|
|
13761
13761
|
},
|
|
13762
13762
|
"data-testid": "no-cap-switch"
|
|
13763
13763
|
}
|
|
@@ -13770,8 +13770,8 @@ function UsageCapEditor({ project, addons }) {
|
|
|
13770
13770
|
function UsageInfo({ addons, isAnnual }) {
|
|
13771
13771
|
const period = isAnnual ? "year" : "month";
|
|
13772
13772
|
const legacy = (addons.legacy_ai_blocks ?? 0) > 0 || (addons.legacy_storage_blocks ?? 0) > 0;
|
|
13773
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13774
|
-
|
|
13773
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.MoreInfo, { title: "Usage and top-ups", testId: "usage-more-info", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13774
|
+
chunkQB7PNQDJ_cjs.MoreInfoList,
|
|
13775
13775
|
{
|
|
13776
13776
|
items: [
|
|
13777
13777
|
{
|
|
@@ -13786,7 +13786,7 @@ function UsageInfo({ addons, isAnnual }) {
|
|
|
13786
13786
|
term: "Automatic top-ups",
|
|
13787
13787
|
text: "One step is added when AI usage drops below your auto top-up level, or when an upload needs more storage."
|
|
13788
13788
|
},
|
|
13789
|
-
{ term: "Usage cap", text:
|
|
13789
|
+
{ term: "Usage cap", text: chunkORIOOXUU_cjs.USAGE_CAP_HELP },
|
|
13790
13790
|
{
|
|
13791
13791
|
term: "Reducing",
|
|
13792
13792
|
text: "\u2212 removes one step from your next renewal. You keep this period's allowance. No refunds."
|
|
@@ -13797,7 +13797,7 @@ function UsageInfo({ addons, isAnnual }) {
|
|
|
13797
13797
|
text: "Top-ups bought on an earlier price keep their size and price until removed; they are removed last."
|
|
13798
13798
|
}
|
|
13799
13799
|
] : [],
|
|
13800
|
-
...isAnnual ? [{ term: "Annual", text: `${
|
|
13800
|
+
...isAnnual ? [{ term: "Annual", text: `${chunkORIOOXUU_cjs.ANNUAL_PREMIUM_AI_NOTE}.` }] : [],
|
|
13801
13801
|
{
|
|
13802
13802
|
term: "Prices",
|
|
13803
13803
|
text: "Shown ex VAT. The confirm step shows the total with VAT before you pay."
|
|
@@ -13889,7 +13889,7 @@ function formatShortDate2(unix) {
|
|
|
13889
13889
|
if (!unix) return null;
|
|
13890
13890
|
return new Date(unix * 1e3).toLocaleDateString("en-GB", { day: "numeric", month: "short" });
|
|
13891
13891
|
}
|
|
13892
|
-
var gbp2 = (pence) =>
|
|
13892
|
+
var gbp2 = (pence) => chunkORIOOXUU_cjs.formatMoney(pence, "gbp");
|
|
13893
13893
|
var gbNum = (n) => `${Math.round(n * 10) / 10}`;
|
|
13894
13894
|
var pct2 = (used, limit) => limit > 0 ? Math.min(100, used / limit * 100) : 0;
|
|
13895
13895
|
function Meter({
|
|
@@ -13907,15 +13907,15 @@ function Meter({
|
|
|
13907
13907
|
] });
|
|
13908
13908
|
}
|
|
13909
13909
|
function usePlanPrice(project) {
|
|
13910
|
-
const { data: products } = react.useProducts({ enabled:
|
|
13911
|
-
if (!
|
|
13910
|
+
const { data: products } = react.useProducts({ enabled: chunkORIOOXUU_cjs.isProProject(project) });
|
|
13911
|
+
if (!chunkORIOOXUU_cjs.isProProject(project)) return null;
|
|
13912
13912
|
const isAnnual = project.plan_interval === "year";
|
|
13913
13913
|
if (project.amount != null) {
|
|
13914
13914
|
return { incl: project.amount, ex: project.amount_ex_vat ?? null, isAnnual };
|
|
13915
13915
|
}
|
|
13916
|
-
if ((project.packs ??
|
|
13917
|
-
const prices =
|
|
13918
|
-
const pp =
|
|
13916
|
+
if ((project.packs ?? chunkORIOOXUU_cjs.PRO_PACKS) > chunkORIOOXUU_cjs.PRO_PACKS) return null;
|
|
13917
|
+
const prices = chunkORIOOXUU_cjs.findProPrices(products);
|
|
13918
|
+
const pp = chunkORIOOXUU_cjs.packPrice(isAnnual ? prices.annual : prices.monthly);
|
|
13919
13919
|
return pp ? { incl: pp.amount, ex: pp.amount_ex_vat, isAnnual } : null;
|
|
13920
13920
|
}
|
|
13921
13921
|
function paidLine(payment, addons) {
|
|
@@ -13928,11 +13928,11 @@ function ProjectPlanCard({
|
|
|
13928
13928
|
onChangePlan
|
|
13929
13929
|
}) {
|
|
13930
13930
|
const { quotas, addons } = project;
|
|
13931
|
-
const isPro =
|
|
13931
|
+
const isPro = chunkORIOOXUU_cjs.isProProject(project);
|
|
13932
13932
|
const used = quotas?.ai_usage?.used ?? 0;
|
|
13933
13933
|
const limit = quotas?.ai_usage?.limit ?? 0;
|
|
13934
|
-
const resetDate = formatShortDate2(
|
|
13935
|
-
const periodEnd =
|
|
13934
|
+
const resetDate = formatShortDate2(chunkORIOOXUU_cjs.aiUsageResetTimestamp(project));
|
|
13935
|
+
const periodEnd = chunkORIOOXUU_cjs.formatPeriodEnd(addons?.period_end ?? project.current_period_end);
|
|
13936
13936
|
const when2 = periodEnd ?? "the end of the period";
|
|
13937
13937
|
const storageUsed = quotas?.storage_gb?.used ?? 0;
|
|
13938
13938
|
const storageLimit = quotas?.storage_gb?.limit ?? 0;
|
|
@@ -13948,7 +13948,7 @@ function ProjectPlanCard({
|
|
|
13948
13948
|
project.external_id,
|
|
13949
13949
|
hasScheduledChange && addons ? { packs: packsNext ?? addons.packs, interval: pending ?? currentInterval } : null
|
|
13950
13950
|
).data;
|
|
13951
|
-
const tier = isPro ?
|
|
13951
|
+
const tier = isPro ? chunkORIOOXUU_cjs.proTierName(project) : project.subscription === "dev" ? "Dev" : "Free";
|
|
13952
13952
|
const pendingPayment = addons?.payment?.status === "pending" ? addons.payment : null;
|
|
13953
13953
|
const confirmUrl = pendingPayment?.confirm_url ?? addons?.confirm_url;
|
|
13954
13954
|
const paidPayment = addons?.payment?.status === "paid" ? addons.payment : null;
|
|
@@ -13982,7 +13982,7 @@ function ProjectPlanCard({
|
|
|
13982
13982
|
isPro && " ",
|
|
13983
13983
|
isPro && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1 text-sm font-normal text-muted-foreground", children: currentInterval === "year" ? "Annual" : "Monthly" })
|
|
13984
13984
|
] }),
|
|
13985
|
-
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 ${
|
|
13985
|
+
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 ${chunkORIOOXUU_cjs.totalWithTaxWord({
|
|
13986
13986
|
subtotal: nextBill.next_renewal_ex_vat_pence,
|
|
13987
13987
|
tax: nextBill.next_renewal_tax_pence,
|
|
13988
13988
|
total: nextBill.next_renewal_pence,
|
|
@@ -13991,7 +13991,7 @@ function ProjectPlanCard({
|
|
|
13991
13991
|
] }),
|
|
13992
13992
|
price && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-auto text-right", "data-testid": "project-plan-price", children: [
|
|
13993
13993
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-lg font-semibold tabular-nums text-foreground", children: [
|
|
13994
|
-
price.ex != null ?
|
|
13994
|
+
price.ex != null ? chunkORIOOXUU_cjs.plusVat(price.ex) : gbp2(price.incl),
|
|
13995
13995
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-normal text-muted-foreground", children: price.isAnnual ? "/year" : "/month" })
|
|
13996
13996
|
] }),
|
|
13997
13997
|
price.ex != null && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-muted-foreground", children: [
|
|
@@ -14029,7 +14029,7 @@ function ProjectPlanCard({
|
|
|
14029
14029
|
undoTestId: "undo-plan-change-button",
|
|
14030
14030
|
children: [
|
|
14031
14031
|
"Changes to ",
|
|
14032
|
-
|
|
14032
|
+
chunkORIOOXUU_cjs.planNameForPacks(packsNext),
|
|
14033
14033
|
" on ",
|
|
14034
14034
|
when2,
|
|
14035
14035
|
"."
|
|
@@ -14074,8 +14074,8 @@ function ProjectPlanCard({
|
|
|
14074
14074
|
}
|
|
14075
14075
|
)
|
|
14076
14076
|
] }),
|
|
14077
|
-
addons?.billing_error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14078
|
-
confirmUrl ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14077
|
+
addons?.billing_error && /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanNotice, { tone: "error", testId: "plan-billing-error", children: addons.billing_error }),
|
|
14078
|
+
confirmUrl ? /* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.PlanNotice, { testId: "plan-payment-state", children: [
|
|
14079
14079
|
"Waiting for your bank",
|
|
14080
14080
|
pendingPayment?.amount_pence ? ` \xB7 ${gbp2(pendingPayment.amount_pence)}` : "",
|
|
14081
14081
|
" \xB7",
|
|
@@ -14093,7 +14093,7 @@ function ProjectPlanCard({
|
|
|
14093
14093
|
]
|
|
14094
14094
|
}
|
|
14095
14095
|
)
|
|
14096
|
-
] }) : paidPayment && addons && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14096
|
+
] }) : paidPayment && addons && /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanNotice, { testId: "plan-payment-state", children: paidLine(paidPayment, addons) }),
|
|
14097
14097
|
isPro && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14098
14098
|
"button",
|
|
14099
14099
|
{
|
|
@@ -14120,7 +14120,7 @@ function ProjectBilling({
|
|
|
14120
14120
|
const { addons } = project;
|
|
14121
14121
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", "data-testid": "project-billing", children: [
|
|
14122
14122
|
/* @__PURE__ */ jsxRuntime.jsx(ProjectPlanCard, { project, onChangePlan }),
|
|
14123
|
-
addons &&
|
|
14123
|
+
addons && chunkORIOOXUU_cjs.isProProject(project) && /* @__PURE__ */ jsxRuntime.jsx(ProjectUsageCard, { project, addons })
|
|
14124
14124
|
] });
|
|
14125
14125
|
}
|
|
14126
14126
|
var BREAKDOWN_LABELS = {
|
|
@@ -14251,13 +14251,13 @@ function ProjectUsageContent({
|
|
|
14251
14251
|
};
|
|
14252
14252
|
const quotaPct = effectiveUsage && aiUsageLimit ? Math.round(effectiveUsage.total_spend / aiUsageLimit * 100) : 0;
|
|
14253
14253
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14254
|
-
|
|
14254
|
+
chunkQB7PNQDJ_cjs.UsagePanel,
|
|
14255
14255
|
{
|
|
14256
14256
|
state,
|
|
14257
14257
|
dateRange,
|
|
14258
14258
|
emptyMessage: `No usage ${period === "current" ? "yet this month" : "last month"}.`,
|
|
14259
14259
|
period: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14260
|
-
|
|
14260
|
+
chunkQB7PNQDJ_cjs.UsageToggle,
|
|
14261
14261
|
{
|
|
14262
14262
|
ariaLabel: "Period",
|
|
14263
14263
|
value: period,
|
|
@@ -14270,7 +14270,7 @@ function ProjectUsageContent({
|
|
|
14270
14270
|
),
|
|
14271
14271
|
actions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
14272
14272
|
effectiveUsage?.invoice_pdf && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14273
|
-
|
|
14273
|
+
chunkQB7PNQDJ_cjs.UsageActionButton,
|
|
14274
14274
|
{
|
|
14275
14275
|
label: "Download Stripe invoice PDF",
|
|
14276
14276
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { className: "size-3.5" }),
|
|
@@ -14278,7 +14278,7 @@ function ProjectUsageContent({
|
|
|
14278
14278
|
}
|
|
14279
14279
|
),
|
|
14280
14280
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14281
|
-
|
|
14281
|
+
chunkQB7PNQDJ_cjs.UsageActionButton,
|
|
14282
14282
|
{
|
|
14283
14283
|
label: "Print usage summary",
|
|
14284
14284
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Printer, { className: "size-3.5" }),
|
|
@@ -14288,7 +14288,7 @@ function ProjectUsageContent({
|
|
|
14288
14288
|
] }),
|
|
14289
14289
|
children: effectiveUsage && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
14290
14290
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14291
|
-
|
|
14291
|
+
chunkQB7PNQDJ_cjs.UsageSummary,
|
|
14292
14292
|
{
|
|
14293
14293
|
stats: [
|
|
14294
14294
|
{
|
|
@@ -14296,7 +14296,7 @@ function ProjectUsageContent({
|
|
|
14296
14296
|
value: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: react.formatGbp(effectiveUsage.total_spend) }),
|
|
14297
14297
|
label: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
14298
14298
|
"AI usage",
|
|
14299
|
-
quotaPct > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14299
|
+
quotaPct > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.UsageQuotaHint, { children: [
|
|
14300
14300
|
"(",
|
|
14301
14301
|
quotaPct,
|
|
14302
14302
|
"% of quota)"
|
|
@@ -14317,7 +14317,7 @@ function ProjectUsageContent({
|
|
|
14317
14317
|
}
|
|
14318
14318
|
),
|
|
14319
14319
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14320
|
-
|
|
14320
|
+
chunkQB7PNQDJ_cjs.UsageToggle,
|
|
14321
14321
|
{
|
|
14322
14322
|
ariaLabel: "Breakdown by",
|
|
14323
14323
|
size: "fill",
|
|
@@ -14330,12 +14330,12 @@ function ProjectUsageContent({
|
|
|
14330
14330
|
}
|
|
14331
14331
|
),
|
|
14332
14332
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14333
|
-
|
|
14333
|
+
chunkQB7PNQDJ_cjs.UsageSection,
|
|
14334
14334
|
{
|
|
14335
|
-
footer: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14335
|
+
footer: /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.UsageLegend, { series }),
|
|
14336
14336
|
title: `Daily AI usage${breakdown === "model" ? ` by ${BREAKDOWN_LABELS[breakdown]}` : ""}`,
|
|
14337
14337
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14338
|
-
|
|
14338
|
+
chunkQB7PNQDJ_cjs.UsageLineChart,
|
|
14339
14339
|
{
|
|
14340
14340
|
dates,
|
|
14341
14341
|
series,
|
|
@@ -14346,12 +14346,12 @@ function ProjectUsageContent({
|
|
|
14346
14346
|
}
|
|
14347
14347
|
),
|
|
14348
14348
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14349
|
-
|
|
14349
|
+
chunkQB7PNQDJ_cjs.UsageSection,
|
|
14350
14350
|
{
|
|
14351
14351
|
title: "Breakdown",
|
|
14352
14352
|
gap: "md",
|
|
14353
14353
|
action: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14354
|
-
|
|
14354
|
+
chunkQB7PNQDJ_cjs.UsageToggle,
|
|
14355
14355
|
{
|
|
14356
14356
|
ariaLabel: "Breakdown metric",
|
|
14357
14357
|
value: metric,
|
|
@@ -14363,7 +14363,7 @@ function ProjectUsageContent({
|
|
|
14363
14363
|
}
|
|
14364
14364
|
),
|
|
14365
14365
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14366
|
-
|
|
14366
|
+
chunkQB7PNQDJ_cjs.UsageProportionBar,
|
|
14367
14367
|
{
|
|
14368
14368
|
metric,
|
|
14369
14369
|
items: breakdownItems.map((item) => ({
|
|
@@ -14381,13 +14381,13 @@ function ProjectUsageContent({
|
|
|
14381
14381
|
);
|
|
14382
14382
|
}
|
|
14383
14383
|
function ProjectDetail({ projectExtId, storage }) {
|
|
14384
|
-
const { stripeEnabled } =
|
|
14384
|
+
const { stripeEnabled } = chunkORIOOXUU_cjs.useBillingSupport();
|
|
14385
14385
|
const [planOpen, setPlanOpen] = react$1.useState(false);
|
|
14386
14386
|
const [renameOpen, setRenameOpen] = react$1.useState(false);
|
|
14387
14387
|
const [renameValue, setRenameValue] = react$1.useState("");
|
|
14388
14388
|
const updateProject = react.useUpdateProjectFields();
|
|
14389
14389
|
const { data: projects, isLoading } = react.useProjects();
|
|
14390
|
-
const currentUserExtId =
|
|
14390
|
+
const currentUserExtId = chunkORIOOXUU_cjs.useSelfExtId();
|
|
14391
14391
|
const project = projects?.find((p) => p.external_id === projectExtId);
|
|
14392
14392
|
const handleSaveRename = react$1.useCallback(() => {
|
|
14393
14393
|
const trimmed = renameValue.trim();
|
|
@@ -14425,7 +14425,7 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
14425
14425
|
}
|
|
14426
14426
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-6 space-y-6 max-w-4xl", "data-testid": `project-detail-${project.external_id}`, children: [
|
|
14427
14427
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14428
|
-
|
|
14428
|
+
chunkQB7PNQDJ_cjs.ProjectDetailHeader,
|
|
14429
14429
|
{
|
|
14430
14430
|
icon: /* @__PURE__ */ jsxRuntime.jsx(ui.EntityIcon, { entityType: "PROJECT" }),
|
|
14431
14431
|
name: project.name,
|
|
@@ -14433,11 +14433,11 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
14433
14433
|
setRenameValue(project.name);
|
|
14434
14434
|
setRenameOpen(true);
|
|
14435
14435
|
},
|
|
14436
|
-
badge: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
14436
|
+
badge: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanBadge, { ...chunkORIOOXUU_cjs.planBadgeView(project), size: "md" }) : void 0
|
|
14437
14437
|
}
|
|
14438
14438
|
),
|
|
14439
14439
|
hasBilling && /* @__PURE__ */ jsxRuntime.jsx(ProjectBilling, { project, onChangePlan: () => setPlanOpen(true) }),
|
|
14440
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
14440
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.ProjectDetailSection, { title: hasBilling ? "Collaborator limits" : "Plan limits", children: [
|
|
14441
14441
|
!hasBilling && /* @__PURE__ */ jsxRuntime.jsx(SubscriptionStatus, { project }),
|
|
14442
14442
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
14443
14443
|
"div",
|
|
@@ -14453,7 +14453,7 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
14453
14453
|
}
|
|
14454
14454
|
)
|
|
14455
14455
|
] }),
|
|
14456
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14456
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.ProjectDetailSection, { title: "Usage", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14457
14457
|
ProjectUsageContent,
|
|
14458
14458
|
{
|
|
14459
14459
|
projectExtId: project.external_id,
|
|
@@ -14463,7 +14463,7 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
14463
14463
|
) }),
|
|
14464
14464
|
storage,
|
|
14465
14465
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14466
|
-
|
|
14466
|
+
chunkQB7PNQDJ_cjs.RenameDialog,
|
|
14467
14467
|
{
|
|
14468
14468
|
open: renameOpen,
|
|
14469
14469
|
onClose: () => setRenameOpen(false),
|
|
@@ -14480,7 +14480,7 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
14480
14480
|
function useAutoRefreshPendingProjects() {
|
|
14481
14481
|
const { data: projects } = react.useProjects();
|
|
14482
14482
|
const refreshProject = react.useRefreshProject();
|
|
14483
|
-
const currentUserExtId =
|
|
14483
|
+
const currentUserExtId = chunkORIOOXUU_cjs.useSelfExtId();
|
|
14484
14484
|
const refreshedRef = react$1.useRef(/* @__PURE__ */ new Set());
|
|
14485
14485
|
react$1.useEffect(() => {
|
|
14486
14486
|
if (!projects || !currentUserExtId) return;
|
|
@@ -14511,7 +14511,7 @@ function ConnectedQuotaDialog({ info, onClose: close }) {
|
|
|
14511
14511
|
if (quotaProjectId) void refetchProjects();
|
|
14512
14512
|
}, [quotaProjectId, refetchProjects]);
|
|
14513
14513
|
const project = info?.projectExtId ? projects?.find((p) => p.external_id === info.projectExtId) : void 0;
|
|
14514
|
-
const addons = project &&
|
|
14514
|
+
const addons = project && chunkORIOOXUU_cjs.isProProject(project) ? project.addons : null;
|
|
14515
14515
|
const handleUpgrade = () => {
|
|
14516
14516
|
if (info?.projectExtId) {
|
|
14517
14517
|
requestProjectBillingFocus({ projectExtId: info.projectExtId, openUpgrade: true });
|
|
@@ -14547,8 +14547,8 @@ function ConnectedQuotaDialog({ info, onClose: close }) {
|
|
|
14547
14547
|
/* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {})
|
|
14548
14548
|
);
|
|
14549
14549
|
} else if (addons) {
|
|
14550
|
-
const price = `${
|
|
14551
|
-
const capZero =
|
|
14550
|
+
const price = `${chunkORIOOXUU_cjs.formatMoney(addons.ai_block_price_ex_vat_pence, "gbp")} + VAT`;
|
|
14551
|
+
const capZero = chunkORIOOXUU_cjs.isAddonBudgetZero(addons);
|
|
14552
14552
|
const addAiUsage = /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { onClick: handleAddAiUsage, "data-testid": "quota-add-ai-usage-button", children: [
|
|
14553
14553
|
"Add ",
|
|
14554
14554
|
react.formatGbp(addons.block_ai_gbp),
|
|
@@ -14556,7 +14556,7 @@ function ConnectedQuotaDialog({ info, onClose: close }) {
|
|
|
14556
14556
|
price
|
|
14557
14557
|
] });
|
|
14558
14558
|
if (capZero || addons.cap_reached) {
|
|
14559
|
-
message = capZero ?
|
|
14559
|
+
message = capZero ? chunkORIOOXUU_cjs.ZERO_BUDGET_MESSAGE : chunkORIOOXUU_cjs.CAP_REACHED_MESSAGE;
|
|
14560
14560
|
actions = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
14561
14561
|
addAiUsage,
|
|
14562
14562
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outline", onClick: handleRaiseCap, "data-testid": "quota-raise-cap-button", children: capZero ? "Set cap" : "Raise cap" })
|
|
@@ -14569,7 +14569,7 @@ function ConnectedQuotaDialog({ info, onClose: close }) {
|
|
|
14569
14569
|
const addAiUsageProject = addAiUsageFor ? projects?.find((p) => p.external_id === addAiUsageFor) : void 0;
|
|
14570
14570
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
14571
14571
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14572
|
-
|
|
14572
|
+
chunkQB7PNQDJ_cjs.QuotaExceededDialogView,
|
|
14573
14573
|
{
|
|
14574
14574
|
open,
|
|
14575
14575
|
onClose: close,
|
|
@@ -14743,7 +14743,7 @@ function ConnectedWelcomeDialog({
|
|
|
14743
14743
|
}) {
|
|
14744
14744
|
const currentUser = react.useArbiSession().user;
|
|
14745
14745
|
const { data: projects } = react.useProjects();
|
|
14746
|
-
const balance =
|
|
14746
|
+
const balance = chunkORIOOXUU_cjs.useRewardBalance();
|
|
14747
14747
|
const [showPlans, setShowPlans] = react$1.useState(false);
|
|
14748
14748
|
const [showInvite, setShowInvite] = react$1.useState(false);
|
|
14749
14749
|
const [selectedProjectId, setSelectedProjectId] = react$1.useState(null);
|
|
@@ -14764,21 +14764,21 @@ function ConnectedWelcomeDialog({
|
|
|
14764
14764
|
return /* @__PURE__ */ jsxRuntime.jsx(ChangePlanDialog, { project: selectedProject, open, onOpenChange: handleOpenChange });
|
|
14765
14765
|
}
|
|
14766
14766
|
if (showInvite) {
|
|
14767
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14767
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.InviteContactsDialog, { open, onClose: () => handleOpenChange(false), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14768
14768
|
ConnectedAddContacts,
|
|
14769
14769
|
{
|
|
14770
14770
|
onClose: () => handleOpenChange(false),
|
|
14771
|
-
rewardAmount:
|
|
14771
|
+
rewardAmount: chunkORIOOXUU_cjs.formatMoney(REFERRAL_OFFER.amount, REFERRAL_OFFER.currency)
|
|
14772
14772
|
}
|
|
14773
14773
|
) });
|
|
14774
14774
|
}
|
|
14775
14775
|
const firstName = currentUser?.given_name;
|
|
14776
14776
|
const hasBalance = balance !== null;
|
|
14777
|
-
const quotaItems =
|
|
14778
|
-
const resetTs =
|
|
14779
|
-
const aiUsageHint = resetTs ? `resets ${
|
|
14777
|
+
const quotaItems = chunkORIOOXUU_cjs.getQuotaItems(selectedProject.quotas);
|
|
14778
|
+
const resetTs = chunkORIOOXUU_cjs.aiUsageResetTimestamp(selectedProject);
|
|
14779
|
+
const aiUsageHint = resetTs ? `resets ${chunkORIOOXUU_cjs.formatResetDate(resetTs)}` : void 0;
|
|
14780
14780
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14781
|
-
|
|
14781
|
+
chunkQB7PNQDJ_cjs.WelcomeDialog,
|
|
14782
14782
|
{
|
|
14783
14783
|
open,
|
|
14784
14784
|
onClose: () => handleOpenChange(false),
|
|
@@ -14793,7 +14793,7 @@ function ConnectedWelcomeDialog({
|
|
|
14793
14793
|
onChange: setSelectedProjectId
|
|
14794
14794
|
}
|
|
14795
14795
|
),
|
|
14796
|
-
planBadge: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14796
|
+
planBadge: /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PlanBadge, { ...chunkORIOOXUU_cjs.planBadgeView(selectedProject), size: "md" }),
|
|
14797
14797
|
quotas: quotaItems.map((q) => ({
|
|
14798
14798
|
key: q.key,
|
|
14799
14799
|
icon: q.icon,
|
|
@@ -14803,9 +14803,9 @@ function ConnectedWelcomeDialog({
|
|
|
14803
14803
|
hint: q.key === "ai-usage" ? aiUsageHint : void 0
|
|
14804
14804
|
})),
|
|
14805
14805
|
onSeePlans: () => setShowPlans(true),
|
|
14806
|
-
referralOfferLabel: `${
|
|
14806
|
+
referralOfferLabel: `${chunkORIOOXUU_cjs.formatMoney(REFERRAL_OFFER.amount, REFERRAL_OFFER.currency)} off your plan`,
|
|
14807
14807
|
onInvite: () => setShowInvite(true),
|
|
14808
|
-
rewardBalanceLabel: hasBalance ?
|
|
14808
|
+
rewardBalanceLabel: hasBalance ? chunkORIOOXUU_cjs.formatMoney(balance.amount, balance.currency) : void 0
|
|
14809
14809
|
}
|
|
14810
14810
|
);
|
|
14811
14811
|
}
|
|
@@ -14842,14 +14842,14 @@ function WorkspaceCardsView({
|
|
|
14842
14842
|
createDisabledReason,
|
|
14843
14843
|
workspaceState
|
|
14844
14844
|
}) {
|
|
14845
|
-
const { stripeEnabled } =
|
|
14845
|
+
const { stripeEnabled } = chunkORIOOXUU_cjs.useBillingSupport();
|
|
14846
14846
|
const { hrefFor } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
14847
14847
|
const workspaceLabel = ui.getEntityLabel("WORKSPACE");
|
|
14848
14848
|
const projectLabel = ui.getEntityLabel("PROJECT").toLowerCase();
|
|
14849
14849
|
const { groups, projects, selfId } = list;
|
|
14850
14850
|
if (groups.length === 0) {
|
|
14851
14851
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkFKFGRGKF_cjs.WorkspaceList, { testId: "workspace-cards-list", className: "gap-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14852
|
-
|
|
14852
|
+
chunkZK56K25Q_cjs.CreateTile,
|
|
14853
14853
|
{
|
|
14854
14854
|
label: `New ${workspaceLabel.toLowerCase()}`,
|
|
14855
14855
|
ariaLabel: `Create ${workspaceLabel}`,
|
|
@@ -14862,7 +14862,7 @@ function WorkspaceCardsView({
|
|
|
14862
14862
|
}
|
|
14863
14863
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkFKFGRGKF_cjs.WorkspaceList, { testId: "workspace-cards-list", children: groups.map((group) => {
|
|
14864
14864
|
const project = projects.find((p) => p.external_id === group.projectExtId);
|
|
14865
|
-
const { breakdown, readout } =
|
|
14865
|
+
const { breakdown, readout } = chunkORIOOXUU_cjs.projectGroupBilling(project, {
|
|
14866
14866
|
isOwned: group.isOwned,
|
|
14867
14867
|
stripeEnabled
|
|
14868
14868
|
});
|
|
@@ -14894,7 +14894,7 @@ function WorkspaceCardsView({
|
|
|
14894
14894
|
onToggle: () => list.toggleGroup(group.key),
|
|
14895
14895
|
children: [
|
|
14896
14896
|
group.isOwned && group.projectExtId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14897
|
-
|
|
14897
|
+
chunkZK56K25Q_cjs.CreateTile,
|
|
14898
14898
|
{
|
|
14899
14899
|
label: `New ${workspaceLabel.toLowerCase()}`,
|
|
14900
14900
|
ariaLabel: `Create ${workspaceLabel}`,
|
|
@@ -14922,7 +14922,7 @@ function WorkspaceCardsView({
|
|
|
14922
14922
|
ui.ShieldIcon,
|
|
14923
14923
|
{
|
|
14924
14924
|
char: workspace.name.charAt(0),
|
|
14925
|
-
workspaceColor:
|
|
14925
|
+
workspaceColor: chunkWV6RHIFP_cjs.workspaceKindColor(react.getWorkspaceKind(workspace)),
|
|
14926
14926
|
size: 28,
|
|
14927
14927
|
isSelected: true
|
|
14928
14928
|
}
|
|
@@ -15025,7 +15025,7 @@ function useConnectedWorkspaceList({
|
|
|
15025
15025
|
[selfId, pinned]
|
|
15026
15026
|
);
|
|
15027
15027
|
const filtered = react$1.useMemo(
|
|
15028
|
-
() =>
|
|
15028
|
+
() => chunkQB7PNQDJ_cjs.applyTriStateFilters(workspaces, filterMap, attributesOf),
|
|
15029
15029
|
[workspaces, filterMap, attributesOf]
|
|
15030
15030
|
);
|
|
15031
15031
|
const groups = react$1.useMemo(
|
|
@@ -15091,7 +15091,7 @@ function useConnectedWorkspaceList({
|
|
|
15091
15091
|
};
|
|
15092
15092
|
}
|
|
15093
15093
|
var WorkspaceTableView = react$1.lazy(
|
|
15094
|
-
() => import('../WorkspaceTableView-
|
|
15094
|
+
() => import('../WorkspaceTableView-III5TFER.cjs').then((m) => ({ default: m.WorkspaceTableView }))
|
|
15095
15095
|
);
|
|
15096
15096
|
var WORKSPACES_TAB_ID = "workspaces";
|
|
15097
15097
|
var defaultRenderMember2 = (user, size) => {
|
|
@@ -15144,10 +15144,10 @@ function ConnectedWorkspaceList({
|
|
|
15144
15144
|
else void openWorkspace(workspace.external_id, { name: workspace.name });
|
|
15145
15145
|
};
|
|
15146
15146
|
const createDisabledReason = list.canCreateProjects === false ? react.PROJECT_CREATION_DENIED_REASON : void 0;
|
|
15147
|
-
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15147
|
+
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkUFGC77KR_cjs.LoadingIndicator, { message: "Loading workspaces..." });
|
|
15148
15148
|
if (list.error) {
|
|
15149
15149
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15150
|
-
|
|
15150
|
+
chunkZK56K25Q_cjs.HomeLoadError,
|
|
15151
15151
|
{
|
|
15152
15152
|
title: "Unable to load workspaces",
|
|
15153
15153
|
body: "Failed to connect to the server. Please check your connection and try again."
|
|
@@ -15167,7 +15167,7 @@ function ConnectedWorkspaceList({
|
|
|
15167
15167
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "mr-0.5 size-4" }),
|
|
15168
15168
|
"New"
|
|
15169
15169
|
] });
|
|
15170
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15170
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkZK56K25Q_cjs.HomeFrame, { children: [
|
|
15171
15171
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15172
15172
|
chunkSJSGSHIT_cjs.TabHeader,
|
|
15173
15173
|
{
|
|
@@ -15203,9 +15203,9 @@ function ConnectedWorkspaceList({
|
|
|
15203
15203
|
),
|
|
15204
15204
|
showList && // Above whichever view shows: both draw the same filtered groups.
|
|
15205
15205
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto w-full max-w-6xl px-4 pb-3 sm:px-8", children: /* @__PURE__ */ jsxRuntime.jsx(WorkspaceFilterMenu, { list }) }),
|
|
15206
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15206
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZK56K25Q_cjs.HomeMain, { children: !showList ? children : shownView === "cards" ? (
|
|
15207
15207
|
// Full-width scroller (its scrollbar rides the window edge) around a centred column.
|
|
15208
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15208
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZK56K25Q_cjs.HomeCenteredScroll, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15209
15209
|
WorkspaceCardsView,
|
|
15210
15210
|
{
|
|
15211
15211
|
list,
|
|
@@ -15217,7 +15217,7 @@ function ConnectedWorkspaceList({
|
|
|
15217
15217
|
workspaceState
|
|
15218
15218
|
}
|
|
15219
15219
|
) })
|
|
15220
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15220
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkUFGC77KR_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkZK56K25Q_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15221
15221
|
WorkspaceTableView,
|
|
15222
15222
|
{
|
|
15223
15223
|
list,
|
|
@@ -15262,7 +15262,7 @@ function ConnectedProjectsPanel({
|
|
|
15262
15262
|
const { data: projects } = react.useProjects();
|
|
15263
15263
|
const canCreateProjects = react.useCanCreateProjects();
|
|
15264
15264
|
const { userId } = chunkXCZYMSDV_cjs.useConnectedWorkspace();
|
|
15265
|
-
const { stripeEnabled } =
|
|
15265
|
+
const { stripeEnabled } = chunkORIOOXUU_cjs.useBillingSupport();
|
|
15266
15266
|
const billingPortal = useOpenBillingPortal();
|
|
15267
15267
|
const [newProjectOpen, setNewProjectOpen] = react$1.useState(false);
|
|
15268
15268
|
useAutoRefreshPendingProjects();
|
|
@@ -15289,15 +15289,15 @@ function ConnectedProjectsPanel({
|
|
|
15289
15289
|
[ownedCount, tabs, projects]
|
|
15290
15290
|
);
|
|
15291
15291
|
const paidProject = projects?.find(isPaid);
|
|
15292
|
-
const panel = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15293
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15292
|
+
const panel = /* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.PanelFrame, { className, testId: "projects-panel", children: [
|
|
15293
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.DraggableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15294
15294
|
chunkSJSGSHIT_cjs.TabHeader,
|
|
15295
15295
|
{
|
|
15296
15296
|
tabs: headerTabs,
|
|
15297
15297
|
activeTabId: activeProjectId ?? PROJECTS_BASE_TAB_ID,
|
|
15298
15298
|
onTabChange: (id) => tabs.onSelect(id === PROJECTS_BASE_TAB_ID ? null : id),
|
|
15299
15299
|
afterTabs: (isCompact) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
15300
|
-
|
|
15300
|
+
chunkQB7PNQDJ_cjs.PanelAddButton,
|
|
15301
15301
|
{
|
|
15302
15302
|
label: `New ${ui.entityNoun("PROJECT")}`,
|
|
15303
15303
|
onClick: () => setNewProjectOpen(true),
|
|
@@ -15312,15 +15312,15 @@ function ConnectedProjectsPanel({
|
|
|
15312
15312
|
compactBreakpoint: 360
|
|
15313
15313
|
}
|
|
15314
15314
|
) }),
|
|
15315
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15315
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PanelFrameBody, { children: activeProjectId ? /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PanelScroll, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15316
15316
|
ProjectDetail,
|
|
15317
15317
|
{
|
|
15318
15318
|
projectExtId: activeProjectId,
|
|
15319
15319
|
storage: /* @__PURE__ */ jsxRuntime.jsx(ConnectedProjectStorage, { projectExtId: activeProjectId })
|
|
15320
15320
|
}
|
|
15321
|
-
) }) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15321
|
+
) }) : /* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.PanelScroll, { variant: "padded", children: [
|
|
15322
15322
|
/* @__PURE__ */ jsxRuntime.jsx(ProjectsTable, {}),
|
|
15323
|
-
stripeEnabled && paidProject && /* @__PURE__ */ jsxRuntime.jsx(
|
|
15323
|
+
stripeEnabled && paidProject && /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PanelActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15324
15324
|
ui.Button,
|
|
15325
15325
|
{
|
|
15326
15326
|
onClick: () => billingPortal.open(paidProject.external_id),
|
|
@@ -15407,7 +15407,7 @@ function ConnectedProjectsListPage({
|
|
|
15407
15407
|
};
|
|
15408
15408
|
const { openProject } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
15409
15409
|
const [search, setSearch] = react$1.useState("");
|
|
15410
|
-
const { projects, isLoading } =
|
|
15410
|
+
const { projects, isLoading } = chunk5V7JWZQ4_cjs.useProjectSummaries();
|
|
15411
15411
|
const rows = react$1.useMemo(() => {
|
|
15412
15412
|
const q = search.trim().toLowerCase();
|
|
15413
15413
|
if (!q) return projects;
|
|
@@ -15478,7 +15478,7 @@ function ConnectedProjectsListPage({
|
|
|
15478
15478
|
}
|
|
15479
15479
|
),
|
|
15480
15480
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15481
|
-
|
|
15481
|
+
chunkUFGC77KR_cjs.Toolbar,
|
|
15482
15482
|
{
|
|
15483
15483
|
search,
|
|
15484
15484
|
onSearch: setSearch,
|
|
@@ -15540,7 +15540,7 @@ function ProjectDetailsForm({
|
|
|
15540
15540
|
const labels = { ...DEFAULT_PROJECT_DETAILS_LABELS, ...given };
|
|
15541
15541
|
const { notify: notify17 } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
15542
15542
|
const update = react.useUpdateProjectFields();
|
|
15543
|
-
const workspace =
|
|
15543
|
+
const workspace = chunk5V7JWZQ4_cjs.primaryProjectWorkspace(project);
|
|
15544
15544
|
const { data: members = [] } = react.useWorkspaceUsers(workspace?.id);
|
|
15545
15545
|
const people = members.filter((m) => !m.user.external_id.startsWith("agt-"));
|
|
15546
15546
|
const currency = project.budget?.currency ?? "GBP";
|
|
@@ -15665,7 +15665,7 @@ var COMPACT_BELOW = 132;
|
|
|
15665
15665
|
var NO_DOCUMENTS = [];
|
|
15666
15666
|
function useFilesWorkspace() {
|
|
15667
15667
|
const { workspaceId, userId, live } = chunkXCZYMSDV_cjs.useConnectedWorkspace();
|
|
15668
|
-
const { members, role } =
|
|
15668
|
+
const { members, role } = chunkUHP6AP6C_cjs.useConnectedWorkspaceRole();
|
|
15669
15669
|
const { data: workspaces } = react.useWorkspaces({ enabled: live });
|
|
15670
15670
|
const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
|
|
15671
15671
|
return {
|
|
@@ -16599,11 +16599,11 @@ function ConnectedProjectPage({
|
|
|
16599
16599
|
figures: { ...DEFAULT_PROJECT_PAGE_LABELS.figures, ...given?.figures },
|
|
16600
16600
|
threads: { ...DEFAULT_PROJECT_PAGE_LABELS.threads, ...given?.threads }
|
|
16601
16601
|
};
|
|
16602
|
-
const { project, usage, isLoading } =
|
|
16602
|
+
const { project, usage, isLoading } = chunk5V7JWZQ4_cjs.useProjectSummary(projectId);
|
|
16603
16603
|
const { workspaceId } = chunkXCZYMSDV_cjs.useConnectedWorkspace();
|
|
16604
16604
|
const { notify: notify17 } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
16605
|
-
const selectWorkspace =
|
|
16606
|
-
const workspace = project ?
|
|
16605
|
+
const selectWorkspace = chunkDL3XYTKI_cjs.useSelectWorkspace();
|
|
16606
|
+
const workspace = project ? chunk5V7JWZQ4_cjs.primaryProjectWorkspace(project) : void 0;
|
|
16607
16607
|
const open = !!workspace && workspace.id === workspaceId;
|
|
16608
16608
|
react$1.useEffect(() => {
|
|
16609
16609
|
if (!workspace || workspace.id === workspaceId) return;
|
|
@@ -17498,7 +17498,7 @@ function recentConversations(conversations) {
|
|
|
17498
17498
|
return [...conversations].sort((a, b) => time(b.updated_at) - time(a.updated_at)).slice(0, RECENT_ROWS).map((c) => ({
|
|
17499
17499
|
id: c.external_id,
|
|
17500
17500
|
title: c.title?.trim() || "Untitled thread",
|
|
17501
|
-
subtitle: c.status ? [
|
|
17501
|
+
subtitle: c.status ? [chunkLC7HFDCV_cjs.STATUS_LABELS[chunkLC7HFDCV_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"}`,
|
|
17502
17502
|
time: timeAndDate(c.updated_at)
|
|
17503
17503
|
}));
|
|
17504
17504
|
}
|
|
@@ -17564,19 +17564,19 @@ function ConnectedWorkspaceDashboard({
|
|
|
17564
17564
|
const { upcoming: upcoming2, recent: recent2 } = splitFacts(facts);
|
|
17565
17565
|
const toRow = (row2) => ({
|
|
17566
17566
|
...row2,
|
|
17567
|
-
leading: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17567
|
+
leading: /* @__PURE__ */ jsxRuntime.jsx(chunkZK56K25Q_cjs.FactMark, {}),
|
|
17568
17568
|
// The item, not the list: the Facts page scrolls to this fact.
|
|
17569
17569
|
onSelect: () => actions.openFact(row2.id)
|
|
17570
17570
|
});
|
|
17571
17571
|
return { upcoming: upcoming2.map(toRow), recent: recent2.map(toRow) };
|
|
17572
17572
|
}, [facts, actions]);
|
|
17573
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17574
|
-
start && /* @__PURE__ */ jsxRuntime.jsx(
|
|
17575
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
17576
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17577
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
17573
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkZK56K25Q_cjs.DashboardRoot, { testId, children: [
|
|
17574
|
+
start && /* @__PURE__ */ jsxRuntime.jsx(chunkZK56K25Q_cjs.DashboardBand, { kind: "start", children: start }),
|
|
17575
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZK56K25Q_cjs.DashboardBand, { kind: "recent", children: [
|
|
17576
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk5S2N6HSA_cjs.SectionLabel, { testId: `${testId}-recent-caption`, children: "Recent" }),
|
|
17577
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZK56K25Q_cjs.DashboardColumns, { children: [
|
|
17578
17578
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17579
|
-
|
|
17579
|
+
chunkZK56K25Q_cjs.RecentList,
|
|
17580
17580
|
{
|
|
17581
17581
|
testId: `${testId}-docs`,
|
|
17582
17582
|
icon: lucideReact.FileText,
|
|
@@ -17595,7 +17595,7 @@ function ConnectedWorkspaceDashboard({
|
|
|
17595
17595
|
}
|
|
17596
17596
|
),
|
|
17597
17597
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17598
|
-
|
|
17598
|
+
chunkZK56K25Q_cjs.RecentList,
|
|
17599
17599
|
{
|
|
17600
17600
|
testId: `${testId}-chats`,
|
|
17601
17601
|
icon: lucideReact.MessagesSquare,
|
|
@@ -17604,7 +17604,7 @@ function ConnectedWorkspaceDashboard({
|
|
|
17604
17604
|
onOpen: () => actions.openSection("threads"),
|
|
17605
17605
|
action: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
17606
17606
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17607
|
-
|
|
17607
|
+
chunkZK56K25Q_cjs.DashboardAction,
|
|
17608
17608
|
{
|
|
17609
17609
|
emphasis: "primary",
|
|
17610
17610
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-4" }),
|
|
@@ -17614,7 +17614,7 @@ function ConnectedWorkspaceDashboard({
|
|
|
17614
17614
|
}
|
|
17615
17615
|
),
|
|
17616
17616
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17617
|
-
|
|
17617
|
+
chunkZK56K25Q_cjs.DashboardAction,
|
|
17618
17618
|
{
|
|
17619
17619
|
emphasis: "quiet",
|
|
17620
17620
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-4" }),
|
|
@@ -17636,9 +17636,9 @@ function ConnectedWorkspaceDashboard({
|
|
|
17636
17636
|
)
|
|
17637
17637
|
] })
|
|
17638
17638
|
] }),
|
|
17639
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
17639
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZK56K25Q_cjs.DashboardColumns, { children: [
|
|
17640
17640
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17641
|
-
|
|
17641
|
+
chunkZK56K25Q_cjs.FactsStrip,
|
|
17642
17642
|
{
|
|
17643
17643
|
testId: `${testId}-facts`,
|
|
17644
17644
|
icon: lucideReact.Milestone,
|
|
@@ -17646,7 +17646,7 @@ function ConnectedWorkspaceDashboard({
|
|
|
17646
17646
|
count: facts.length,
|
|
17647
17647
|
onOpen: () => actions.openSection("facts"),
|
|
17648
17648
|
action: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17649
|
-
|
|
17649
|
+
chunkZK56K25Q_cjs.DashboardAction,
|
|
17650
17650
|
{
|
|
17651
17651
|
emphasis: "quiet",
|
|
17652
17652
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-4" }),
|
|
@@ -19933,7 +19933,7 @@ function ConnectedSecureMailClaimPage({
|
|
|
19933
19933
|
}) {
|
|
19934
19934
|
const authenticated = react.useArbiSession().status === "signed-in";
|
|
19935
19935
|
const { openMail } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
19936
|
-
const { loading } =
|
|
19936
|
+
const { loading } = chunkOAEJME5Q_cjs.useAuthPages();
|
|
19937
19937
|
const claim = react.useClaimSecureMail();
|
|
19938
19938
|
const [, setFirstLoginWorkspaces] = react.useTransientView(FIRST_LOGIN_WORKSPACES_VIEW, null);
|
|
19939
19939
|
const [failure, setFailure] = react$1.useState(null);
|
|
@@ -19973,7 +19973,7 @@ function ConnectedSecureMailClaimPage({
|
|
|
19973
19973
|
}
|
|
19974
19974
|
})();
|
|
19975
19975
|
}, [authenticated, claimId, key]);
|
|
19976
|
-
if (!error) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: loading ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
19976
|
+
if (!error) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: loading ?? /* @__PURE__ */ jsxRuntime.jsx(chunkUFGC77KR_cjs.LoadingIndicator, { variant: "splash" }) });
|
|
19977
19977
|
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: [
|
|
19978
19978
|
/* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "mb-4 text-sm text-destructive", children: error }),
|
|
19979
19979
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -21364,7 +21364,7 @@ function EventEditorDialog({
|
|
|
21364
21364
|
const { notify: notify17, runtimeConfig } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
21365
21365
|
const attachmentDocuments = documents.map((document2) => ({
|
|
21366
21366
|
doc_id: document2.external_id,
|
|
21367
|
-
title:
|
|
21367
|
+
title: chunkUHP6AP6C_cjs.toWorkflowFieldDocument(document2).title,
|
|
21368
21368
|
url: chunk725OETK3_cjs.buildDeepLinkUrl(
|
|
21369
21369
|
{ workspaceId: workspaceId ?? void 0, documentId: document2.external_id },
|
|
21370
21370
|
runtimeConfig.deploymentDomain
|
|
@@ -25743,7 +25743,7 @@ function useDocumentFilters({
|
|
|
25743
25743
|
[documentFilters]
|
|
25744
25744
|
);
|
|
25745
25745
|
const baseFilteredDocuments = react$1.useMemo(
|
|
25746
|
-
() =>
|
|
25746
|
+
() => chunkQB7PNQDJ_cjs.applyInvertedIndexFilter(documents, documentFilters, invertedIndex, getDocId),
|
|
25747
25747
|
[documents, documentFilters, invertedIndex]
|
|
25748
25748
|
);
|
|
25749
25749
|
const filteredDocuments = react$1.useMemo(() => {
|
|
@@ -26321,7 +26321,7 @@ function useBatchCompleteToasts() {
|
|
|
26321
26321
|
}
|
|
26322
26322
|
}, AI_FIELDS_NOTICE_WINDOW_MS);
|
|
26323
26323
|
} else if (message.batch_type === "entity_extract") {
|
|
26324
|
-
say(`${
|
|
26324
|
+
say(`${chunkUFGC77KR_cjs.entitiesPhrase()} extracted from ${chunkUFGC77KR_cjs.documentCount(docIds.length)}`, "success", {
|
|
26325
26325
|
...openTags && { action: { label: "View", onClick: openTags } }
|
|
26326
26326
|
});
|
|
26327
26327
|
} else if (message.batch_type === "upload") {
|
|
@@ -27024,7 +27024,7 @@ function ConnectedFieldsManager({
|
|
|
27024
27024
|
) });
|
|
27025
27025
|
}
|
|
27026
27026
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full", children: [
|
|
27027
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
27027
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.DraggableHeader, { children: [
|
|
27028
27028
|
/* @__PURE__ */ jsxRuntime.jsx(chunkICHTDJYH_cjs.FieldsManagerTitle, { title, className: "px-4 pt-3.5 pb-2" }),
|
|
27029
27029
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3", children: tabHeader })
|
|
27030
27030
|
] }),
|
|
@@ -27814,15 +27814,15 @@ var TABLET_TABLE_BELOW = 860;
|
|
|
27814
27814
|
var TABLET_VIEWPORT_BELOW = 1100;
|
|
27815
27815
|
var NO_CONVERSATION_DOCUMENTS = [];
|
|
27816
27816
|
var DocumentReviewCard = react$1.lazy(
|
|
27817
|
-
() => import('../DocumentReviewCard-
|
|
27817
|
+
() => import('../DocumentReviewCard-XK77D3O4.cjs').then((module) => ({ default: module.DocumentReviewCard }))
|
|
27818
27818
|
);
|
|
27819
27819
|
var ConnectedDocumentViewer = react$1.lazy(
|
|
27820
|
-
() => import('../ConnectedDocumentViewer-
|
|
27820
|
+
() => import('../ConnectedDocumentViewer-EXR4XDRW.cjs').then((module) => ({
|
|
27821
27821
|
default: module.ConnectedDocumentViewer
|
|
27822
27822
|
}))
|
|
27823
27823
|
);
|
|
27824
27824
|
function defaultReviewCard(props) {
|
|
27825
|
-
return /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
27825
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkUFGC77KR_cjs.LoadingIndicator, { message: "Loading document viewer..." }), children: /* @__PURE__ */ jsxRuntime.jsx(DocumentReviewCard, { ...props }, `navigator-${props.currentDocument.external_id}`) });
|
|
27826
27826
|
}
|
|
27827
27827
|
function ConnectedFilesPage({
|
|
27828
27828
|
isModal = false,
|
|
@@ -27868,7 +27868,7 @@ function ConnectedFilesPage({
|
|
|
27868
27868
|
const deleteDocuments = react.useDeleteDocuments();
|
|
27869
27869
|
const isDocumentsPending = isLoading && documents.length === 0;
|
|
27870
27870
|
const { workspaceId, userId, live } = chunkXCZYMSDV_cjs.useConnectedWorkspace();
|
|
27871
|
-
const { role, members } =
|
|
27871
|
+
const { role, members } = chunkUHP6AP6C_cjs.useConnectedWorkspaceRole();
|
|
27872
27872
|
const { data: workspaces } = react.useWorkspaces({ enabled: live });
|
|
27873
27873
|
const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
|
|
27874
27874
|
const isMember = role != null;
|
|
@@ -28358,7 +28358,7 @@ function ConnectedFilesPage({
|
|
|
28358
28358
|
viewMode === "grid" ? (
|
|
28359
28359
|
// ‹ n / N › over the table's displayed rows; a step opens the document.
|
|
28360
28360
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
28361
|
-
|
|
28361
|
+
chunkUFGC77KR_cjs.GridRowNavigator,
|
|
28362
28362
|
{
|
|
28363
28363
|
gridApi,
|
|
28364
28364
|
selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
|
|
@@ -29516,7 +29516,7 @@ function ProcessingSection({
|
|
|
29516
29516
|
tasks,
|
|
29517
29517
|
onDelete
|
|
29518
29518
|
}) {
|
|
29519
|
-
return /* @__PURE__ */ jsxRuntime.jsx(chunkICHTDJYH_cjs.TaskSection, { title, count: count2, status, tooltip: SECTION_TOOLTIPS[status], children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
29519
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkICHTDJYH_cjs.TaskSection, { title, count: count2, status, tooltip: SECTION_TOOLTIPS[status], children: /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.UploadTaskList, { tasks, title: "", onDelete, renderFileIcon: renderFileIcon2 }) });
|
|
29520
29520
|
}
|
|
29521
29521
|
function ConnectedDocumentProcessingPanel({
|
|
29522
29522
|
workspaceId,
|
|
@@ -30381,7 +30381,7 @@ function ChatAttachmentList({ files, error }) {
|
|
|
30381
30381
|
] });
|
|
30382
30382
|
}
|
|
30383
30383
|
function MessageText({ message }) {
|
|
30384
|
-
const workspaceId =
|
|
30384
|
+
const workspaceId = chunkQYRPFPQ7_cjs.useDocumentWorkspace();
|
|
30385
30385
|
const selectedWorkspaceId = react.useArbiSessionState((s) => s.workspaceId);
|
|
30386
30386
|
const documentIds = react$1.useMemo(
|
|
30387
30387
|
() => workspaceId === selectedWorkspaceId ? Array.from(
|
|
@@ -30396,11 +30396,11 @@ function MessageText({ message }) {
|
|
|
30396
30396
|
);
|
|
30397
30397
|
const thumbnails = react.useDocumentThumbnails(documentIds);
|
|
30398
30398
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
30399
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30399
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQYRPFPQ7_cjs.ConnectedMarkdown, { children: message }),
|
|
30400
30400
|
workspaceId && documentIds.map((docId) => {
|
|
30401
30401
|
const thumbnail = thumbnails.get(docId);
|
|
30402
30402
|
return thumbnail ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
30403
|
-
|
|
30403
|
+
chunkQYRPFPQ7_cjs.WorkspaceDocumentReference,
|
|
30404
30404
|
{
|
|
30405
30405
|
workspaceId,
|
|
30406
30406
|
docId,
|
|
@@ -30421,13 +30421,13 @@ function MessageText({ message }) {
|
|
|
30421
30421
|
}
|
|
30422
30422
|
function ConnectedChatMessageBody({ text: text2, workspaceId }) {
|
|
30423
30423
|
const documentWorkspace = workspaceId ?? Array.from(text2.matchAll(/\/(wrk-[a-zA-Z0-9]{8})\/con-[a-zA-Z0-9]{8}/g)).at(-1)?.[1] ?? null;
|
|
30424
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30424
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQYRPFPQ7_cjs.DocumentWorkspaceContext.Provider, { value: documentWorkspace, children: /* @__PURE__ */ jsxRuntime.jsx(MessageText, { message: text2 }) });
|
|
30425
30425
|
}
|
|
30426
30426
|
function renderMessengerUser(user, variant) {
|
|
30427
30427
|
switch (variant) {
|
|
30428
30428
|
case "avatar":
|
|
30429
30429
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30430
|
-
|
|
30430
|
+
chunkOAEJME5Q_cjs.ConnectedUserEntity,
|
|
30431
30431
|
{
|
|
30432
30432
|
user,
|
|
30433
30433
|
size: "lg",
|
|
@@ -30438,7 +30438,7 @@ function renderMessengerUser(user, variant) {
|
|
|
30438
30438
|
);
|
|
30439
30439
|
case "small-avatar":
|
|
30440
30440
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30441
|
-
|
|
30441
|
+
chunkOAEJME5Q_cjs.ConnectedUserEntity,
|
|
30442
30442
|
{
|
|
30443
30443
|
user,
|
|
30444
30444
|
size: "sm",
|
|
@@ -30448,9 +30448,9 @@ function renderMessengerUser(user, variant) {
|
|
|
30448
30448
|
}
|
|
30449
30449
|
);
|
|
30450
30450
|
case "author":
|
|
30451
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30451
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedUserEntity, { user, size: "sm", variant: "pill" });
|
|
30452
30452
|
case "member":
|
|
30453
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30453
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedUserEntity, { user, size: "sm", variant: "pill", interactive: false });
|
|
30454
30454
|
}
|
|
30455
30455
|
}
|
|
30456
30456
|
var THREAD_ACCESSORS = {
|
|
@@ -31175,7 +31175,7 @@ function ConnectedRecipientSelector({
|
|
|
31175
31175
|
setSelectorOpen(false);
|
|
31176
31176
|
setSearchValue("");
|
|
31177
31177
|
};
|
|
31178
|
-
const identity = (user) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
31178
|
+
const identity = (user) => /* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedUserEntity, { user, size: "xs", variant: "pill", showPresence: true, interactive: false });
|
|
31179
31179
|
const selected = selectedRecipients.flatMap((id) => {
|
|
31180
31180
|
const user = getUserById(id);
|
|
31181
31181
|
if (!user) return [];
|
|
@@ -31415,7 +31415,7 @@ function ConnectedDmGrantAccessDialog({
|
|
|
31415
31415
|
}
|
|
31416
31416
|
);
|
|
31417
31417
|
}
|
|
31418
|
-
var ThreadHistory = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
31418
|
+
var ThreadHistory = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkL6DAJUDF_cjs.ConnectedCallChatHistory, { ...props });
|
|
31419
31419
|
function ConnectedPeerActions({ peer, addPeople }) {
|
|
31420
31420
|
const [accessOpen, setAccessOpen] = react$1.useState(false);
|
|
31421
31421
|
const [grantOpen, setGrantOpen] = react$1.useState(false);
|
|
@@ -31429,8 +31429,8 @@ function ConnectedPeerActions({ peer, addPeople }) {
|
|
|
31429
31429
|
)
|
|
31430
31430
|
];
|
|
31431
31431
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
31432
|
-
!ui.isAgent(peer) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
31433
|
-
!ui.isAgent(peer) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
31432
|
+
!ui.isAgent(peer) && /* @__PURE__ */ jsxRuntime.jsx(chunkL6DAJUDF_cjs.DmCallButton, { peer }),
|
|
31433
|
+
!ui.isAgent(peer) && /* @__PURE__ */ jsxRuntime.jsx(chunkL6DAJUDF_cjs.ScheduleCallButton, { peer }),
|
|
31434
31434
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31435
31435
|
ConnectedContactMenu,
|
|
31436
31436
|
{
|
|
@@ -31455,14 +31455,14 @@ function ConnectedPeerActions({ peer, addPeople }) {
|
|
|
31455
31455
|
}
|
|
31456
31456
|
var fullDirectActions = (peer, { addPeople }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedPeerActions, { peer, addPeople });
|
|
31457
31457
|
var fullGroupActions = (chat, title) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
31458
|
-
|
|
31458
|
+
chunkL6DAJUDF_cjs.GroupCallButton,
|
|
31459
31459
|
{
|
|
31460
31460
|
chatExtId: chat.external_id,
|
|
31461
31461
|
title,
|
|
31462
31462
|
members: chat.members.map((m) => m.user)
|
|
31463
31463
|
}
|
|
31464
31464
|
);
|
|
31465
|
-
var fullListActions = /* @__PURE__ */ jsxRuntime.jsx(
|
|
31465
|
+
var fullListActions = /* @__PURE__ */ jsxRuntime.jsx(chunkL6DAJUDF_cjs.NewCallChip, {});
|
|
31466
31466
|
function fullMessengerHost(arbi, presence) {
|
|
31467
31467
|
return {
|
|
31468
31468
|
presenceOf: (id) => presence?.[id] === "online" ? "connected" : "disconnected",
|
|
@@ -31736,7 +31736,7 @@ function ConnectedMessengerThread({
|
|
|
31736
31736
|
const activeIsSelf = !!activePeer && activePeer.external_id === meId;
|
|
31737
31737
|
const groupTitle = active?.title ?? null;
|
|
31738
31738
|
const presence = activePeer ? host.presenceOf?.(activePeer.external_id) : void 0;
|
|
31739
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
31739
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.PanelFrame, { testId, className, children: [
|
|
31740
31740
|
children,
|
|
31741
31741
|
groupChat ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
31742
31742
|
chunkMOIZ2R5X_cjs.DmThreadHeader,
|
|
@@ -31786,7 +31786,7 @@ function ConnectedMessengerThread({
|
|
|
31786
31786
|
groupChat.external_id
|
|
31787
31787
|
) : null,
|
|
31788
31788
|
picker.element,
|
|
31789
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31789
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_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." }) })
|
|
31790
31790
|
] });
|
|
31791
31791
|
}
|
|
31792
31792
|
function ConnectedMessenger({
|
|
@@ -31808,7 +31808,7 @@ function ConnectedMessenger({
|
|
|
31808
31808
|
testId: "dm-messenger"
|
|
31809
31809
|
}
|
|
31810
31810
|
);
|
|
31811
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31811
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PanelFrame, { testId: "dm-messenger", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
31812
31812
|
ConnectedMessengerList,
|
|
31813
31813
|
{
|
|
31814
31814
|
activeId: null,
|
|
@@ -31836,10 +31836,10 @@ function useChatMessageToasts() {
|
|
|
31836
31836
|
function ConnectedConfigForm({ availableModels, ...rest }) {
|
|
31837
31837
|
const hasModels = !!availableModels && availableModels.length > 0;
|
|
31838
31838
|
const renderModelSelect = react$1.useCallback(
|
|
31839
|
-
({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
31839
|
+
({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedModelSelector, { value, onValueChange: onChange, className: "w-full" }),
|
|
31840
31840
|
[]
|
|
31841
31841
|
);
|
|
31842
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31842
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
|
|
31843
31843
|
}
|
|
31844
31844
|
function ConnectedAgentConfigForm({ agentExtId, agentName, onSaved }) {
|
|
31845
31845
|
const { notify: notify17 } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
@@ -31956,7 +31956,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
31956
31956
|
}, [name, selectedWorkspaces, role, createAgent, addWorkspaceUsers, arbi, notify17]);
|
|
31957
31957
|
if (editAgent) {
|
|
31958
31958
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31959
|
-
|
|
31959
|
+
chunkLC7HFDCV_cjs.AgentEditView,
|
|
31960
31960
|
{
|
|
31961
31961
|
agentName: editAgent.name,
|
|
31962
31962
|
config: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -31972,7 +31972,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
31972
31972
|
}
|
|
31973
31973
|
if (view === "main") {
|
|
31974
31974
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31975
|
-
|
|
31975
|
+
chunkLC7HFDCV_cjs.AgentMainView,
|
|
31976
31976
|
{
|
|
31977
31977
|
onConnectExternal: () => setView("connect"),
|
|
31978
31978
|
config: mainAgent ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -31988,11 +31988,11 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
31988
31988
|
}
|
|
31989
31989
|
if (result) {
|
|
31990
31990
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31991
|
-
|
|
31991
|
+
chunkLC7HFDCV_cjs.AgentCreatedView,
|
|
31992
31992
|
{
|
|
31993
31993
|
email: result.email,
|
|
31994
31994
|
signingKey: result.signingKey,
|
|
31995
|
-
instructions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
31995
|
+
instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
|
|
31996
31996
|
config: /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentConfigForm, { agentExtId: result.extId, agentName: result.name }),
|
|
31997
31997
|
isConfigOpen: configOpen,
|
|
31998
31998
|
onToggleConfig: () => setConfigOpen((v) => !v),
|
|
@@ -32001,7 +32001,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
32001
32001
|
);
|
|
32002
32002
|
}
|
|
32003
32003
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32004
|
-
|
|
32004
|
+
chunkLC7HFDCV_cjs.AgentCreateView,
|
|
32005
32005
|
{
|
|
32006
32006
|
name,
|
|
32007
32007
|
onNameChange: setName,
|
|
@@ -32057,7 +32057,7 @@ function DeveloperFooter({
|
|
|
32057
32057
|
}, [configVersions, configToLoad, parentMessage?.config_ext_id]);
|
|
32058
32058
|
const hasLoadedConfig = !!loadedConfigId && loadedConfigId !== "default";
|
|
32059
32059
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32060
|
-
|
|
32060
|
+
chunkQB7PNQDJ_cjs.ConfigSwitcherBar,
|
|
32061
32061
|
{
|
|
32062
32062
|
options: options2,
|
|
32063
32063
|
value: loadedConfigId || "default",
|
|
@@ -32326,8 +32326,8 @@ function ConnectedDeveloperConfig({ modeSwitcher } = {}) {
|
|
|
32326
32326
|
handleDeleteConfig,
|
|
32327
32327
|
handleLoadConfig
|
|
32328
32328
|
} = useDeveloperConfig();
|
|
32329
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
32330
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32329
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkQB7PNQDJ_cjs.PanelFrame, { testId: "developer-config", children: [
|
|
32330
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.DraggableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32331
32331
|
chunkSJSGSHIT_cjs.TabHeader,
|
|
32332
32332
|
{
|
|
32333
32333
|
tabs: [{ id: "config", label: "Developer Config", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Code2, { className: "size-4" }) }],
|
|
@@ -32337,7 +32337,7 @@ function ConnectedDeveloperConfig({ modeSwitcher } = {}) {
|
|
|
32337
32337
|
rightContent: modeSwitcher
|
|
32338
32338
|
}
|
|
32339
32339
|
) }),
|
|
32340
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32340
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PanelFrameBody, { className: "overflow-auto p-4", children: configSchema ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32341
32341
|
ConnectedConfigForm,
|
|
32342
32342
|
{
|
|
32343
32343
|
schema: configSchema,
|
|
@@ -32345,7 +32345,7 @@ function ConnectedDeveloperConfig({ modeSwitcher } = {}) {
|
|
|
32345
32345
|
onChange: handleConfigChange,
|
|
32346
32346
|
availableModels: availableModels?.models
|
|
32347
32347
|
}
|
|
32348
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
32348
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PanelNote, { children: "Loading configuration schema..." }) }),
|
|
32349
32349
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32350
32350
|
DeveloperFooter,
|
|
32351
32351
|
{
|
|
@@ -32704,7 +32704,7 @@ function ConnectedAccountCluster({
|
|
|
32704
32704
|
if (!open) return null;
|
|
32705
32705
|
const current = activePage === page;
|
|
32706
32706
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32707
|
-
|
|
32707
|
+
chunkKRWWRTDN_cjs.SidebarBadgeRow,
|
|
32708
32708
|
{
|
|
32709
32709
|
icon: icon2,
|
|
32710
32710
|
label,
|
|
@@ -32721,7 +32721,7 @@ function ConnectedAccountCluster({
|
|
|
32721
32721
|
);
|
|
32722
32722
|
};
|
|
32723
32723
|
const bell = layout === "drawer" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32724
|
-
|
|
32724
|
+
chunkKRWWRTDN_cjs.SidebarBadgeRow,
|
|
32725
32725
|
{
|
|
32726
32726
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bell, { className: "size-5" }),
|
|
32727
32727
|
label: "Notifications",
|
|
@@ -32763,7 +32763,7 @@ function ConnectedAccountCluster({
|
|
|
32763
32763
|
side,
|
|
32764
32764
|
align,
|
|
32765
32765
|
renderTrigger: layout === "bar" ? void 0 : ({ unread, ariaLabel, testId }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
32766
|
-
|
|
32766
|
+
chunkKRWWRTDN_cjs.SidebarBadgeRow,
|
|
32767
32767
|
{
|
|
32768
32768
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bell, { className: "size-5" }),
|
|
32769
32769
|
label: "Notifications",
|
|
@@ -32776,7 +32776,7 @@ function ConnectedAccountCluster({
|
|
|
32776
32776
|
}
|
|
32777
32777
|
);
|
|
32778
32778
|
const contacts = showContacts && openContacts ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32779
|
-
|
|
32779
|
+
chunkKRWWRTDN_cjs.SidebarBadgeRow,
|
|
32780
32780
|
{
|
|
32781
32781
|
icon: /* @__PURE__ */ jsxRuntime.jsx(ContactIcon, { className: "size-5" }),
|
|
32782
32782
|
label: "Contacts",
|
|
@@ -32813,7 +32813,7 @@ function ConnectedAccountCluster({
|
|
|
32813
32813
|
layout
|
|
32814
32814
|
);
|
|
32815
32815
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32816
|
-
|
|
32816
|
+
chunkZLDFQZSP_cjs.ActionCluster,
|
|
32817
32817
|
{
|
|
32818
32818
|
layout,
|
|
32819
32819
|
status: layout === "bar" ? status : null,
|
|
@@ -32828,7 +32828,7 @@ function ConnectedAccountCluster({
|
|
|
32828
32828
|
}
|
|
32829
32829
|
);
|
|
32830
32830
|
}
|
|
32831
|
-
var gbp3 = (pence) =>
|
|
32831
|
+
var gbp3 = (pence) => chunkORIOOXUU_cjs.formatMoney(pence, "gbp");
|
|
32832
32832
|
function addonArrivalMessage(addons, added) {
|
|
32833
32833
|
const parts = [];
|
|
32834
32834
|
if (added.ai > 0) parts.push(`${react.formatGbp(added.ai * addons.block_ai_gbp)} of AI usage`);
|
|
@@ -33110,7 +33110,7 @@ function usePrefetchChunks(loaders) {
|
|
|
33110
33110
|
if (cancelled) return;
|
|
33111
33111
|
const load = queue.shift();
|
|
33112
33112
|
if (!load) return;
|
|
33113
|
-
void
|
|
33113
|
+
void chunkWV6RHIFP_cjs.prefetchChunk(load).finally(() => {
|
|
33114
33114
|
handle = idle(next);
|
|
33115
33115
|
});
|
|
33116
33116
|
};
|
|
@@ -33223,7 +33223,7 @@ function ConnectedAppRuntime({
|
|
|
33223
33223
|
prefetch
|
|
33224
33224
|
}) {
|
|
33225
33225
|
const on = (effect) => effects[effect] !== false;
|
|
33226
|
-
const { stripeEnabled } =
|
|
33226
|
+
const { stripeEnabled } = chunkORIOOXUU_cjs.useBillingSupport();
|
|
33227
33227
|
const welcomeDialog = on("welcomeDialog") && stripeEnabled;
|
|
33228
33228
|
const resolveFirstLogin = () => {
|
|
33229
33229
|
if (welcomeDialog) skipWelcomeDialogThisSession();
|
|
@@ -33978,7 +33978,7 @@ function ConnectedReportProblem({
|
|
|
33978
33978
|
const bar = layout === "bar";
|
|
33979
33979
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
33980
33980
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33981
|
-
|
|
33981
|
+
chunkKRWWRTDN_cjs.SidebarBadgeRow,
|
|
33982
33982
|
{
|
|
33983
33983
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MessageCircleQuestionMark, { className: "size-5" }),
|
|
33984
33984
|
label: "Contact support",
|
|
@@ -34011,14 +34011,14 @@ var referencesOf = (inputs) => {
|
|
|
34011
34011
|
return value?.documents ?? [];
|
|
34012
34012
|
};
|
|
34013
34013
|
var PROMPT_BINDINGS = {
|
|
34014
|
-
[
|
|
34014
|
+
[chunkLC7HFDCV_cjs.GENERATE_IMAGE_ID]: {
|
|
34015
34015
|
attachScope: false,
|
|
34016
34016
|
tools: (inputs) => {
|
|
34017
34017
|
const aspectRatio = typeof inputs.aspect_ratio === "string" ? inputs.aspect_ratio : "";
|
|
34018
34018
|
return {
|
|
34019
34019
|
retrieval_chunk: browser.buildRetrievalChunkTool([]),
|
|
34020
34020
|
retrieval_full_context: browser.buildRetrievalFullContextTool(referencesOf(inputs)),
|
|
34021
|
-
...aspectRatio && aspectRatio !==
|
|
34021
|
+
...aspectRatio && aspectRatio !== chunkLC7HFDCV_cjs.IMAGE_ASPECT_AUTO ? {
|
|
34022
34022
|
image_generation: {
|
|
34023
34023
|
name: "image_generation",
|
|
34024
34024
|
description: "image generation",
|
|
@@ -34039,19 +34039,19 @@ var text = (inputs, name) => {
|
|
|
34039
34039
|
function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
34040
34040
|
const { data: documents = [] } = react.useDocuments();
|
|
34041
34041
|
const { data: workspaceTags = [] } = react.useTags();
|
|
34042
|
-
const tags = react$1.useMemo(() =>
|
|
34042
|
+
const tags = react$1.useMemo(() => chunkLHQHK6MB_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
|
|
34043
34043
|
const createTag = react.useCreateTag();
|
|
34044
34044
|
const updateTag = react.useUpdateTag();
|
|
34045
34045
|
const generate = react.useGenerateDocTags();
|
|
34046
|
-
const { create: createTask } =
|
|
34046
|
+
const { create: createTask } = chunk5V7JWZQ4_cjs.useWorkflowTasks();
|
|
34047
34047
|
const applyModel = react.useApplyChatModel();
|
|
34048
34048
|
const session = react.useArbiSessionStore();
|
|
34049
34049
|
const { notify: notify17, openFiles, openNewConversation } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
34050
34050
|
const annotate = react$1.useCallback(
|
|
34051
34051
|
async ({ inputs, scope }) => {
|
|
34052
34052
|
const description = text(inputs, "description");
|
|
34053
|
-
const name = text(inputs, "name") ||
|
|
34054
|
-
const matching =
|
|
34053
|
+
const name = text(inputs, "name") || chunkLC7HFDCV_cjs.deriveAnnotationName(description);
|
|
34054
|
+
const matching = chunkLHQHK6MB_cjs.matchWorkflowScope(documents, scope);
|
|
34055
34055
|
if (!name || !description || matching.length === 0) return;
|
|
34056
34056
|
try {
|
|
34057
34057
|
const existing = tags.find((t) => t.name.toLowerCase() === name.toLowerCase());
|
|
@@ -34094,9 +34094,9 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
34094
34094
|
async (launch) => {
|
|
34095
34095
|
const { workflow, inputs, scope, agentId } = launch;
|
|
34096
34096
|
if (workflow.run.kind === "operation") {
|
|
34097
|
-
if (workflow.id ===
|
|
34097
|
+
if (workflow.id === chunkLC7HFDCV_cjs.ANNOTATE_ID) {
|
|
34098
34098
|
await annotate(launch);
|
|
34099
|
-
|
|
34099
|
+
chunkLC7HFDCV_cjs.recordWorkflowUse(workflow.id);
|
|
34100
34100
|
return;
|
|
34101
34101
|
}
|
|
34102
34102
|
throw new Error(`No host handler for workflow "${workflow.id}"`);
|
|
@@ -34106,7 +34106,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
34106
34106
|
);
|
|
34107
34107
|
const prompt = chunk555BS22J_cjs.composeWorkflowPrompt(workflow, inputs, { documentTitles });
|
|
34108
34108
|
if (!prompt) return;
|
|
34109
|
-
|
|
34109
|
+
chunkLC7HFDCV_cjs.recordWorkflowUse(workflow.id);
|
|
34110
34110
|
if (agentId) {
|
|
34111
34111
|
try {
|
|
34112
34112
|
const created = await createTask({
|
|
@@ -34151,7 +34151,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
34151
34151
|
const binding = PROMPT_BINDINGS[workflow.id];
|
|
34152
34152
|
if (!inPlace) openNewConversation();
|
|
34153
34153
|
if (binding?.attachScope !== false && !chunk555BS22J_cjs.isEmptyWorkflowScope(scope)) {
|
|
34154
|
-
const ids =
|
|
34154
|
+
const ids = chunkLHQHK6MB_cjs.matchWorkflowScope(documents, scope).map((d) => d.external_id);
|
|
34155
34155
|
if (ids.length > 0) {
|
|
34156
34156
|
session.setConversationDocuments(
|
|
34157
34157
|
inPlace ? session.getState().conversationId ?? "new" : "new",
|
|
@@ -34186,30 +34186,30 @@ function ConnectedWorkflowStart({
|
|
|
34186
34186
|
const onLaunch = useLaunchWorkflow({ landing });
|
|
34187
34187
|
const { openUpload } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
34188
34188
|
const { data: workspaceTags = [] } = react.useTags();
|
|
34189
|
-
const tags = react$1.useMemo(() =>
|
|
34189
|
+
const tags = react$1.useMemo(() => chunkLHQHK6MB_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
|
|
34190
34190
|
const fieldPlaceholder = react$1.useCallback(
|
|
34191
34191
|
(field, inputs, workflow) => {
|
|
34192
|
-
if (workflow.id !==
|
|
34193
|
-
const derived =
|
|
34192
|
+
if (workflow.id !== chunkLC7HFDCV_cjs.ANNOTATE_ID || field.name !== "name") return void 0;
|
|
34193
|
+
const derived = chunkLC7HFDCV_cjs.deriveAnnotationName(String(inputs.description ?? ""));
|
|
34194
34194
|
return derived ? `Otherwise \u201C${derived}\u201D` : "Taken from the description";
|
|
34195
34195
|
},
|
|
34196
34196
|
[]
|
|
34197
34197
|
);
|
|
34198
34198
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34199
|
-
|
|
34199
|
+
chunkUHP6AP6C_cjs.ConnectedWorkflowLauncher,
|
|
34200
34200
|
{
|
|
34201
34201
|
...rest,
|
|
34202
34202
|
workflows,
|
|
34203
34203
|
onLaunch,
|
|
34204
|
-
renderIcon:
|
|
34204
|
+
renderIcon: chunkLC7HFDCV_cjs.renderWorkflowIcon,
|
|
34205
34205
|
onAddFiles: openUpload,
|
|
34206
34206
|
agentLabels: AGENT_LABELS,
|
|
34207
34207
|
addFilesAction,
|
|
34208
34208
|
fieldPlaceholder,
|
|
34209
|
-
submitLabel: ({ workflow, matchedCount }) => workflow.id ===
|
|
34209
|
+
submitLabel: ({ workflow, matchedCount }) => workflow.id === chunkLC7HFDCV_cjs.ANNOTATE_ID && matchedCount !== null ? `Annotate ${matchedCount} document${matchedCount !== 1 ? "s" : ""}` : void 0,
|
|
34210
34210
|
renderNotice: ({ workflow, inputs }) => {
|
|
34211
|
-
if (workflow.id !==
|
|
34212
|
-
const name = String(inputs.name ?? "").trim() ||
|
|
34211
|
+
if (workflow.id !== chunkLC7HFDCV_cjs.ANNOTATE_ID) return null;
|
|
34212
|
+
const name = String(inputs.name ?? "").trim() || chunkLC7HFDCV_cjs.deriveAnnotationName(String(inputs.description ?? ""));
|
|
34213
34213
|
const existing = name ? tags.find((t) => t.name.toLowerCase() === name.toLowerCase()) : void 0;
|
|
34214
34214
|
if (!existing) return null;
|
|
34215
34215
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -34246,9 +34246,9 @@ function resolveLaunchInputs(workflow, request) {
|
|
|
34246
34246
|
return { ...fromContext, ...fromScope, ...request.inputs };
|
|
34247
34247
|
}
|
|
34248
34248
|
function useWorkflowLaunch() {
|
|
34249
|
-
const { skills } =
|
|
34249
|
+
const { skills } = chunk5V7JWZQ4_cjs.useWorkflowDefinitions();
|
|
34250
34250
|
const launch = react$1.useCallback(
|
|
34251
|
-
(workflowId, options2 = {}) =>
|
|
34251
|
+
(workflowId, options2 = {}) => chunkLC7HFDCV_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
|
|
34252
34252
|
[]
|
|
34253
34253
|
);
|
|
34254
34254
|
const itemsFor = react$1.useCallback(
|
|
@@ -34277,9 +34277,9 @@ function useWorkflowLaunch() {
|
|
|
34277
34277
|
return { launch, itemsFor, scopeItemsFor };
|
|
34278
34278
|
}
|
|
34279
34279
|
function Inner() {
|
|
34280
|
-
const request =
|
|
34281
|
-
const close =
|
|
34282
|
-
const { skills } =
|
|
34280
|
+
const request = chunkLC7HFDCV_cjs.useWorkflowLaunchRequest();
|
|
34281
|
+
const close = chunkLC7HFDCV_cjs.closeWorkflowLaunch;
|
|
34282
|
+
const { skills } = chunk5V7JWZQ4_cjs.useWorkflowDefinitions();
|
|
34283
34283
|
const run = useLaunchWorkflow({ landing: request?.landing });
|
|
34284
34284
|
const workflow = skills.find((w) => w.id === request?.workflowId);
|
|
34285
34285
|
const inputs = react$1.useMemo(
|
|
@@ -34316,7 +34316,7 @@ function Inner() {
|
|
|
34316
34316
|
);
|
|
34317
34317
|
}
|
|
34318
34318
|
function WorkflowLaunchHost() {
|
|
34319
|
-
return
|
|
34319
|
+
return chunkLC7HFDCV_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
|
|
34320
34320
|
}
|
|
34321
34321
|
function isNeedsConfirmationDetail(detail) {
|
|
34322
34322
|
return typeof detail === "object" && detail !== null && detail.needs_confirmation === "resource_private";
|
|
@@ -34606,9 +34606,9 @@ function ConnectedConversationSettings() {
|
|
|
34606
34606
|
});
|
|
34607
34607
|
if (confirmed) settings.share();
|
|
34608
34608
|
};
|
|
34609
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34609
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PanelFrame, { testId: "conversation-settings", className: "bg-transparent", children: /* @__PURE__ */ jsxRuntime.jsx(chunkQB7PNQDJ_cjs.PanelFrameBody, { className: "overflow-auto p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
34610
34610
|
!settings.isNewConversation && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34611
|
-
|
|
34611
|
+
chunkQB7PNQDJ_cjs.ConversationTitleSection,
|
|
34612
34612
|
{
|
|
34613
34613
|
title: settings.title,
|
|
34614
34614
|
onTitleChange: settings.setTitle,
|
|
@@ -34626,9 +34626,9 @@ function ConnectedConversationSettings() {
|
|
|
34626
34626
|
}
|
|
34627
34627
|
),
|
|
34628
34628
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34629
|
-
|
|
34629
|
+
chunkQB7PNQDJ_cjs.ModelSelectionSection,
|
|
34630
34630
|
{
|
|
34631
|
-
selector: /* @__PURE__ */ jsxRuntime.jsx(
|
|
34631
|
+
selector: /* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedModelSelector, {}),
|
|
34632
34632
|
onUseDefaults: settings.resetToDefaults
|
|
34633
34633
|
}
|
|
34634
34634
|
)
|
|
@@ -34685,7 +34685,7 @@ var BUILTIN_GLOBAL_DIALOGS = {
|
|
|
34685
34685
|
testId: "workspace-transfer-modal"
|
|
34686
34686
|
}
|
|
34687
34687
|
),
|
|
34688
|
-
logout: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
34688
|
+
logout: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedLogoutDialog, { open: props !== null, onClose }),
|
|
34689
34689
|
conversationSettings: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedConversationSettingsDialog, { open: props !== null, onClose }),
|
|
34690
34690
|
unarchiveWorkspace: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedUnarchiveWorkspaceDialog, { workspaceId: props?.workspaceId ?? null, onClose })
|
|
34691
34691
|
};
|
|
@@ -34753,7 +34753,7 @@ function WorkflowRunStatusCell({ conversation }) {
|
|
|
34753
34753
|
return person ? ui.getUserDisplayName(person) : void 0;
|
|
34754
34754
|
};
|
|
34755
34755
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34756
|
-
|
|
34756
|
+
chunkLC7HFDCV_cjs.WorkflowRunStatus,
|
|
34757
34757
|
{
|
|
34758
34758
|
steps,
|
|
34759
34759
|
states,
|
|
@@ -34787,7 +34787,7 @@ function ConversationStatusCell({ conversation }) {
|
|
|
34787
34787
|
if (conversation.plan?.steps?.length && !isLiveGenerating)
|
|
34788
34788
|
return /* @__PURE__ */ jsxRuntime.jsx(WorkflowRunStatusCell, { conversation });
|
|
34789
34789
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34790
|
-
|
|
34790
|
+
chunkLC7HFDCV_cjs.ThreadStatusLine,
|
|
34791
34791
|
{
|
|
34792
34792
|
state: threadStateOf(conversation, isLiveGenerating),
|
|
34793
34793
|
className: "h-full",
|
|
@@ -35272,7 +35272,7 @@ function ConnectedTaskStartDialog({
|
|
|
35272
35272
|
};
|
|
35273
35273
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
35274
35274
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35275
|
-
|
|
35275
|
+
chunkLC7HFDCV_cjs.TaskStartDialog,
|
|
35276
35276
|
{
|
|
35277
35277
|
open: open && !later,
|
|
35278
35278
|
onOpenChange: (next) => {
|
|
@@ -35297,14 +35297,14 @@ function ConnectedTaskStartDialog({
|
|
|
35297
35297
|
}
|
|
35298
35298
|
),
|
|
35299
35299
|
later && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35300
|
-
|
|
35300
|
+
chunk5V7JWZQ4_cjs.ConnectedTaskComposer,
|
|
35301
35301
|
{
|
|
35302
35302
|
open: true,
|
|
35303
35303
|
onOpenChange: (next) => !next && setLater(null),
|
|
35304
35304
|
kind: "workflow",
|
|
35305
35305
|
startLater: true,
|
|
35306
35306
|
initialPrompt: later.prompt,
|
|
35307
|
-
initialWorkflowId: later.todo ?
|
|
35307
|
+
initialWorkflowId: later.todo ? chunkLC7HFDCV_cjs.REMIND_TASK_ID : void 0,
|
|
35308
35308
|
initialShared: later.shared,
|
|
35309
35309
|
launchWorkflow: later.workflow
|
|
35310
35310
|
}
|
|
@@ -35324,7 +35324,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
35324
35324
|
setDraft("");
|
|
35325
35325
|
};
|
|
35326
35326
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkONUY3NPW_cjs.ComposerDock, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkONUY3NPW_cjs.ComposerContainer, { className: "mx-auto max-w-[49rem] px-3 sm:px-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
35327
|
-
|
|
35327
|
+
chunkOAEJME5Q_cjs.ConversationComposer,
|
|
35328
35328
|
{
|
|
35329
35329
|
value: draft,
|
|
35330
35330
|
onValueChange: setDraft,
|
|
@@ -35332,7 +35332,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
35332
35332
|
handleSendMessage: send,
|
|
35333
35333
|
isConversationEmpty: true,
|
|
35334
35334
|
shouldOfferFollowUp: false,
|
|
35335
|
-
modelSelector: /* @__PURE__ */ jsxRuntime.jsx(
|
|
35335
|
+
modelSelector: /* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedModelSelector, { variant: "compact" }),
|
|
35336
35336
|
rightButton: /* @__PURE__ */ jsxRuntime.jsx(chunkONUY3NPW_cjs.ComposerSend, { onSend: send, disabled: !draft.trim() })
|
|
35337
35337
|
}
|
|
35338
35338
|
) }) });
|
|
@@ -35359,13 +35359,13 @@ function ConnectedNewThreadDialog({
|
|
|
35359
35359
|
});
|
|
35360
35360
|
const parentOptions = react$1.useMemo(() => {
|
|
35361
35361
|
const leaf = { external_id: "__new__" };
|
|
35362
|
-
return
|
|
35362
|
+
return chunkLC7HFDCV_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
|
|
35363
35363
|
id: t.external_id,
|
|
35364
35364
|
name: t.title?.trim() || "Untitled task"
|
|
35365
35365
|
}));
|
|
35366
35366
|
}, [tasks]);
|
|
35367
35367
|
const submit = async (values) => {
|
|
35368
|
-
const request =
|
|
35368
|
+
const request = chunkLC7HFDCV_cjs.newThreadToRequest(values);
|
|
35369
35369
|
try {
|
|
35370
35370
|
if (!workspaceId) throw new Error("Open a workspace to add a task.");
|
|
35371
35371
|
if (!request.startAssistant && request.todo) {
|
|
@@ -35406,7 +35406,7 @@ function ConnectedNewThreadDialog({
|
|
|
35406
35406
|
}
|
|
35407
35407
|
};
|
|
35408
35408
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35409
|
-
|
|
35409
|
+
chunkLC7HFDCV_cjs.NewThreadDialog,
|
|
35410
35410
|
{
|
|
35411
35411
|
open,
|
|
35412
35412
|
onOpenChange,
|
|
@@ -35422,7 +35422,7 @@ function ConnectedNewThreadDialog({
|
|
|
35422
35422
|
var START_VISIBLE = 8;
|
|
35423
35423
|
var START_SEARCH_ABOVE = 8;
|
|
35424
35424
|
function ConnectedConversationStart() {
|
|
35425
|
-
const { start } =
|
|
35425
|
+
const { start } = chunk5V7JWZQ4_cjs.useWorkflowDefinitions();
|
|
35426
35426
|
const { openSkillsBrowser } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
35427
35427
|
const [query, setQuery] = react$1.useState("");
|
|
35428
35428
|
const q = query.trim().toLowerCase();
|
|
@@ -35437,7 +35437,7 @@ function ConnectedConversationStart() {
|
|
|
35437
35437
|
const browse = openSkillsBrowser ? [
|
|
35438
35438
|
{
|
|
35439
35439
|
id: "browse-all",
|
|
35440
|
-
iconNode:
|
|
35440
|
+
iconNode: chunkLC7HFDCV_cjs.renderWorkflowIcon("library"),
|
|
35441
35441
|
title: "Browse all",
|
|
35442
35442
|
description: "See every skill, make a copy, add your own",
|
|
35443
35443
|
onSelect: () => openSkillsBrowser(),
|
|
@@ -35481,7 +35481,7 @@ function parseTypedSkill(draft) {
|
|
|
35481
35481
|
return m ? { slug: m[1].toLowerCase(), text: (m[2] ?? "").trim() } : null;
|
|
35482
35482
|
}
|
|
35483
35483
|
function useSlashSkillWorkflows({ landing }) {
|
|
35484
|
-
const { skills, skillsEnabled } =
|
|
35484
|
+
const { skills, skillsEnabled } = chunk5V7JWZQ4_cjs.useWorkflowDefinitions();
|
|
35485
35485
|
const { commands } = react.useBuiltinCommands();
|
|
35486
35486
|
const [active, setActive] = react$1.useState(null);
|
|
35487
35487
|
const open = (workflow, text2) => {
|
|
@@ -35587,7 +35587,7 @@ function AgentBarShell({
|
|
|
35587
35587
|
}, [isStepsExpanded, steps]);
|
|
35588
35588
|
const visibleStepCount = react$1.useMemo(() => browser.topLevelAgentSteps(steps ?? []).length, [steps]);
|
|
35589
35589
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35590
|
-
|
|
35590
|
+
chunkLC7HFDCV_cjs.AgentBar,
|
|
35591
35591
|
{
|
|
35592
35592
|
className,
|
|
35593
35593
|
testId,
|
|
@@ -35599,7 +35599,7 @@ function AgentBarShell({
|
|
|
35599
35599
|
drawerRef: scrollRef,
|
|
35600
35600
|
onDrawerScroll: handleDrawerScroll,
|
|
35601
35601
|
drawer: /* @__PURE__ */ jsxRuntime.jsx(
|
|
35602
|
-
|
|
35602
|
+
chunkOAEJME5Q_cjs.AgentSteps,
|
|
35603
35603
|
{
|
|
35604
35604
|
steps: stepList,
|
|
35605
35605
|
isStreaming,
|
|
@@ -35651,7 +35651,7 @@ function AgentControlBar({
|
|
|
35651
35651
|
const waitingOnChildren = runningLanes.length > 0 && ["sub_agent", "spawn_subagent", "deep_research", "run_skill"].includes(currentTool ?? "");
|
|
35652
35652
|
const waitingLabel = runningLanes.length === 1 ? `Waiting on ${runningLanes[0].job}` : `Waiting on ${runningLanes.length} sub-agents`;
|
|
35653
35653
|
const liveTimerNode = liveTimer && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35654
|
-
|
|
35654
|
+
chunkOAEJME5Q_cjs.MessageLiveSeconds,
|
|
35655
35655
|
{
|
|
35656
35656
|
...liveTimer,
|
|
35657
35657
|
offsetSeconds: currentStep?.t ?? 0,
|
|
@@ -35660,7 +35660,7 @@ function AgentControlBar({
|
|
|
35660
35660
|
}
|
|
35661
35661
|
);
|
|
35662
35662
|
const status = /* @__PURE__ */ jsxRuntime.jsx(
|
|
35663
|
-
|
|
35663
|
+
chunkLC7HFDCV_cjs.AgentBarStatus,
|
|
35664
35664
|
{
|
|
35665
35665
|
state: showState ? controlState : void 0,
|
|
35666
35666
|
stateLabel: STATE_LABEL[controlState],
|
|
@@ -35702,7 +35702,7 @@ function AgentControlBar({
|
|
|
35702
35702
|
];
|
|
35703
35703
|
const controls = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
35704
35704
|
onStop && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35705
|
-
|
|
35705
|
+
chunkLC7HFDCV_cjs.AgentBarIconButton,
|
|
35706
35706
|
{
|
|
35707
35707
|
onClick: onStop,
|
|
35708
35708
|
title: "Stop",
|
|
@@ -35711,22 +35711,22 @@ function AgentControlBar({
|
|
|
35711
35711
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3 w-3", fill: "currentColor" })
|
|
35712
35712
|
}
|
|
35713
35713
|
),
|
|
35714
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35714
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.AgentBarMenu, { items: menuItems })
|
|
35715
35715
|
] });
|
|
35716
35716
|
const displayedQueuedMessages = (transientQueuedMessages ?? []).filter(
|
|
35717
35717
|
(message) => !message.serverId || !queuedMessages.some((queued) => queued.external_id === message.serverId)
|
|
35718
35718
|
);
|
|
35719
35719
|
const queuedNotes = displayedQueuedMessages.filter((message) => message.content);
|
|
35720
|
-
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
35720
|
+
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkLC7HFDCV_cjs.AgentBarNotes, { children: [
|
|
35721
35721
|
queuedNotes.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
35722
|
-
|
|
35722
|
+
chunkLC7HFDCV_cjs.AgentBarQueuedNote,
|
|
35723
35723
|
{
|
|
35724
35724
|
text: message.content ?? "",
|
|
35725
35725
|
isAcknowledged: message.acknowledged
|
|
35726
35726
|
},
|
|
35727
35727
|
index
|
|
35728
35728
|
)),
|
|
35729
|
-
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35729
|
+
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
|
|
35730
35730
|
] }) : null;
|
|
35731
35731
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35732
35732
|
AgentBarShell,
|
|
@@ -35770,8 +35770,8 @@ function retrievedSources(citationData, docTitles) {
|
|
|
35770
35770
|
var SourceChips = ({ messageId, citations, citationData }) => {
|
|
35771
35771
|
const compact = chunkMCXS6X37_cjs.useCompactChat();
|
|
35772
35772
|
const session = react.useArbiSessionStore();
|
|
35773
|
-
const openChunk =
|
|
35774
|
-
const docTitles =
|
|
35773
|
+
const openChunk = chunkOAEJME5Q_cjs.useOpenChunk();
|
|
35774
|
+
const docTitles = chunkOAEJME5Q_cjs.useWorkspaceDocTitles();
|
|
35775
35775
|
const sources = react$1.useMemo(() => {
|
|
35776
35776
|
if (!citations) return retrievedSources(citationData, docTitles);
|
|
35777
35777
|
const chunkMap = /* @__PURE__ */ new Map();
|
|
@@ -36576,7 +36576,7 @@ function ConversationThread({
|
|
|
36576
36576
|
const isGuest = react.useWorkspaceRole() === "guest";
|
|
36577
36577
|
const meetingReadOnly = isGuest && !!currentTask?.meeting_call_ext_id;
|
|
36578
36578
|
const meetingCallExtId = currentTask?.meeting_call_ext_id ?? null;
|
|
36579
|
-
const threadMessages =
|
|
36579
|
+
const threadMessages = chunkL6DAJUDF_cjs.useMeetingThreadMessages(meetingCallExtId, messageHistory);
|
|
36580
36580
|
const [firstTurnPrompt, setFirstTurnPrompt] = react$1.useState(null);
|
|
36581
36581
|
const currentUserExtId = react.useArbiSession().user?.external_id ?? "";
|
|
36582
36582
|
const pendingFirstTurn = react$1.useMemo(
|
|
@@ -36624,7 +36624,7 @@ function ConversationThread({
|
|
|
36624
36624
|
return shownThreadMessages.slice(0, editIndex);
|
|
36625
36625
|
}, [shownThreadMessages, editingMessageId]);
|
|
36626
36626
|
const transcriptRunInfo = react$1.useMemo(
|
|
36627
|
-
() =>
|
|
36627
|
+
() => chunkQOV564TW_cjs.threadTranscriptRuns(meetingCallExtId ? visibleMessages : []),
|
|
36628
36628
|
[meetingCallExtId, visibleMessages]
|
|
36629
36629
|
);
|
|
36630
36630
|
const threadLines = react$1.useMemo(
|
|
@@ -36639,7 +36639,7 @@ function ConversationThread({
|
|
|
36639
36639
|
}),
|
|
36640
36640
|
[threadMessages]
|
|
36641
36641
|
);
|
|
36642
|
-
const provisionalSpeakers =
|
|
36642
|
+
const provisionalSpeakers = chunkL6DAJUDF_cjs.useProvisionalSpeakers(meetingCallExtId, threadLines);
|
|
36643
36643
|
const showProvisional = !!meetingCallExtId && meetingView !== "chat";
|
|
36644
36644
|
const latestContextUsage = react$1.useMemo(() => {
|
|
36645
36645
|
const messages = messageHistory;
|
|
@@ -36729,7 +36729,7 @@ function ConversationThread({
|
|
|
36729
36729
|
}, [isGenerating]);
|
|
36730
36730
|
const slashWorkflows = useSlashSkillWorkflows({ landing: "current-chat" });
|
|
36731
36731
|
const composerSkills = react$1.useMemo(
|
|
36732
|
-
() => ({ builtin:
|
|
36732
|
+
() => ({ builtin: chunkLC7HFDCV_cjs.BUILTIN_SKILLS, openFor: slashWorkflows.openFor }),
|
|
36733
36733
|
[slashWorkflows.openFor]
|
|
36734
36734
|
);
|
|
36735
36735
|
const browseSkills = react$1.useMemo(
|
|
@@ -36778,7 +36778,7 @@ function ConversationThread({
|
|
|
36778
36778
|
useStartRequestedDraft();
|
|
36779
36779
|
const orphanedMessage = react.getOrphanedLastMessage(messageHistory, isGenerating, assistantMode);
|
|
36780
36780
|
return /* @__PURE__ */ jsxRuntime.jsxs(chunk5SXODQEV_cjs.ConversationBody, { children: [
|
|
36781
|
-
/* @__PURE__ */ jsxRuntime.jsx(chunk5SXODQEV_cjs.ConversationMain, { "data-testid": `conversation-${currentConversationId}`, children: threadsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk5SXODQEV_cjs.ConversationLoading, {}) : messageHistory.length > 0 || isBranching ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
36781
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk5SXODQEV_cjs.ConversationMain, { "data-testid": `conversation-${currentConversationId}`, children: threadsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk5SXODQEV_cjs.ConversationLoading, {}) : messageHistory.length > 0 || isBranching ? /* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.AskAgainContext.Provider, { value: handleAskAgain, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkQOV564TW_cjs.TranscriptRunsContext.Provider, { value: transcriptRunInfo, children: [
|
|
36782
36782
|
meetingCallExtId && transcriptLineCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center py-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
36783
36783
|
chunkC5YZWJCC_cjs.ConversationFilter,
|
|
36784
36784
|
{
|
|
@@ -36796,15 +36796,15 @@ function ConversationThread({
|
|
|
36796
36796
|
]
|
|
36797
36797
|
}
|
|
36798
36798
|
) }),
|
|
36799
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36800
|
-
showProvisional && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36799
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedMessageArea, { ref: containerRef, messages: visibleMessages }),
|
|
36800
|
+
showProvisional && /* @__PURE__ */ jsxRuntime.jsx(chunkL6DAJUDF_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
|
|
36801
36801
|
] }) }) : meetingCallExtId ? (
|
|
36802
36802
|
// A meeting thread with nothing yet: call-aware, not the upload prompt.
|
|
36803
36803
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
36804
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36805
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36804
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkL6DAJUDF_cjs.CallConversationEmpty, { callExtId: meetingCallExtId }),
|
|
36805
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkL6DAJUDF_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
|
|
36806
36806
|
] })
|
|
36807
|
-
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
36807
|
+
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(chunkOAEJME5Q_cjs.ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
36808
36808
|
ConnectedConversationEmpty,
|
|
36809
36809
|
{
|
|
36810
36810
|
hasDocuments: allWorkspaceDocuments.length > 0,
|
|
@@ -36875,7 +36875,7 @@ function ConversationThread({
|
|
|
36875
36875
|
children: react.READ_ONLY_MEETING_TEXT
|
|
36876
36876
|
}
|
|
36877
36877
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
36878
|
-
|
|
36878
|
+
chunkOAEJME5Q_cjs.ConversationComposer,
|
|
36879
36879
|
{
|
|
36880
36880
|
handleSendMessage: handleUserSend,
|
|
36881
36881
|
placeholder: pendingAnswer ? "Type your answer to ARBI \u2014 or pick an option above" : void 0,
|
|
@@ -37224,7 +37224,7 @@ function ConnectedThreadsPage({
|
|
|
37224
37224
|
};
|
|
37225
37225
|
const page = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col", "data-testid": "threads-page", children: [
|
|
37226
37226
|
/* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-0 flex-1 flex-col bg-background", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
37227
|
-
|
|
37227
|
+
chunkLC7HFDCV_cjs.ConversationListView,
|
|
37228
37228
|
{
|
|
37229
37229
|
showHeader,
|
|
37230
37230
|
conversations: tasks,
|
|
@@ -37243,7 +37243,7 @@ function ConnectedThreadsPage({
|
|
|
37243
37243
|
renderLabels: threadLabels.renderLabels,
|
|
37244
37244
|
labelText: threadLabels.labelText,
|
|
37245
37245
|
renderBy: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
37246
|
-
|
|
37246
|
+
chunkLC7HFDCV_cjs.ConversationTurnSpeaker,
|
|
37247
37247
|
{
|
|
37248
37248
|
variant: "icon",
|
|
37249
37249
|
role: row2.last_message_role,
|
|
@@ -37276,7 +37276,7 @@ function ConnectedThreadsPage({
|
|
|
37276
37276
|
}
|
|
37277
37277
|
),
|
|
37278
37278
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
37279
|
-
|
|
37279
|
+
chunkQB7PNQDJ_cjs.RenameDialog,
|
|
37280
37280
|
{
|
|
37281
37281
|
open: !!renaming,
|
|
37282
37282
|
onClose: () => {
|
|
@@ -37498,7 +37498,7 @@ function ConnectedConversationPage({
|
|
|
37498
37498
|
);
|
|
37499
37499
|
const { data: workspaceTags = [] } = react.useTags();
|
|
37500
37500
|
const { tagId: threadTagId, clear: clearThreadTag } = useThreadTagFilter();
|
|
37501
|
-
const historyCount =
|
|
37501
|
+
const historyCount = chunkLC7HFDCV_cjs.filterConversationRows(
|
|
37502
37502
|
threadTagId ? conversations.filter((row2) => row2.label_ext_ids?.includes(threadTagId)) : conversations,
|
|
37503
37503
|
threadFilter,
|
|
37504
37504
|
(row2) => workspaceTags.filter((tag) => row2.label_ext_ids?.includes(tag.external_id)).map((tag) => tag.name).join(" "),
|
|
@@ -37541,7 +37541,7 @@ function ConnectedConversationPage({
|
|
|
37541
37541
|
}
|
|
37542
37542
|
}
|
|
37543
37543
|
),
|
|
37544
|
-
isInChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37544
|
+
isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunkL6DAJUDF_cjs.ConnectedConversationCallActions, {}),
|
|
37545
37545
|
isInChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37546
37546
|
chunk5SXODQEV_cjs.NewChatButton,
|
|
37547
37547
|
{
|
|
@@ -37557,7 +37557,7 @@ function ConnectedConversationPage({
|
|
|
37557
37557
|
] })
|
|
37558
37558
|
}
|
|
37559
37559
|
),
|
|
37560
|
-
isInChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37560
|
+
isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunk5V7JWZQ4_cjs.ConnectedThreadTaskBar, { conversationId: currentConversationId })
|
|
37561
37561
|
] }),
|
|
37562
37562
|
isInChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37563
37563
|
ConversationThread,
|
|
@@ -38256,7 +38256,7 @@ function SsoResendVerificationButton({
|
|
|
38256
38256
|
onClick: async () => handleResendEmailVerification(),
|
|
38257
38257
|
disabled: loading || disabled,
|
|
38258
38258
|
"aria-label": "Resend verification email",
|
|
38259
|
-
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
38259
|
+
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkUFGC77KR_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
38260
38260
|
"Didn't get a verification email? ",
|
|
38261
38261
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: "Resend" })
|
|
38262
38262
|
] })
|
|
@@ -38267,16 +38267,16 @@ function SsoResendVerificationButton({
|
|
|
38267
38267
|
}
|
|
38268
38268
|
var NO_RECOVERY_KEY_WARNING = "Without your password or a recovery key, we cannot recover your account or data.";
|
|
38269
38269
|
function ConnectedSsoCallback() {
|
|
38270
|
-
const sso =
|
|
38270
|
+
const sso = chunkOAEJME5Q_cjs.useSsoSignIn();
|
|
38271
38271
|
const { isAuthenticated: isAuthenticated2, isLoading, user } = sso;
|
|
38272
|
-
const auth =
|
|
38272
|
+
const auth = chunkOAEJME5Q_cjs.useAuthPages();
|
|
38273
38273
|
const { notify: notify17, navigate } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
38274
38274
|
const passwordRules = auth.passwordRules;
|
|
38275
38275
|
const isProcessing = react$1.useRef(false);
|
|
38276
38276
|
const hasCheckedStatus = react$1.useRef(false);
|
|
38277
38277
|
const [accessToken, setAccessToken] = react$1.useState(null);
|
|
38278
38278
|
const [ssoStatus, setSsoStatus] = react$1.useState(null);
|
|
38279
|
-
const ssoName = react$1.useMemo(() =>
|
|
38279
|
+
const ssoName = react$1.useMemo(() => chunkOAEJME5Q_cjs.resolveSsoName(user ?? {}, ssoStatus ?? {}), [user, ssoStatus]);
|
|
38280
38280
|
const [password, setPassword] = react$1.useState("");
|
|
38281
38281
|
const [confirmPassword, setConfirmPassword] = react$1.useState("");
|
|
38282
38282
|
const [error, setError] = react$1.useState(null);
|
|
@@ -38454,7 +38454,7 @@ function ConnectedSsoCallback() {
|
|
|
38454
38454
|
setIsCheckingStatus(true);
|
|
38455
38455
|
try {
|
|
38456
38456
|
console.info("[SSO] Checking user status...");
|
|
38457
|
-
const response = await
|
|
38457
|
+
const response = await chunkOAEJME5Q_cjs.ssoAccountStatus(arbi, accessToken, user);
|
|
38458
38458
|
console.info("[SSO] User status:", response.status);
|
|
38459
38459
|
setSsoStatus(response);
|
|
38460
38460
|
} catch (error2) {
|
|
@@ -38498,7 +38498,7 @@ function ConnectedSsoCallback() {
|
|
|
38498
38498
|
setIsSubmitting(true);
|
|
38499
38499
|
setError(null);
|
|
38500
38500
|
try {
|
|
38501
|
-
const { login, registered, linked } = await
|
|
38501
|
+
const { login, registered, linked } = await chunkOAEJME5Q_cjs.completeSsoSignIn(arbi, {
|
|
38502
38502
|
token: accessToken,
|
|
38503
38503
|
user,
|
|
38504
38504
|
status: ssoStatus,
|
|
@@ -38780,7 +38780,7 @@ function ConnectedSsoCallback() {
|
|
|
38780
38780
|
ssoStatus.status !== "new_user" && auth.footer
|
|
38781
38781
|
] }),
|
|
38782
38782
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
38783
|
-
|
|
38783
|
+
chunkOAEJME5Q_cjs.ConnectedForgotPassword,
|
|
38784
38784
|
{
|
|
38785
38785
|
open: showForgotPasswordModal,
|
|
38786
38786
|
onOpenChange: setShowForgotPasswordModal,
|
|
@@ -38788,7 +38788,7 @@ function ConnectedSsoCallback() {
|
|
|
38788
38788
|
}
|
|
38789
38789
|
),
|
|
38790
38790
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
38791
|
-
|
|
38791
|
+
chunkOAEJME5Q_cjs.ConnectedPasswordChangeDialog,
|
|
38792
38792
|
{
|
|
38793
38793
|
open: showChangePasswordModal,
|
|
38794
38794
|
onClose: () => setShowChangePasswordModal(false),
|
|
@@ -38950,7 +38950,7 @@ function ConnectedRecoveryKeyDialog({
|
|
|
38950
38950
|
const arbi = react.useArbi();
|
|
38951
38951
|
const { user, isSso: isSsoMode } = react.useArbiSession();
|
|
38952
38952
|
const userEmail = user?.email;
|
|
38953
|
-
const sso =
|
|
38953
|
+
const sso = chunkOAEJME5Q_cjs.useSsoSignIn();
|
|
38954
38954
|
const handleVerify = async () => {
|
|
38955
38955
|
setError(null);
|
|
38956
38956
|
if (!password) {
|
|
@@ -39150,27 +39150,27 @@ function ConnectedOAuthConsentPage({
|
|
|
39150
39150
|
oauthErrorRedirect(params.redirectUri, params.state, "access_denied");
|
|
39151
39151
|
}
|
|
39152
39152
|
if (error && !params) {
|
|
39153
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39153
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
|
|
39154
39154
|
}
|
|
39155
39155
|
if (!params) {
|
|
39156
39156
|
return null;
|
|
39157
39157
|
}
|
|
39158
39158
|
if (clientInfo?.isLocalAgentFlow) {
|
|
39159
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39159
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_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." }) });
|
|
39160
39160
|
}
|
|
39161
39161
|
if (!isAuthenticated2) {
|
|
39162
39162
|
return null;
|
|
39163
39163
|
}
|
|
39164
39164
|
if (callbackUrl) {
|
|
39165
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39166
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
39165
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkLC7HFDCV_cjs.ConsentCard, { size: "md", children: [
|
|
39166
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkLC7HFDCV_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
|
|
39167
39167
|
"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",
|
|
39168
39168
|
" ",
|
|
39169
39169
|
copied ? "it's already copied to your clipboard." : "copy it first."
|
|
39170
39170
|
] }),
|
|
39171
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
39172
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39173
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
39171
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkLC7HFDCV_cjs.ConsentSection, { title: "Callback URL", children: [
|
|
39172
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
|
|
39173
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkLC7HFDCV_cjs.ConsentText, { variant: "hint", children: [
|
|
39174
39174
|
"In Claude Code, paste the URL at the prompt that says",
|
|
39175
39175
|
" ",
|
|
39176
39176
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-foreground", children: '"paste the full redirect URL here"' }),
|
|
@@ -39179,17 +39179,17 @@ function ConnectedOAuthConsentPage({
|
|
|
39179
39179
|
] })
|
|
39180
39180
|
] }) });
|
|
39181
39181
|
}
|
|
39182
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39183
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
39184
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39182
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkLC7HFDCV_cjs.ConsentCard, { children: [
|
|
39183
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkLC7HFDCV_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
|
|
39184
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
|
|
39185
39185
|
" is requesting access to your ",
|
|
39186
39186
|
appName,
|
|
39187
39187
|
" workspace."
|
|
39188
39188
|
] }),
|
|
39189
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39190
|
-
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
39191
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39192
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39189
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentPermissionList, { items: permissions }) }),
|
|
39190
|
+
error && /* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentNotice, { tone: "error", children: error }),
|
|
39191
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
|
|
39192
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkLC7HFDCV_cjs.ConsentFootnote, { children: footnote })
|
|
39193
39193
|
] }) });
|
|
39194
39194
|
}
|
|
39195
39195
|
function ConnectedSharedFilesPage({
|
|
@@ -39363,7 +39363,7 @@ function ConnectedPanelHost({
|
|
|
39363
39363
|
onClose();
|
|
39364
39364
|
}, [onClose]);
|
|
39365
39365
|
const setFocusedArea = react.useArbiSessionStore().setFocusedArea;
|
|
39366
|
-
const { popoutTitle } =
|
|
39366
|
+
const { popoutTitle } = chunkZLDFQZSP_cjs.usePanelHostSupport();
|
|
39367
39367
|
const focusedArea = react.useArbiSessionState((s) => s.shell.focusedArea);
|
|
39368
39368
|
const handlePanelFocus = react$1.useCallback(() => {
|
|
39369
39369
|
setFocusedArea(panelId);
|
|
@@ -39396,7 +39396,7 @@ function ConnectedPanelHost({
|
|
|
39396
39396
|
}, [isExiting]);
|
|
39397
39397
|
if (!isOpen && !isExiting) return null;
|
|
39398
39398
|
const modeSwitcher = /* @__PURE__ */ jsxRuntime.jsx(
|
|
39399
|
-
|
|
39399
|
+
chunkZLDFQZSP_cjs.PanelModeSwitcher,
|
|
39400
39400
|
{
|
|
39401
39401
|
mode,
|
|
39402
39402
|
onModeChange: setPanelMode,
|
|
@@ -39406,7 +39406,7 @@ function ConnectedPanelHost({
|
|
|
39406
39406
|
}
|
|
39407
39407
|
);
|
|
39408
39408
|
const panelElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
39409
|
-
|
|
39409
|
+
chunkQB7PNQDJ_cjs.FloatingPanel,
|
|
39410
39410
|
{
|
|
39411
39411
|
panelId,
|
|
39412
39412
|
mode,
|
|
@@ -39418,7 +39418,7 @@ function ConnectedPanelHost({
|
|
|
39418
39418
|
}
|
|
39419
39419
|
);
|
|
39420
39420
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39421
|
-
|
|
39421
|
+
chunkZLDFQZSP_cjs.PanelPortal,
|
|
39422
39422
|
{
|
|
39423
39423
|
defaultWidth,
|
|
39424
39424
|
panelId,
|
|
@@ -39456,7 +39456,7 @@ function ConnectedAppShell({
|
|
|
39456
39456
|
const session = react.useArbiSessionStore();
|
|
39457
39457
|
const dockedPanel = react.useArbiSessionState((state) => state.shell.panels.docked);
|
|
39458
39458
|
const dockSqueezed = chunkFX3K6LNZ_cjs.useMediaQuery(sidebarPolicy?.dockedRailQuery ?? "(max-width: 0px)");
|
|
39459
|
-
const sidebar =
|
|
39459
|
+
const sidebar = chunkZLDFQZSP_cjs.useSidebarController({
|
|
39460
39460
|
...useSessionSidebar(),
|
|
39461
39461
|
forceRail: !!sidebarPolicy?.dockedRailQuery && dockSqueezed && dockedPanel !== null,
|
|
39462
39462
|
hoverExpansion: sidebarPolicy?.hoverExpansion
|
|
@@ -39486,7 +39486,7 @@ function ConnectedAppShell({
|
|
|
39486
39486
|
session.setFocusedArea("main");
|
|
39487
39487
|
contentProps?.onClick?.(event);
|
|
39488
39488
|
},
|
|
39489
|
-
children: content.mode === "docked" ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
39489
|
+
children: content.mode === "docked" ? /* @__PURE__ */ jsxRuntime.jsxs(chunkZLDFQZSP_cjs.DockZone, { "data-testid": content.testId, children: [
|
|
39490
39490
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: content.mainPanelVisible ? "hidden" : "h-full min-h-0", children: pageContent }),
|
|
39491
39491
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39492
39492
|
"div",
|
|
@@ -39514,7 +39514,7 @@ function ConnectedTipBar({
|
|
|
39514
39514
|
className,
|
|
39515
39515
|
revealOnHover = false
|
|
39516
39516
|
}) {
|
|
39517
|
-
const { showHints, settingsLoaded, setShowHintsPersisted, setShowHints } =
|
|
39517
|
+
const { showHints, settingsLoaded, setShowHintsPersisted, setShowHints } = chunkOAEJME5Q_cjs.useContextualHints();
|
|
39518
39518
|
const { dismissed, dismissTip } = react.useDismissedTips();
|
|
39519
39519
|
const { notify: notify17 } = chunk25AIWOR6_cjs.useBlocksEnvironment();
|
|
39520
39520
|
const { data: workspaces } = react.useWorkspaces();
|
|
@@ -39525,7 +39525,7 @@ function ConnectedTipBar({
|
|
|
39525
39525
|
workspaceOpen,
|
|
39526
39526
|
...state
|
|
39527
39527
|
};
|
|
39528
|
-
const { tip, index, count: count2, previous, next, onHoverChange } =
|
|
39528
|
+
const { tip, index, count: count2, previous, next, onHoverChange } = chunkUFGC77KR_cjs.useTipsPlacement({
|
|
39529
39529
|
registry,
|
|
39530
39530
|
context,
|
|
39531
39531
|
state: situation,
|
|
@@ -39558,7 +39558,7 @@ function ConnectedTipBar({
|
|
|
39558
39558
|
});
|
|
39559
39559
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
39560
39560
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39561
|
-
|
|
39561
|
+
chunkZLDFQZSP_cjs.TipCard,
|
|
39562
39562
|
{
|
|
39563
39563
|
message: tip.message,
|
|
39564
39564
|
index,
|
|
@@ -39603,7 +39603,7 @@ function useGettingStarted({
|
|
|
39603
39603
|
const { user } = react.useArbiSession();
|
|
39604
39604
|
const userExtId = user?.external_id;
|
|
39605
39605
|
const temporaryOnly = user?.temporary_access_only === true;
|
|
39606
|
-
const { showHints, settingsLoaded, setShowHints, setShowHintsPersisted } =
|
|
39606
|
+
const { showHints, settingsLoaded, setShowHints, setShowHintsPersisted } = chunkOAEJME5Q_cjs.useContextualHints();
|
|
39607
39607
|
const { dismissed, loaded: dismissedLoaded, dismissTip } = react.useDismissedTips();
|
|
39608
39608
|
const welcomeJourneyEnabled = react.useFeature("welcomeJourney");
|
|
39609
39609
|
const session = react.useArbiSessionStore();
|
|
@@ -39715,7 +39715,7 @@ function ConnectedGettingStarted({
|
|
|
39715
39715
|
const coreSteps = steps.filter((s) => !s.optional);
|
|
39716
39716
|
const currentStep = coreSteps.find((s) => !s.done);
|
|
39717
39717
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39718
|
-
|
|
39718
|
+
chunkZK56K25Q_cjs.GettingStartedStrip,
|
|
39719
39719
|
{
|
|
39720
39720
|
steps: coreSteps,
|
|
39721
39721
|
currentStepId: currentStep?.id,
|
|
@@ -39858,55 +39858,55 @@ function createTaggedContentNavigation({
|
|
|
39858
39858
|
|
|
39859
39859
|
Object.defineProperty(exports, "CAP_REACHED_MESSAGE", {
|
|
39860
39860
|
enumerable: true,
|
|
39861
|
-
get: function () { return
|
|
39861
|
+
get: function () { return chunkORIOOXUU_cjs.CAP_REACHED_MESSAGE; }
|
|
39862
39862
|
});
|
|
39863
39863
|
Object.defineProperty(exports, "ZERO_BUDGET_MESSAGE", {
|
|
39864
39864
|
enumerable: true,
|
|
39865
|
-
get: function () { return
|
|
39865
|
+
get: function () { return chunkORIOOXUU_cjs.ZERO_BUDGET_MESSAGE; }
|
|
39866
39866
|
});
|
|
39867
39867
|
Object.defineProperty(exports, "aiUsageResetTimestamp", {
|
|
39868
39868
|
enumerable: true,
|
|
39869
|
-
get: function () { return
|
|
39869
|
+
get: function () { return chunkORIOOXUU_cjs.aiUsageResetTimestamp; }
|
|
39870
39870
|
});
|
|
39871
39871
|
Object.defineProperty(exports, "formatMoney", {
|
|
39872
39872
|
enumerable: true,
|
|
39873
|
-
get: function () { return
|
|
39873
|
+
get: function () { return chunkORIOOXUU_cjs.formatMoney; }
|
|
39874
39874
|
});
|
|
39875
39875
|
Object.defineProperty(exports, "formatResetDate", {
|
|
39876
39876
|
enumerable: true,
|
|
39877
|
-
get: function () { return
|
|
39877
|
+
get: function () { return chunkORIOOXUU_cjs.formatResetDate; }
|
|
39878
39878
|
});
|
|
39879
39879
|
Object.defineProperty(exports, "getQuotaItems", {
|
|
39880
39880
|
enumerable: true,
|
|
39881
|
-
get: function () { return
|
|
39881
|
+
get: function () { return chunkORIOOXUU_cjs.getQuotaItems; }
|
|
39882
39882
|
});
|
|
39883
39883
|
Object.defineProperty(exports, "isAddonBudgetZero", {
|
|
39884
39884
|
enumerable: true,
|
|
39885
|
-
get: function () { return
|
|
39885
|
+
get: function () { return chunkORIOOXUU_cjs.isAddonBudgetZero; }
|
|
39886
39886
|
});
|
|
39887
39887
|
Object.defineProperty(exports, "isProProject", {
|
|
39888
39888
|
enumerable: true,
|
|
39889
|
-
get: function () { return
|
|
39889
|
+
get: function () { return chunkORIOOXUU_cjs.isProProject; }
|
|
39890
39890
|
});
|
|
39891
39891
|
Object.defineProperty(exports, "planBadgeView", {
|
|
39892
39892
|
enumerable: true,
|
|
39893
|
-
get: function () { return
|
|
39893
|
+
get: function () { return chunkORIOOXUU_cjs.planBadgeView; }
|
|
39894
39894
|
});
|
|
39895
39895
|
Object.defineProperty(exports, "planName", {
|
|
39896
39896
|
enumerable: true,
|
|
39897
|
-
get: function () { return
|
|
39897
|
+
get: function () { return chunkORIOOXUU_cjs.planName; }
|
|
39898
39898
|
});
|
|
39899
39899
|
Object.defineProperty(exports, "projectGroupBilling", {
|
|
39900
39900
|
enumerable: true,
|
|
39901
|
-
get: function () { return
|
|
39901
|
+
get: function () { return chunkORIOOXUU_cjs.projectGroupBilling; }
|
|
39902
39902
|
});
|
|
39903
39903
|
Object.defineProperty(exports, "useBillingSupport", {
|
|
39904
39904
|
enumerable: true,
|
|
39905
|
-
get: function () { return
|
|
39905
|
+
get: function () { return chunkORIOOXUU_cjs.useBillingSupport; }
|
|
39906
39906
|
});
|
|
39907
39907
|
Object.defineProperty(exports, "useRewardBalance", {
|
|
39908
39908
|
enumerable: true,
|
|
39909
|
-
get: function () { return
|
|
39909
|
+
get: function () { return chunkORIOOXUU_cjs.useRewardBalance; }
|
|
39910
39910
|
});
|
|
39911
39911
|
Object.defineProperty(exports, "ConnectedTagEntity", {
|
|
39912
39912
|
enumerable: true,
|
|
@@ -39922,127 +39922,127 @@ Object.defineProperty(exports, "useMemberLookup", {
|
|
|
39922
39922
|
});
|
|
39923
39923
|
Object.defineProperty(exports, "ConnectedAssistantDock", {
|
|
39924
39924
|
enumerable: true,
|
|
39925
|
-
get: function () { return
|
|
39925
|
+
get: function () { return chunkQNDKLQYT_cjs.ConnectedAssistantDock; }
|
|
39926
39926
|
});
|
|
39927
39927
|
Object.defineProperty(exports, "redlineStats", {
|
|
39928
39928
|
enumerable: true,
|
|
39929
|
-
get: function () { return
|
|
39929
|
+
get: function () { return chunkQNDKLQYT_cjs.redlineStats; }
|
|
39930
39930
|
});
|
|
39931
39931
|
Object.defineProperty(exports, "textToArtifact", {
|
|
39932
39932
|
enumerable: true,
|
|
39933
|
-
get: function () { return
|
|
39933
|
+
get: function () { return chunkQNDKLQYT_cjs.textToArtifact; }
|
|
39934
39934
|
});
|
|
39935
39935
|
Object.defineProperty(exports, "toRedlineMarkdown", {
|
|
39936
39936
|
enumerable: true,
|
|
39937
|
-
get: function () { return
|
|
39937
|
+
get: function () { return chunkQNDKLQYT_cjs.toRedlineMarkdown; }
|
|
39938
39938
|
});
|
|
39939
39939
|
Object.defineProperty(exports, "useConnectedAiTask", {
|
|
39940
39940
|
enumerable: true,
|
|
39941
|
-
get: function () { return
|
|
39941
|
+
get: function () { return chunkQNDKLQYT_cjs.useConnectedAiTask; }
|
|
39942
39942
|
});
|
|
39943
39943
|
Object.defineProperty(exports, "useConnectedChat", {
|
|
39944
39944
|
enumerable: true,
|
|
39945
|
-
get: function () { return
|
|
39945
|
+
get: function () { return chunkQNDKLQYT_cjs.useConnectedChat; }
|
|
39946
39946
|
});
|
|
39947
39947
|
Object.defineProperty(exports, "useSemanticSearch", {
|
|
39948
39948
|
enumerable: true,
|
|
39949
|
-
get: function () { return
|
|
39949
|
+
get: function () { return chunkQNDKLQYT_cjs.useSemanticSearch; }
|
|
39950
39950
|
});
|
|
39951
39951
|
Object.defineProperty(exports, "useWorkspaceDocs", {
|
|
39952
39952
|
enumerable: true,
|
|
39953
|
-
get: function () { return
|
|
39953
|
+
get: function () { return chunkQNDKLQYT_cjs.useWorkspaceDocs; }
|
|
39954
39954
|
});
|
|
39955
39955
|
Object.defineProperty(exports, "ConnectedTaskActivityDialog", {
|
|
39956
39956
|
enumerable: true,
|
|
39957
|
-
get: function () { return
|
|
39957
|
+
get: function () { return chunk5V7JWZQ4_cjs.ConnectedTaskActivityDialog; }
|
|
39958
39958
|
});
|
|
39959
39959
|
Object.defineProperty(exports, "ConnectedTaskComposer", {
|
|
39960
39960
|
enumerable: true,
|
|
39961
|
-
get: function () { return
|
|
39961
|
+
get: function () { return chunk5V7JWZQ4_cjs.ConnectedTaskComposer; }
|
|
39962
39962
|
});
|
|
39963
39963
|
Object.defineProperty(exports, "ConnectedThreadTaskBar", {
|
|
39964
39964
|
enumerable: true,
|
|
39965
|
-
get: function () { return
|
|
39965
|
+
get: function () { return chunk5V7JWZQ4_cjs.ConnectedThreadTaskBar; }
|
|
39966
39966
|
});
|
|
39967
39967
|
Object.defineProperty(exports, "ConnectedWorkflowHistory", {
|
|
39968
39968
|
enumerable: true,
|
|
39969
|
-
get: function () { return
|
|
39969
|
+
get: function () { return chunk5V7JWZQ4_cjs.ConnectedWorkflowHistory; }
|
|
39970
39970
|
});
|
|
39971
39971
|
Object.defineProperty(exports, "ConnectedWorkflowRunPage", {
|
|
39972
39972
|
enumerable: true,
|
|
39973
|
-
get: function () { return
|
|
39973
|
+
get: function () { return chunk5V7JWZQ4_cjs.ConnectedWorkflowRunPage; }
|
|
39974
39974
|
});
|
|
39975
39975
|
Object.defineProperty(exports, "ConnectedWorkflowRunner", {
|
|
39976
39976
|
enumerable: true,
|
|
39977
|
-
get: function () { return
|
|
39977
|
+
get: function () { return chunk5V7JWZQ4_cjs.ConnectedWorkflowRunner; }
|
|
39978
39978
|
});
|
|
39979
39979
|
Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS", {
|
|
39980
39980
|
enumerable: true,
|
|
39981
|
-
get: function () { return
|
|
39981
|
+
get: function () { return chunk5V7JWZQ4_cjs.DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS; }
|
|
39982
39982
|
});
|
|
39983
39983
|
Object.defineProperty(exports, "DEFAULT_WORKFLOW_RUN_PAGE_LABELS", {
|
|
39984
39984
|
enumerable: true,
|
|
39985
|
-
get: function () { return
|
|
39985
|
+
get: function () { return chunk5V7JWZQ4_cjs.DEFAULT_WORKFLOW_RUN_PAGE_LABELS; }
|
|
39986
39986
|
});
|
|
39987
39987
|
Object.defineProperty(exports, "WorkflowRunThread", {
|
|
39988
39988
|
enumerable: true,
|
|
39989
|
-
get: function () { return
|
|
39989
|
+
get: function () { return chunk5V7JWZQ4_cjs.WorkflowRunThread; }
|
|
39990
39990
|
});
|
|
39991
39991
|
Object.defineProperty(exports, "WorkflowRunWorkspaceChangedError", {
|
|
39992
39992
|
enumerable: true,
|
|
39993
|
-
get: function () { return
|
|
39993
|
+
get: function () { return chunk5V7JWZQ4_cjs.WorkflowRunWorkspaceChangedError; }
|
|
39994
39994
|
});
|
|
39995
39995
|
Object.defineProperty(exports, "buildProjectSummaries", {
|
|
39996
39996
|
enumerable: true,
|
|
39997
|
-
get: function () { return
|
|
39997
|
+
get: function () { return chunk5V7JWZQ4_cjs.buildProjectSummaries; }
|
|
39998
39998
|
});
|
|
39999
39999
|
Object.defineProperty(exports, "primaryProjectWorkspace", {
|
|
40000
40000
|
enumerable: true,
|
|
40001
|
-
get: function () { return
|
|
40001
|
+
get: function () { return chunk5V7JWZQ4_cjs.primaryProjectWorkspace; }
|
|
40002
40002
|
});
|
|
40003
40003
|
Object.defineProperty(exports, "useEnsureRequiredLabels", {
|
|
40004
40004
|
enumerable: true,
|
|
40005
|
-
get: function () { return
|
|
40005
|
+
get: function () { return chunk5V7JWZQ4_cjs.useEnsureRequiredLabels; }
|
|
40006
40006
|
});
|
|
40007
40007
|
Object.defineProperty(exports, "useProjectSummaries", {
|
|
40008
40008
|
enumerable: true,
|
|
40009
|
-
get: function () { return
|
|
40009
|
+
get: function () { return chunk5V7JWZQ4_cjs.useProjectSummaries; }
|
|
40010
40010
|
});
|
|
40011
40011
|
Object.defineProperty(exports, "useProjectSummary", {
|
|
40012
40012
|
enumerable: true,
|
|
40013
|
-
get: function () { return
|
|
40013
|
+
get: function () { return chunk5V7JWZQ4_cjs.useProjectSummary; }
|
|
40014
40014
|
});
|
|
40015
40015
|
Object.defineProperty(exports, "useRenderTaskPerson", {
|
|
40016
40016
|
enumerable: true,
|
|
40017
|
-
get: function () { return
|
|
40017
|
+
get: function () { return chunk5V7JWZQ4_cjs.useRenderTaskPerson; }
|
|
40018
40018
|
});
|
|
40019
40019
|
Object.defineProperty(exports, "useRequiredLabels", {
|
|
40020
40020
|
enumerable: true,
|
|
40021
|
-
get: function () { return
|
|
40021
|
+
get: function () { return chunk5V7JWZQ4_cjs.useRequiredLabels; }
|
|
40022
40022
|
});
|
|
40023
40023
|
Object.defineProperty(exports, "useSkillsEnabled", {
|
|
40024
40024
|
enumerable: true,
|
|
40025
|
-
get: function () { return
|
|
40025
|
+
get: function () { return chunk5V7JWZQ4_cjs.useSkillsEnabled; }
|
|
40026
40026
|
});
|
|
40027
40027
|
Object.defineProperty(exports, "useTaskPeople", {
|
|
40028
40028
|
enumerable: true,
|
|
40029
|
-
get: function () { return
|
|
40029
|
+
get: function () { return chunk5V7JWZQ4_cjs.useTaskPeople; }
|
|
40030
40030
|
});
|
|
40031
40031
|
Object.defineProperty(exports, "useWorkflowDefinitions", {
|
|
40032
40032
|
enumerable: true,
|
|
40033
|
-
get: function () { return
|
|
40033
|
+
get: function () { return chunk5V7JWZQ4_cjs.useWorkflowDefinitions; }
|
|
40034
40034
|
});
|
|
40035
40035
|
Object.defineProperty(exports, "useWorkflowTasks", {
|
|
40036
40036
|
enumerable: true,
|
|
40037
|
-
get: function () { return
|
|
40037
|
+
get: function () { return chunk5V7JWZQ4_cjs.useWorkflowTasks; }
|
|
40038
40038
|
});
|
|
40039
40039
|
Object.defineProperty(exports, "useWorkflowsPageState", {
|
|
40040
40040
|
enumerable: true,
|
|
40041
|
-
get: function () { return
|
|
40041
|
+
get: function () { return chunk5V7JWZQ4_cjs.useWorkflowsPageState; }
|
|
40042
40042
|
});
|
|
40043
40043
|
Object.defineProperty(exports, "workflowRunView", {
|
|
40044
40044
|
enumerable: true,
|
|
40045
|
-
get: function () { return
|
|
40045
|
+
get: function () { return chunk5V7JWZQ4_cjs.workflowRunView; }
|
|
40046
40046
|
});
|
|
40047
40047
|
Object.defineProperty(exports, "FILES_PREFS_KEY", {
|
|
40048
40048
|
enumerable: true,
|
|
@@ -40078,207 +40078,207 @@ Object.defineProperty(exports, "usePendingFolders", {
|
|
|
40078
40078
|
});
|
|
40079
40079
|
Object.defineProperty(exports, "AgentSteps", {
|
|
40080
40080
|
enumerable: true,
|
|
40081
|
-
get: function () { return
|
|
40081
|
+
get: function () { return chunkOAEJME5Q_cjs.AgentSteps; }
|
|
40082
40082
|
});
|
|
40083
40083
|
Object.defineProperty(exports, "AnswerTable", {
|
|
40084
40084
|
enumerable: true,
|
|
40085
|
-
get: function () { return
|
|
40085
|
+
get: function () { return chunkOAEJME5Q_cjs.AnswerTable; }
|
|
40086
40086
|
});
|
|
40087
40087
|
Object.defineProperty(exports, "ArbiChat", {
|
|
40088
40088
|
enumerable: true,
|
|
40089
|
-
get: function () { return
|
|
40089
|
+
get: function () { return chunkOAEJME5Q_cjs.ArbiChat; }
|
|
40090
40090
|
});
|
|
40091
40091
|
Object.defineProperty(exports, "AskAgainContext", {
|
|
40092
40092
|
enumerable: true,
|
|
40093
|
-
get: function () { return
|
|
40093
|
+
get: function () { return chunkOAEJME5Q_cjs.AskAgainContext; }
|
|
40094
40094
|
});
|
|
40095
40095
|
Object.defineProperty(exports, "ConnectedBranchControls", {
|
|
40096
40096
|
enumerable: true,
|
|
40097
|
-
get: function () { return
|
|
40097
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedBranchControls; }
|
|
40098
40098
|
});
|
|
40099
40099
|
Object.defineProperty(exports, "ConnectedCitationRenderer", {
|
|
40100
40100
|
enumerable: true,
|
|
40101
|
-
get: function () { return
|
|
40101
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedCitationRenderer; }
|
|
40102
40102
|
});
|
|
40103
40103
|
Object.defineProperty(exports, "ConnectedCompactConversation", {
|
|
40104
40104
|
enumerable: true,
|
|
40105
|
-
get: function () { return
|
|
40105
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedCompactConversation; }
|
|
40106
40106
|
});
|
|
40107
40107
|
Object.defineProperty(exports, "ConnectedCompactLogin", {
|
|
40108
40108
|
enumerable: true,
|
|
40109
|
-
get: function () { return
|
|
40109
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedCompactLogin; }
|
|
40110
40110
|
});
|
|
40111
40111
|
Object.defineProperty(exports, "ConnectedConversationDocumentPicker", {
|
|
40112
40112
|
enumerable: true,
|
|
40113
|
-
get: function () { return
|
|
40113
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedConversationDocumentPicker; }
|
|
40114
40114
|
});
|
|
40115
40115
|
Object.defineProperty(exports, "ConnectedDangerZone", {
|
|
40116
40116
|
enumerable: true,
|
|
40117
|
-
get: function () { return
|
|
40117
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedDangerZone; }
|
|
40118
40118
|
});
|
|
40119
40119
|
Object.defineProperty(exports, "ConnectedEmbeddedChat", {
|
|
40120
40120
|
enumerable: true,
|
|
40121
|
-
get: function () { return
|
|
40121
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedEmbeddedChat; }
|
|
40122
40122
|
});
|
|
40123
40123
|
Object.defineProperty(exports, "ConnectedForgotPassword", {
|
|
40124
40124
|
enumerable: true,
|
|
40125
|
-
get: function () { return
|
|
40125
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedForgotPassword; }
|
|
40126
40126
|
});
|
|
40127
40127
|
Object.defineProperty(exports, "ConnectedIdentityVerification", {
|
|
40128
40128
|
enumerable: true,
|
|
40129
|
-
get: function () { return
|
|
40129
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedIdentityVerification; }
|
|
40130
40130
|
});
|
|
40131
40131
|
Object.defineProperty(exports, "ConnectedLoginPage", {
|
|
40132
40132
|
enumerable: true,
|
|
40133
|
-
get: function () { return
|
|
40133
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedLoginPage; }
|
|
40134
40134
|
});
|
|
40135
40135
|
Object.defineProperty(exports, "ConnectedLogoutDialog", {
|
|
40136
40136
|
enumerable: true,
|
|
40137
|
-
get: function () { return
|
|
40137
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedLogoutDialog; }
|
|
40138
40138
|
});
|
|
40139
40139
|
Object.defineProperty(exports, "ConnectedMessage", {
|
|
40140
40140
|
enumerable: true,
|
|
40141
|
-
get: function () { return
|
|
40141
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedMessage; }
|
|
40142
40142
|
});
|
|
40143
40143
|
Object.defineProperty(exports, "ConnectedMessageArea", {
|
|
40144
40144
|
enumerable: true,
|
|
40145
|
-
get: function () { return
|
|
40145
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedMessageArea; }
|
|
40146
40146
|
});
|
|
40147
40147
|
Object.defineProperty(exports, "ConnectedMessageList", {
|
|
40148
40148
|
enumerable: true,
|
|
40149
|
-
get: function () { return
|
|
40149
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedMessageList; }
|
|
40150
40150
|
});
|
|
40151
40151
|
Object.defineProperty(exports, "ConnectedModelSelector", {
|
|
40152
40152
|
enumerable: true,
|
|
40153
|
-
get: function () { return
|
|
40153
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedModelSelector; }
|
|
40154
40154
|
});
|
|
40155
40155
|
Object.defineProperty(exports, "ConnectedNotificationPreferences", {
|
|
40156
40156
|
enumerable: true,
|
|
40157
|
-
get: function () { return
|
|
40157
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedNotificationPreferences; }
|
|
40158
40158
|
});
|
|
40159
40159
|
Object.defineProperty(exports, "ConnectedPasswordChangeDialog", {
|
|
40160
40160
|
enumerable: true,
|
|
40161
|
-
get: function () { return
|
|
40161
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedPasswordChangeDialog; }
|
|
40162
40162
|
});
|
|
40163
40163
|
Object.defineProperty(exports, "ConnectedProfileCard", {
|
|
40164
40164
|
enumerable: true,
|
|
40165
|
-
get: function () { return
|
|
40165
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedProfileCard; }
|
|
40166
40166
|
});
|
|
40167
40167
|
Object.defineProperty(exports, "ConnectedRequireVerified", {
|
|
40168
40168
|
enumerable: true,
|
|
40169
|
-
get: function () { return
|
|
40169
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedRequireVerified; }
|
|
40170
40170
|
});
|
|
40171
40171
|
Object.defineProperty(exports, "ConnectedSecuritySection", {
|
|
40172
40172
|
enumerable: true,
|
|
40173
|
-
get: function () { return
|
|
40173
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedSecuritySection; }
|
|
40174
40174
|
});
|
|
40175
40175
|
Object.defineProperty(exports, "ConnectedSessionsRow", {
|
|
40176
40176
|
enumerable: true,
|
|
40177
|
-
get: function () { return
|
|
40177
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedSessionsRow; }
|
|
40178
40178
|
});
|
|
40179
40179
|
Object.defineProperty(exports, "ConnectedThreadsPreview", {
|
|
40180
40180
|
enumerable: true,
|
|
40181
|
-
get: function () { return
|
|
40181
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedThreadsPreview; }
|
|
40182
40182
|
});
|
|
40183
40183
|
Object.defineProperty(exports, "ConnectedUserEntity", {
|
|
40184
40184
|
enumerable: true,
|
|
40185
|
-
get: function () { return
|
|
40185
|
+
get: function () { return chunkOAEJME5Q_cjs.ConnectedUserEntity; }
|
|
40186
40186
|
});
|
|
40187
40187
|
Object.defineProperty(exports, "ConversationComposer", {
|
|
40188
40188
|
enumerable: true,
|
|
40189
|
-
get: function () { return
|
|
40189
|
+
get: function () { return chunkOAEJME5Q_cjs.ConversationComposer; }
|
|
40190
40190
|
});
|
|
40191
40191
|
Object.defineProperty(exports, "EmbeddedChatPanel", {
|
|
40192
40192
|
enumerable: true,
|
|
40193
|
-
get: function () { return
|
|
40193
|
+
get: function () { return chunkOAEJME5Q_cjs.EmbeddedChatPanel; }
|
|
40194
40194
|
});
|
|
40195
40195
|
Object.defineProperty(exports, "MessageDetailsModal", {
|
|
40196
40196
|
enumerable: true,
|
|
40197
|
-
get: function () { return
|
|
40197
|
+
get: function () { return chunkOAEJME5Q_cjs.MessageDetailsModal; }
|
|
40198
40198
|
});
|
|
40199
40199
|
Object.defineProperty(exports, "MessageLiveSeconds", {
|
|
40200
40200
|
enumerable: true,
|
|
40201
|
-
get: function () { return
|
|
40201
|
+
get: function () { return chunkOAEJME5Q_cjs.MessageLiveSeconds; }
|
|
40202
40202
|
});
|
|
40203
40203
|
Object.defineProperty(exports, "PENDING_RECOVERY_KEY", {
|
|
40204
40204
|
enumerable: true,
|
|
40205
|
-
get: function () { return
|
|
40205
|
+
get: function () { return chunkOAEJME5Q_cjs.PENDING_RECOVERY_KEY; }
|
|
40206
40206
|
});
|
|
40207
40207
|
Object.defineProperty(exports, "PREMIUM_TIER_TAG", {
|
|
40208
40208
|
enumerable: true,
|
|
40209
|
-
get: function () { return
|
|
40209
|
+
get: function () { return chunkOAEJME5Q_cjs.PREMIUM_TIER_TAG; }
|
|
40210
40210
|
});
|
|
40211
40211
|
Object.defineProperty(exports, "RunningSubagents", {
|
|
40212
40212
|
enumerable: true,
|
|
40213
|
-
get: function () { return
|
|
40213
|
+
get: function () { return chunkOAEJME5Q_cjs.RunningSubagents; }
|
|
40214
40214
|
});
|
|
40215
40215
|
Object.defineProperty(exports, "STANDARD_TIER_TAG", {
|
|
40216
40216
|
enumerable: true,
|
|
40217
|
-
get: function () { return
|
|
40217
|
+
get: function () { return chunkOAEJME5Q_cjs.STANDARD_TIER_TAG; }
|
|
40218
40218
|
});
|
|
40219
40219
|
Object.defineProperty(exports, "SessionStatusIcon", {
|
|
40220
40220
|
enumerable: true,
|
|
40221
|
-
get: function () { return
|
|
40221
|
+
get: function () { return chunkOAEJME5Q_cjs.SessionStatusIcon; }
|
|
40222
40222
|
});
|
|
40223
40223
|
Object.defineProperty(exports, "WorkflowStepMessage", {
|
|
40224
40224
|
enumerable: true,
|
|
40225
|
-
get: function () { return
|
|
40225
|
+
get: function () { return chunkOAEJME5Q_cjs.WorkflowStepMessage; }
|
|
40226
40226
|
});
|
|
40227
40227
|
Object.defineProperty(exports, "backUpOnSignup", {
|
|
40228
40228
|
enumerable: true,
|
|
40229
|
-
get: function () { return
|
|
40229
|
+
get: function () { return chunkOAEJME5Q_cjs.backUpOnSignup; }
|
|
40230
40230
|
});
|
|
40231
40231
|
Object.defineProperty(exports, "defaultHost", {
|
|
40232
40232
|
enumerable: true,
|
|
40233
|
-
get: function () { return
|
|
40233
|
+
get: function () { return chunkOAEJME5Q_cjs.defaultHost; }
|
|
40234
40234
|
});
|
|
40235
40235
|
Object.defineProperty(exports, "renderConnectedUser", {
|
|
40236
40236
|
enumerable: true,
|
|
40237
|
-
get: function () { return
|
|
40237
|
+
get: function () { return chunkOAEJME5Q_cjs.renderConnectedUser; }
|
|
40238
40238
|
});
|
|
40239
40239
|
Object.defineProperty(exports, "renderSessionStatusIcon", {
|
|
40240
40240
|
enumerable: true,
|
|
40241
|
-
get: function () { return
|
|
40241
|
+
get: function () { return chunkOAEJME5Q_cjs.renderSessionStatusIcon; }
|
|
40242
40242
|
});
|
|
40243
40243
|
Object.defineProperty(exports, "resolveSsoName", {
|
|
40244
40244
|
enumerable: true,
|
|
40245
|
-
get: function () { return
|
|
40245
|
+
get: function () { return chunkOAEJME5Q_cjs.resolveSsoName; }
|
|
40246
40246
|
});
|
|
40247
40247
|
Object.defineProperty(exports, "useAuthPages", {
|
|
40248
40248
|
enumerable: true,
|
|
40249
|
-
get: function () { return
|
|
40249
|
+
get: function () { return chunkOAEJME5Q_cjs.useAuthPages; }
|
|
40250
40250
|
});
|
|
40251
40251
|
Object.defineProperty(exports, "useContextualHints", {
|
|
40252
40252
|
enumerable: true,
|
|
40253
|
-
get: function () { return
|
|
40253
|
+
get: function () { return chunkOAEJME5Q_cjs.useContextualHints; }
|
|
40254
40254
|
});
|
|
40255
40255
|
Object.defineProperty(exports, "useModelPicker", {
|
|
40256
40256
|
enumerable: true,
|
|
40257
|
-
get: function () { return
|
|
40257
|
+
get: function () { return chunkOAEJME5Q_cjs.useModelPicker; }
|
|
40258
40258
|
});
|
|
40259
40259
|
Object.defineProperty(exports, "useOpenChunk", {
|
|
40260
40260
|
enumerable: true,
|
|
40261
|
-
get: function () { return
|
|
40261
|
+
get: function () { return chunkOAEJME5Q_cjs.useOpenChunk; }
|
|
40262
40262
|
});
|
|
40263
40263
|
Object.defineProperty(exports, "useOpenWorkspaceIcon", {
|
|
40264
40264
|
enumerable: true,
|
|
40265
|
-
get: function () { return
|
|
40265
|
+
get: function () { return chunkOAEJME5Q_cjs.useOpenWorkspaceIcon; }
|
|
40266
40266
|
});
|
|
40267
40267
|
Object.defineProperty(exports, "useSlashItems", {
|
|
40268
40268
|
enumerable: true,
|
|
40269
|
-
get: function () { return
|
|
40269
|
+
get: function () { return chunkOAEJME5Q_cjs.useSlashItems; }
|
|
40270
40270
|
});
|
|
40271
40271
|
Object.defineProperty(exports, "useSsoSignIn", {
|
|
40272
40272
|
enumerable: true,
|
|
40273
|
-
get: function () { return
|
|
40273
|
+
get: function () { return chunkOAEJME5Q_cjs.useSsoSignIn; }
|
|
40274
40274
|
});
|
|
40275
40275
|
Object.defineProperty(exports, "useWorkspaceDocTitles", {
|
|
40276
40276
|
enumerable: true,
|
|
40277
|
-
get: function () { return
|
|
40277
|
+
get: function () { return chunkOAEJME5Q_cjs.useWorkspaceDocTitles; }
|
|
40278
40278
|
});
|
|
40279
40279
|
Object.defineProperty(exports, "useConnectedThreadActivity", {
|
|
40280
40280
|
enumerable: true,
|
|
40281
|
-
get: function () { return
|
|
40281
|
+
get: function () { return chunkDL3XYTKI_cjs.useConnectedThreadActivity; }
|
|
40282
40282
|
});
|
|
40283
40283
|
Object.defineProperty(exports, "ConnectedPendingSyncDialog", {
|
|
40284
40284
|
enumerable: true,
|
|
@@ -40354,43 +40354,43 @@ Object.defineProperty(exports, "useResolvedDocStatus", {
|
|
|
40354
40354
|
});
|
|
40355
40355
|
Object.defineProperty(exports, "ConnectedWorkflowDocumentsField", {
|
|
40356
40356
|
enumerable: true,
|
|
40357
|
-
get: function () { return
|
|
40357
|
+
get: function () { return chunkUHP6AP6C_cjs.ConnectedWorkflowDocumentsField; }
|
|
40358
40358
|
});
|
|
40359
40359
|
Object.defineProperty(exports, "ConnectedWorkflowLauncher", {
|
|
40360
40360
|
enumerable: true,
|
|
40361
|
-
get: function () { return
|
|
40361
|
+
get: function () { return chunkUHP6AP6C_cjs.ConnectedWorkflowLauncher; }
|
|
40362
40362
|
});
|
|
40363
40363
|
Object.defineProperty(exports, "ConnectedWorkflowsTable", {
|
|
40364
40364
|
enumerable: true,
|
|
40365
|
-
get: function () { return
|
|
40365
|
+
get: function () { return chunkUHP6AP6C_cjs.ConnectedWorkflowsTable; }
|
|
40366
40366
|
});
|
|
40367
40367
|
Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS", {
|
|
40368
40368
|
enumerable: true,
|
|
40369
|
-
get: function () { return
|
|
40369
|
+
get: function () { return chunkUHP6AP6C_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
|
|
40370
40370
|
});
|
|
40371
40371
|
Object.defineProperty(exports, "toWorkflowFieldDocument", {
|
|
40372
40372
|
enumerable: true,
|
|
40373
|
-
get: function () { return
|
|
40373
|
+
get: function () { return chunkUHP6AP6C_cjs.toWorkflowFieldDocument; }
|
|
40374
40374
|
});
|
|
40375
40375
|
Object.defineProperty(exports, "useConnectedAgentOptions", {
|
|
40376
40376
|
enumerable: true,
|
|
40377
|
-
get: function () { return
|
|
40377
|
+
get: function () { return chunkUHP6AP6C_cjs.useConnectedAgentOptions; }
|
|
40378
40378
|
});
|
|
40379
40379
|
Object.defineProperty(exports, "useConnectedWorkflowScopeSource", {
|
|
40380
40380
|
enumerable: true,
|
|
40381
|
-
get: function () { return
|
|
40381
|
+
get: function () { return chunkUHP6AP6C_cjs.useConnectedWorkflowScopeSource; }
|
|
40382
40382
|
});
|
|
40383
40383
|
Object.defineProperty(exports, "useConnectedWorkspaceRole", {
|
|
40384
40384
|
enumerable: true,
|
|
40385
|
-
get: function () { return
|
|
40385
|
+
get: function () { return chunkUHP6AP6C_cjs.useConnectedWorkspaceRole; }
|
|
40386
40386
|
});
|
|
40387
40387
|
Object.defineProperty(exports, "useDocxCommentTarget", {
|
|
40388
40388
|
enumerable: true,
|
|
40389
|
-
get: function () { return
|
|
40389
|
+
get: function () { return chunkUHP6AP6C_cjs.useDocxCommentTarget; }
|
|
40390
40390
|
});
|
|
40391
40391
|
Object.defineProperty(exports, "useNativeDocxSupport", {
|
|
40392
40392
|
enumerable: true,
|
|
40393
|
-
get: function () { return
|
|
40393
|
+
get: function () { return chunkUHP6AP6C_cjs.useNativeDocxSupport; }
|
|
40394
40394
|
});
|
|
40395
40395
|
Object.defineProperty(exports, "useOpenWorkflow", {
|
|
40396
40396
|
enumerable: true,
|
|
@@ -40434,43 +40434,43 @@ Object.defineProperty(exports, "useViewerStreamingDocument", {
|
|
|
40434
40434
|
});
|
|
40435
40435
|
Object.defineProperty(exports, "ConnectedMarkdown", {
|
|
40436
40436
|
enumerable: true,
|
|
40437
|
-
get: function () { return
|
|
40437
|
+
get: function () { return chunkQYRPFPQ7_cjs.ConnectedMarkdown; }
|
|
40438
40438
|
});
|
|
40439
40439
|
Object.defineProperty(exports, "DocumentChip", {
|
|
40440
40440
|
enumerable: true,
|
|
40441
|
-
get: function () { return
|
|
40441
|
+
get: function () { return chunkQYRPFPQ7_cjs.DocumentChip; }
|
|
40442
40442
|
});
|
|
40443
40443
|
Object.defineProperty(exports, "DocumentWorkspaceContext", {
|
|
40444
40444
|
enumerable: true,
|
|
40445
|
-
get: function () { return
|
|
40445
|
+
get: function () { return chunkQYRPFPQ7_cjs.DocumentWorkspaceContext; }
|
|
40446
40446
|
});
|
|
40447
40447
|
Object.defineProperty(exports, "ExternalLink", {
|
|
40448
40448
|
enumerable: true,
|
|
40449
|
-
get: function () { return
|
|
40449
|
+
get: function () { return chunkQYRPFPQ7_cjs.ExternalLink; }
|
|
40450
40450
|
});
|
|
40451
40451
|
Object.defineProperty(exports, "InternalDocLink", {
|
|
40452
40452
|
enumerable: true,
|
|
40453
|
-
get: function () { return
|
|
40453
|
+
get: function () { return chunkQYRPFPQ7_cjs.InternalDocLink; }
|
|
40454
40454
|
});
|
|
40455
40455
|
Object.defineProperty(exports, "MailChip", {
|
|
40456
40456
|
enumerable: true,
|
|
40457
|
-
get: function () { return
|
|
40457
|
+
get: function () { return chunkQYRPFPQ7_cjs.MailChip; }
|
|
40458
40458
|
});
|
|
40459
40459
|
Object.defineProperty(exports, "MermaidDiagram", {
|
|
40460
40460
|
enumerable: true,
|
|
40461
|
-
get: function () { return
|
|
40461
|
+
get: function () { return chunkQYRPFPQ7_cjs.MermaidDiagram; }
|
|
40462
40462
|
});
|
|
40463
40463
|
Object.defineProperty(exports, "WorkspaceDocumentReference", {
|
|
40464
40464
|
enumerable: true,
|
|
40465
|
-
get: function () { return
|
|
40465
|
+
get: function () { return chunkQYRPFPQ7_cjs.WorkspaceDocumentReference; }
|
|
40466
40466
|
});
|
|
40467
40467
|
Object.defineProperty(exports, "useDocumentWorkspace", {
|
|
40468
40468
|
enumerable: true,
|
|
40469
|
-
get: function () { return
|
|
40469
|
+
get: function () { return chunkQYRPFPQ7_cjs.useDocumentWorkspace; }
|
|
40470
40470
|
});
|
|
40471
40471
|
Object.defineProperty(exports, "useMeetingThreadMessages", {
|
|
40472
40472
|
enumerable: true,
|
|
40473
|
-
get: function () { return
|
|
40473
|
+
get: function () { return chunkL6DAJUDF_cjs.useMeetingThreadMessages; }
|
|
40474
40474
|
});
|
|
40475
40475
|
Object.defineProperty(exports, "isListedDocument", {
|
|
40476
40476
|
enumerable: true,
|