@arbidocs/blocks 0.5.98 → 0.5.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -3
- package/dist/ConnectedCallDock-OJ4UR5PR.js +1 -1
- package/dist/ConnectedCallDock-OKH3FT2U.cjs +1 -1
- package/dist/ConnectedCallRoom-NB7I6RLQ.cjs +1 -1
- package/dist/ConnectedCallRoom-OX7ZIF76.js +1 -1
- package/dist/ConnectedNativeDocxComparison-3UJZR52S.cjs +2 -2
- package/dist/ConnectedNativeDocxComparison-VGJLNVM4.js +2 -2
- package/dist/ConnectedNativeDocxEditor-A6PGFR35.cjs +2 -2
- package/dist/ConnectedNativeDocxEditor-O7QEWYGG.js +2 -2
- package/dist/ConnectedStreamedWordArtifact-MJAVZ3NR.js +2 -2
- package/dist/ConnectedStreamedWordArtifact-Q7TWGK4B.cjs +2 -2
- package/dist/{DocumentReviewCard-LGBI472S.js → DocumentReviewCard-5NZM6FOB.js} +9 -9
- package/dist/{DocumentReviewCard-LGBI472S.js.map → DocumentReviewCard-5NZM6FOB.js.map} +1 -1
- package/dist/{DocumentReviewCard-CJ5VQM45.cjs → DocumentReviewCard-7VJ3MMYG.cjs} +14 -14
- package/dist/{DocumentReviewCard-CJ5VQM45.cjs.map → DocumentReviewCard-7VJ3MMYG.cjs.map} +1 -1
- package/dist/{FilesViewerDialog-KP3IHDSS.js → FilesViewerDialog-5VML4F5E.js} +8 -8
- package/dist/{FilesViewerDialog-KP3IHDSS.js.map → FilesViewerDialog-5VML4F5E.js.map} +1 -1
- package/dist/{FilesViewerDialog-AFIM2SCB.cjs → FilesViewerDialog-IQ5UDAZX.cjs} +9 -9
- package/dist/{FilesViewerDialog-AFIM2SCB.cjs.map → FilesViewerDialog-IQ5UDAZX.cjs.map} +1 -1
- package/dist/{WorkspaceTableView-2FL5OX6M.js → WorkspaceTableView-DYABS53K.js} +3 -3
- package/dist/{WorkspaceTableView-2FL5OX6M.js.map → WorkspaceTableView-DYABS53K.js.map} +1 -1
- package/dist/{WorkspaceTableView-YPESFW25.cjs → WorkspaceTableView-ZIQ7JWT5.cjs} +3 -3
- package/dist/{WorkspaceTableView-YPESFW25.cjs.map → WorkspaceTableView-ZIQ7JWT5.cjs.map} +1 -1
- package/dist/agents/index.cjs +177 -177
- package/dist/agents/index.js +4 -4
- package/dist/chat/index.cjs +1 -1
- package/dist/chat/index.js +1 -1
- package/dist/{chunk-Y7QIZGZA.js → chunk-22EZJLGW.js} +5 -5
- package/dist/{chunk-Y7QIZGZA.js.map → chunk-22EZJLGW.js.map} +1 -1
- package/dist/{chunk-YOCKX2OP.cjs → chunk-4VSRSF4Q.cjs} +5 -5
- package/dist/{chunk-YOCKX2OP.cjs.map → chunk-4VSRSF4Q.cjs.map} +1 -1
- package/dist/{chunk-VJTDTWNZ.cjs → chunk-ERDQ4DAX.cjs} +3 -3
- package/dist/{chunk-VJTDTWNZ.cjs.map → chunk-ERDQ4DAX.cjs.map} +1 -1
- package/dist/{chunk-F3IRNQIB.cjs → chunk-HJBVSG6H.cjs} +4 -4
- package/dist/{chunk-F3IRNQIB.cjs.map → chunk-HJBVSG6H.cjs.map} +1 -1
- package/dist/{chunk-ERVXJW7P.cjs → chunk-J24LYNTY.cjs} +35 -35
- package/dist/{chunk-ERVXJW7P.cjs.map → chunk-J24LYNTY.cjs.map} +1 -1
- package/dist/{chunk-5HPLUT4M.cjs → chunk-KBXATCF4.cjs} +4 -4
- package/dist/{chunk-5HPLUT4M.cjs.map → chunk-KBXATCF4.cjs.map} +1 -1
- package/dist/{chunk-6FLDM72D.js → chunk-KYR3TXHS.js} +3 -3
- package/dist/{chunk-6FLDM72D.js.map → chunk-KYR3TXHS.js.map} +1 -1
- package/dist/{chunk-JGC3EPPF.js → chunk-L3V2ANBD.js} +3 -3
- package/dist/{chunk-JGC3EPPF.js.map → chunk-L3V2ANBD.js.map} +1 -1
- package/dist/{chunk-SVQTUHPE.cjs → chunk-MM5Q7AJL.cjs} +8 -8
- package/dist/{chunk-SVQTUHPE.cjs.map → chunk-MM5Q7AJL.cjs.map} +1 -1
- package/dist/{chunk-VYTEEQ4C.cjs → chunk-MT3RPUQC.cjs} +4 -4
- package/dist/{chunk-VYTEEQ4C.cjs.map → chunk-MT3RPUQC.cjs.map} +1 -1
- package/dist/{chunk-KA6TKTIT.js → chunk-OOYT5A7W.js} +3 -3
- package/dist/{chunk-KA6TKTIT.js.map → chunk-OOYT5A7W.js.map} +1 -1
- package/dist/{chunk-U3FUFNNR.js → chunk-OYSTBNNA.js} +3 -3
- package/dist/{chunk-U3FUFNNR.js.map → chunk-OYSTBNNA.js.map} +1 -1
- package/dist/{chunk-E35SHIUT.cjs → chunk-RAF72BBC.cjs} +4 -4
- package/dist/{chunk-E35SHIUT.cjs.map → chunk-RAF72BBC.cjs.map} +1 -1
- package/dist/{chunk-5SQJTWD3.cjs → chunk-SWILV6LT.cjs} +4 -4
- package/dist/{chunk-5SQJTWD3.cjs.map → chunk-SWILV6LT.cjs.map} +1 -1
- package/dist/{chunk-7OMLHP7B.js → chunk-SWW3KBH2.js} +4 -4
- package/dist/{chunk-7OMLHP7B.js.map → chunk-SWW3KBH2.js.map} +1 -1
- package/dist/{chunk-5CKKWKEJ.js → chunk-TVJAVK2G.js} +3 -3
- package/dist/{chunk-5CKKWKEJ.js.map → chunk-TVJAVK2G.js.map} +1 -1
- package/dist/{chunk-37J6OLML.js → chunk-UBI4HXT6.js} +5 -5
- package/dist/{chunk-37J6OLML.js.map → chunk-UBI4HXT6.js.map} +1 -1
- package/dist/{chunk-3SBMU4LB.js → chunk-UNQE3JWX.js} +4 -4
- package/dist/{chunk-3SBMU4LB.js.map → chunk-UNQE3JWX.js.map} +1 -1
- package/dist/{chunk-LDGVJI7D.cjs → chunk-USIRUI2M.cjs} +24 -24
- package/dist/{chunk-LDGVJI7D.cjs.map → chunk-USIRUI2M.cjs.map} +1 -1
- package/dist/{chunk-65MSYISI.cjs → chunk-VD33HXFZ.cjs} +28 -28
- package/dist/{chunk-65MSYISI.cjs.map → chunk-VD33HXFZ.cjs.map} +1 -1
- package/dist/{chunk-VYW4YXDB.js → chunk-VW6MFQFW.js} +3 -3
- package/dist/{chunk-VYW4YXDB.js.map → chunk-VW6MFQFW.js.map} +1 -1
- package/dist/{chunk-3LZ7JL3N.js → chunk-YG4S7OCD.js} +3 -3
- package/dist/{chunk-3LZ7JL3N.js.map → chunk-YG4S7OCD.js.map} +1 -1
- package/dist/{chunk-CYIL3N2M.js → chunk-Z7XKBKQN.js} +6 -6
- package/dist/{chunk-CYIL3N2M.js.map → chunk-Z7XKBKQN.js.map} +1 -1
- package/dist/{chunk-PNDWMFVL.cjs → chunk-ZAKDIJBP.cjs} +46 -46
- package/dist/{chunk-PNDWMFVL.cjs.map → chunk-ZAKDIJBP.cjs.map} +1 -1
- package/dist/connect/docx.cjs +2 -2
- package/dist/connect/docx.js +2 -2
- package/dist/connect/index.cjs +1259 -713
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +1 -0
- package/dist/connect/index.js +784 -241
- package/dist/connect/index.js.map +1 -1
- package/dist/connect/viewer.cjs +7 -7
- package/dist/connect/viewer.js +6 -6
- package/dist/connection/command/ConnectedCommandPalette.d.ts +16 -0
- package/dist/connection/command/actions.d.ts +21 -0
- package/dist/connection/command/icons.d.ts +7 -0
- package/dist/connection/command/index.d.ts +3 -0
- package/dist/connection/command/palette-state.d.ts +22 -0
- package/dist/connection/files/grid/documentCellRenderers.d.ts +57 -0
- package/dist/connection/files/grid/documentColumns.d.ts +2 -2
- package/dist/embed/index.cjs +13 -13
- package/dist/embed/index.js +7 -7
- package/dist/files/index.cjs +224 -224
- package/dist/files/index.js +3 -3
- package/dist/index.cjs +267 -267
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/nav/actions.d.ts +23 -1
- package/dist/styles.css +1 -1
- package/dist/workflow-canvas/index.cjs +20 -20
- package/dist/workflow-canvas/index.js +10 -10
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
package/dist/connect/index.cjs
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkVD33HXFZ_cjs = require('../chunk-VD33HXFZ.cjs');
|
|
5
5
|
var chunk4RTNI2QY_cjs = require('../chunk-4RTNI2QY.cjs');
|
|
6
6
|
var chunkDDIV3MYQ_cjs = require('../chunk-DDIV3MYQ.cjs');
|
|
7
7
|
var chunkTAB4JSM2_cjs = require('../chunk-TAB4JSM2.cjs');
|
|
8
8
|
var chunkPSIKUQYM_cjs = require('../chunk-PSIKUQYM.cjs');
|
|
9
9
|
var chunkVMOQKGJW_cjs = require('../chunk-VMOQKGJW.cjs');
|
|
10
|
+
var chunkUSIRUI2M_cjs = require('../chunk-USIRUI2M.cjs');
|
|
10
11
|
var chunkSOS2WASA_cjs = require('../chunk-SOS2WASA.cjs');
|
|
11
|
-
var chunkLDGVJI7D_cjs = require('../chunk-LDGVJI7D.cjs');
|
|
12
12
|
var chunkYZ6YOOTF_cjs = require('../chunk-YZ6YOOTF.cjs');
|
|
13
13
|
var chunkKWJW5TMH_cjs = require('../chunk-KWJW5TMH.cjs');
|
|
14
|
-
var
|
|
14
|
+
var chunkMM5Q7AJL_cjs = require('../chunk-MM5Q7AJL.cjs');
|
|
15
15
|
var chunkIU3SXE62_cjs = require('../chunk-IU3SXE62.cjs');
|
|
16
|
-
var
|
|
17
|
-
var
|
|
16
|
+
var chunkSWILV6LT_cjs = require('../chunk-SWILV6LT.cjs');
|
|
17
|
+
var chunkMT3RPUQC_cjs = require('../chunk-MT3RPUQC.cjs');
|
|
18
18
|
var chunkPZYPWY7G_cjs = require('../chunk-PZYPWY7G.cjs');
|
|
19
19
|
var chunkYMNKMIFG_cjs = require('../chunk-YMNKMIFG.cjs');
|
|
20
20
|
var chunkTJY7XPDE_cjs = require('../chunk-TJY7XPDE.cjs');
|
|
@@ -32,25 +32,25 @@ var chunkCWPKWXFU_cjs = require('../chunk-CWPKWXFU.cjs');
|
|
|
32
32
|
var chunkDDWLMYRO_cjs = require('../chunk-DDWLMYRO.cjs');
|
|
33
33
|
var chunkJXKNPKU6_cjs = require('../chunk-JXKNPKU6.cjs');
|
|
34
34
|
var chunkEAA2X45O_cjs = require('../chunk-EAA2X45O.cjs');
|
|
35
|
-
var
|
|
35
|
+
var chunkHJBVSG6H_cjs = require('../chunk-HJBVSG6H.cjs');
|
|
36
36
|
var chunk6KQVTMRL_cjs = require('../chunk-6KQVTMRL.cjs');
|
|
37
|
-
var
|
|
37
|
+
var chunkJ24LYNTY_cjs = require('../chunk-J24LYNTY.cjs');
|
|
38
38
|
var chunkMMSHLHTA_cjs = require('../chunk-MMSHLHTA.cjs');
|
|
39
|
-
var
|
|
39
|
+
var chunkERDQ4DAX_cjs = require('../chunk-ERDQ4DAX.cjs');
|
|
40
40
|
var chunk223D4727_cjs = require('../chunk-223D4727.cjs');
|
|
41
41
|
var chunkSNUBQMIS_cjs = require('../chunk-SNUBQMIS.cjs');
|
|
42
|
-
var chunkIK4MSXXR_cjs = require('../chunk-IK4MSXXR.cjs');
|
|
43
42
|
var chunk2VJBIBPE_cjs = require('../chunk-2VJBIBPE.cjs');
|
|
43
|
+
var chunkIK4MSXXR_cjs = require('../chunk-IK4MSXXR.cjs');
|
|
44
44
|
var chunkCMXJUCTH_cjs = require('../chunk-CMXJUCTH.cjs');
|
|
45
45
|
require('../chunk-JH6JTI76.cjs');
|
|
46
46
|
var chunkQQMMCXBP_cjs = require('../chunk-QQMMCXBP.cjs');
|
|
47
47
|
require('../chunk-DTMBAFIL.cjs');
|
|
48
48
|
require('../chunk-ZESMRGDV.cjs');
|
|
49
|
-
var
|
|
49
|
+
var chunk4VSRSF4Q_cjs = require('../chunk-4VSRSF4Q.cjs');
|
|
50
50
|
var chunkFMRTLPC7_cjs = require('../chunk-FMRTLPC7.cjs');
|
|
51
51
|
require('../chunk-NEGFHF3V.cjs');
|
|
52
|
-
var chunkI6GEQWIV_cjs = require('../chunk-I6GEQWIV.cjs');
|
|
53
52
|
var chunkZ3LFF3YT_cjs = require('../chunk-Z3LFF3YT.cjs');
|
|
53
|
+
var chunkI6GEQWIV_cjs = require('../chunk-I6GEQWIV.cjs');
|
|
54
54
|
var chunk4B6HYQTW_cjs = require('../chunk-4B6HYQTW.cjs');
|
|
55
55
|
var chunkADMNU2CR_cjs = require('../chunk-ADMNU2CR.cjs');
|
|
56
56
|
require('../chunk-PCB2BPN3.cjs');
|
|
@@ -71,12 +71,12 @@ require('../chunk-SK6HQ46Q.cjs');
|
|
|
71
71
|
var chunkMNIQDXM6_cjs = require('../chunk-MNIQDXM6.cjs');
|
|
72
72
|
var chunkBZFCD6A6_cjs = require('../chunk-BZFCD6A6.cjs');
|
|
73
73
|
require('../chunk-VLCY46K6.cjs');
|
|
74
|
-
require('../chunk-BQOL4XNZ.cjs');
|
|
75
74
|
var chunkOZQ26FNK_cjs = require('../chunk-OZQ26FNK.cjs');
|
|
76
75
|
var chunkZU2B2RZK_cjs = require('../chunk-ZU2B2RZK.cjs');
|
|
77
76
|
var chunkNSD37OF5_cjs = require('../chunk-NSD37OF5.cjs');
|
|
78
77
|
require('../chunk-OEJQFPWO.cjs');
|
|
79
|
-
|
|
78
|
+
require('../chunk-BQOL4XNZ.cjs');
|
|
79
|
+
var chunkKBXATCF4_cjs = require('../chunk-KBXATCF4.cjs');
|
|
80
80
|
var chunkTP5PGWIO_cjs = require('../chunk-TP5PGWIO.cjs');
|
|
81
81
|
require('../chunk-I4IS6ST6.cjs');
|
|
82
82
|
var chunkIIAFQZCI_cjs = require('../chunk-IIAFQZCI.cjs');
|
|
@@ -92,8 +92,8 @@ var chunk4PA6VCCR_cjs = require('../chunk-4PA6VCCR.cjs');
|
|
|
92
92
|
require('../chunk-AHDJXIUB.cjs');
|
|
93
93
|
var chunkRL2HI6NP_cjs = require('../chunk-RL2HI6NP.cjs');
|
|
94
94
|
var chunk6UZC4XVV_cjs = require('../chunk-6UZC4XVV.cjs');
|
|
95
|
-
var chunkLKK52DEY_cjs = require('../chunk-LKK52DEY.cjs');
|
|
96
95
|
var chunkTTPJ2G3G_cjs = require('../chunk-TTPJ2G3G.cjs');
|
|
96
|
+
var chunkLKK52DEY_cjs = require('../chunk-LKK52DEY.cjs');
|
|
97
97
|
var chunkU2FFG2B3_cjs = require('../chunk-U2FFG2B3.cjs');
|
|
98
98
|
var chunk25UUJRSJ_cjs = require('../chunk-25UUJRSJ.cjs');
|
|
99
99
|
var chunkVYJF4ZQY_cjs = require('../chunk-VYJF4ZQY.cjs');
|
|
@@ -133,8 +133,8 @@ require('../chunk-HSLPFBK2.cjs');
|
|
|
133
133
|
var chunkQGVOT7E4_cjs = require('../chunk-QGVOT7E4.cjs');
|
|
134
134
|
var chunkQRAQZTJE_cjs = require('../chunk-QRAQZTJE.cjs');
|
|
135
135
|
require('../chunk-UDSHVNU3.cjs');
|
|
136
|
-
var chunkFX3K6LNZ_cjs = require('../chunk-FX3K6LNZ.cjs');
|
|
137
136
|
var chunkIPSHAMO2_cjs = require('../chunk-IPSHAMO2.cjs');
|
|
137
|
+
var chunkFX3K6LNZ_cjs = require('../chunk-FX3K6LNZ.cjs');
|
|
138
138
|
var chunkZBP4ZSAJ_cjs = require('../chunk-ZBP4ZSAJ.cjs');
|
|
139
139
|
require('../chunk-PPCATBOY.cjs');
|
|
140
140
|
var chunkWGWP4ATS_cjs = require('../chunk-WGWP4ATS.cjs');
|
|
@@ -250,7 +250,7 @@ function ConnectedWorkspaceActivity({
|
|
|
250
250
|
[feed.data]
|
|
251
251
|
);
|
|
252
252
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
253
|
-
|
|
253
|
+
chunk4VSRSF4Q_cjs.WorkspaceActivityList,
|
|
254
254
|
{
|
|
255
255
|
...listProps,
|
|
256
256
|
items,
|
|
@@ -647,8 +647,8 @@ function createNotificationTargetOpener(deps) {
|
|
|
647
647
|
return;
|
|
648
648
|
}
|
|
649
649
|
}
|
|
650
|
-
const
|
|
651
|
-
const workspaceId =
|
|
650
|
+
const inWorkspace2 = target.workspaceId || (target.kind === "workflows" ? await workflowWorkspace(arbi, target.workflowId) : void 0);
|
|
651
|
+
const workspaceId = inWorkspace2 && inWorkspace2 !== openWorkspaceId?.() ? inWorkspace2 : void 0;
|
|
652
652
|
if (workspaceId && selectWorkspace) await selectWorkspace(workspaceId);
|
|
653
653
|
switch (target.kind) {
|
|
654
654
|
case "workspace":
|
|
@@ -1433,14 +1433,14 @@ function ConnectedOfflineStatus({ compact = false }) {
|
|
|
1433
1433
|
const openOutbox = () => openMail?.(outbox.length > 0 ? { folder: outboxFolder } : void 0);
|
|
1434
1434
|
let tone;
|
|
1435
1435
|
let label;
|
|
1436
|
-
let onOpen = pending === 0 && outbox.length + mailChanges > 0 ? openOutbox :
|
|
1436
|
+
let onOpen = pending === 0 && outbox.length + mailChanges > 0 ? openOutbox : chunkJ24LYNTY_cjs.openPendingSyncDialog;
|
|
1437
1437
|
if (!isOnline) {
|
|
1438
1438
|
tone = "offline";
|
|
1439
1439
|
label = waiting > 0 ? `Offline \xB7 ${waiting} pending` : "Offline";
|
|
1440
1440
|
} else if (failed > 0) {
|
|
1441
1441
|
tone = "failed";
|
|
1442
1442
|
label = `${plural(failed, "change", "changes")} didn\u2019t sync`;
|
|
1443
|
-
onOpen =
|
|
1443
|
+
onOpen = chunkJ24LYNTY_cjs.openPendingSyncDialog;
|
|
1444
1444
|
} else if (outboxFailed > 0) {
|
|
1445
1445
|
tone = "failed";
|
|
1446
1446
|
label = `${plural(outboxFailed, "email", "emails")} not sent`;
|
|
@@ -1572,7 +1572,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1572
1572
|
onChange: (e) => {
|
|
1573
1573
|
const file = e.target.files?.[0];
|
|
1574
1574
|
e.target.value = "";
|
|
1575
|
-
if (file) void add(() =>
|
|
1575
|
+
if (file) void add(() => chunkKBXATCF4_cjs.importSkillFile(file));
|
|
1576
1576
|
}
|
|
1577
1577
|
}
|
|
1578
1578
|
),
|
|
@@ -1597,7 +1597,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1597
1597
|
className: "space-y-2",
|
|
1598
1598
|
onSubmit: (e) => {
|
|
1599
1599
|
e.preventDefault();
|
|
1600
|
-
if (url.trim()) void add(() =>
|
|
1600
|
+
if (url.trim()) void add(() => chunkKBXATCF4_cjs.importSkillFromUrl(url));
|
|
1601
1601
|
},
|
|
1602
1602
|
children: [
|
|
1603
1603
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
|
|
@@ -1665,9 +1665,9 @@ function ConnectedSkillsLibrary({
|
|
|
1665
1665
|
const [type, setType] = react$1.useState("all");
|
|
1666
1666
|
const [view, setView] = react$1.useState("gallery");
|
|
1667
1667
|
const [isBusy, setIsBusy] = react$1.useState(false);
|
|
1668
|
-
const all = react$1.useMemo(() =>
|
|
1668
|
+
const all = react$1.useMemo(() => chunkKBXATCF4_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
|
|
1669
1669
|
const shown = react$1.useMemo(
|
|
1670
|
-
() =>
|
|
1670
|
+
() => chunkKBXATCF4_cjs.filterLibrarySkills(all, { query, source, type }),
|
|
1671
1671
|
[all, query, source, type]
|
|
1672
1672
|
);
|
|
1673
1673
|
const current = all.find((s) => s.slug === selected) ?? null;
|
|
@@ -1678,21 +1678,21 @@ function ConnectedSkillsLibrary({
|
|
|
1678
1678
|
const count2 = (s) => all.filter((x) => x.source === s).length;
|
|
1679
1679
|
const sourceOptions = [
|
|
1680
1680
|
{ id: "all", label: "All", count: all.length },
|
|
1681
|
-
{ id: "builtin", label:
|
|
1682
|
-
{ id: "mine", label:
|
|
1683
|
-
{ id: "shared", label:
|
|
1681
|
+
{ id: "builtin", label: chunkKBXATCF4_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
|
|
1682
|
+
{ id: "mine", label: chunkKBXATCF4_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
|
|
1683
|
+
{ id: "shared", label: chunkKBXATCF4_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
|
|
1684
1684
|
];
|
|
1685
1685
|
const types = [...new Set(all.map((s) => s.type))];
|
|
1686
1686
|
const typeOptions = [
|
|
1687
1687
|
{ id: "all", label: "Any kind" },
|
|
1688
|
-
...types.map((t) => ({ id: t, label:
|
|
1688
|
+
...types.map((t) => ({ id: t, label: chunkKBXATCF4_cjs.SKILL_TYPE_LABELS[t] ?? t }))
|
|
1689
1689
|
];
|
|
1690
1690
|
const pick = (slug) => {
|
|
1691
1691
|
setSelected(slug);
|
|
1692
1692
|
setMode("detail");
|
|
1693
1693
|
};
|
|
1694
1694
|
const markdownOf = async (skill) => {
|
|
1695
|
-
if (!skill.docExtId) return
|
|
1695
|
+
if (!skill.docExtId) return chunkKBXATCF4_cjs.workflowToSkillMarkdown(skill.workflow);
|
|
1696
1696
|
const response = await arbi.documents.download(skill.docExtId);
|
|
1697
1697
|
if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
|
|
1698
1698
|
return response.text();
|
|
@@ -1756,7 +1756,7 @@ function ConnectedSkillsLibrary({
|
|
|
1756
1756
|
try {
|
|
1757
1757
|
documentTools.downloadBlob(
|
|
1758
1758
|
new Blob([await markdownOf(skill)], { type: "text/markdown" }),
|
|
1759
|
-
|
|
1759
|
+
chunkKBXATCF4_cjs.SKILL_MAIN_FILENAME
|
|
1760
1760
|
);
|
|
1761
1761
|
} catch (error) {
|
|
1762
1762
|
notify17(errorText(error, "Could not export the skill"), "error");
|
|
@@ -1797,10 +1797,10 @@ function ConnectedSkillsLibrary({
|
|
|
1797
1797
|
}
|
|
1798
1798
|
)
|
|
1799
1799
|
] }),
|
|
1800
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1800
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.SkillViewToggle, { value: view, onChange: setView })
|
|
1801
1801
|
] }),
|
|
1802
1802
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1803
|
-
|
|
1803
|
+
chunkKBXATCF4_cjs.SkillFilterChips,
|
|
1804
1804
|
{
|
|
1805
1805
|
label: "Show",
|
|
1806
1806
|
value: source,
|
|
@@ -1809,7 +1809,7 @@ function ConnectedSkillsLibrary({
|
|
|
1809
1809
|
}
|
|
1810
1810
|
),
|
|
1811
1811
|
types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1812
|
-
|
|
1812
|
+
chunkKBXATCF4_cjs.SkillFilterChips,
|
|
1813
1813
|
{
|
|
1814
1814
|
label: "Kind",
|
|
1815
1815
|
value: type,
|
|
@@ -1856,12 +1856,12 @@ function ConnectedSkillsLibrary({
|
|
|
1856
1856
|
view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
|
|
1857
1857
|
),
|
|
1858
1858
|
children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1859
|
-
|
|
1859
|
+
chunkKBXATCF4_cjs.SkillTile,
|
|
1860
1860
|
{
|
|
1861
1861
|
name: skill.title,
|
|
1862
1862
|
testId: `skill-tile-${skill.slug}`,
|
|
1863
1863
|
description: skill.description,
|
|
1864
|
-
sourceLabel: skill.isShared ? `${
|
|
1864
|
+
sourceLabel: skill.isShared ? `${chunkKBXATCF4_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkKBXATCF4_cjs.SKILL_SOURCE_LABELS[skill.source],
|
|
1865
1865
|
type: skill.type,
|
|
1866
1866
|
icon,
|
|
1867
1867
|
layout: view,
|
|
@@ -1896,7 +1896,7 @@ function ConnectedSkillsLibrary({
|
|
|
1896
1896
|
}
|
|
1897
1897
|
),
|
|
1898
1898
|
mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1899
|
-
|
|
1899
|
+
chunkKBXATCF4_cjs.SkillGenerateForm,
|
|
1900
1900
|
{
|
|
1901
1901
|
icon,
|
|
1902
1902
|
onGenerate: (desc) => {
|
|
@@ -1923,11 +1923,11 @@ function ConnectedSkillsLibrary({
|
|
|
1923
1923
|
),
|
|
1924
1924
|
mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
|
|
1925
1925
|
mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1926
|
-
|
|
1926
|
+
chunkKBXATCF4_cjs.SkillLibraryDetail,
|
|
1927
1927
|
{
|
|
1928
1928
|
skill: current,
|
|
1929
1929
|
icon,
|
|
1930
|
-
instructions: current.docExtId ? currentText ?
|
|
1930
|
+
instructions: current.docExtId ? currentText ? chunkKBXATCF4_cjs.parseSkillFrontmatter(currentText, chunkKBXATCF4_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
|
|
1931
1931
|
isLoading: !!current.docExtId && textLoading,
|
|
1932
1932
|
actions: {
|
|
1933
1933
|
onRun: () => onRun(current.slug),
|
|
@@ -1962,7 +1962,7 @@ function SkillEditor({
|
|
|
1962
1962
|
const [seeded, setSeeded] = react$1.useState(!isEditing);
|
|
1963
1963
|
const [nameError, setNameError] = react$1.useState(null);
|
|
1964
1964
|
if (isEditing && !seeded && text !== void 0) {
|
|
1965
|
-
const parsed =
|
|
1965
|
+
const parsed = chunkKBXATCF4_cjs.parseSkillFrontmatter(text, chunkKBXATCF4_cjs.SKILL_MAIN_FILENAME);
|
|
1966
1966
|
setDescription(parsed.description ?? "");
|
|
1967
1967
|
setBody(parsed.content ?? "");
|
|
1968
1968
|
setSeeded(true);
|
|
@@ -1976,15 +1976,15 @@ function SkillEditor({
|
|
|
1976
1976
|
notify17("Add a short description.", "error");
|
|
1977
1977
|
return;
|
|
1978
1978
|
}
|
|
1979
|
-
const slug =
|
|
1979
|
+
const slug = chunkKBXATCF4_cjs.skillSlug(name);
|
|
1980
1980
|
try {
|
|
1981
|
-
await onSave(slug,
|
|
1981
|
+
await onSave(slug, chunkKBXATCF4_cjs.serializeSkill({ name: slug, description, body }), isEditing);
|
|
1982
1982
|
} catch (err) {
|
|
1983
1983
|
notify17(errorText(err, "Could not save the skill"), "error");
|
|
1984
1984
|
}
|
|
1985
1985
|
};
|
|
1986
1986
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1987
|
-
|
|
1987
|
+
chunkKBXATCF4_cjs.SkillEditForm,
|
|
1988
1988
|
{
|
|
1989
1989
|
name,
|
|
1990
1990
|
onNameChange: setName,
|
|
@@ -2076,7 +2076,7 @@ function ConnectedSkillsBrowser({
|
|
|
2076
2076
|
}
|
|
2077
2077
|
) }),
|
|
2078
2078
|
runSkillId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2079
|
-
|
|
2079
|
+
chunkUSIRUI2M_cjs.ConnectedTaskComposer,
|
|
2080
2080
|
{
|
|
2081
2081
|
kind: "workflow",
|
|
2082
2082
|
open: true,
|
|
@@ -2100,9 +2100,9 @@ function ConnectedAgentCreator({
|
|
|
2100
2100
|
agent,
|
|
2101
2101
|
initialName,
|
|
2102
2102
|
onSaved,
|
|
2103
|
-
capabilities =
|
|
2104
|
-
templates =
|
|
2105
|
-
types =
|
|
2103
|
+
capabilities = chunkKBXATCF4_cjs.DEFAULT_AGENT_CAPABILITIES,
|
|
2104
|
+
templates = chunkKBXATCF4_cjs.DEFAULT_AGENT_TEMPLATES,
|
|
2105
|
+
types = chunkKBXATCF4_cjs.DEFAULT_AGENT_TYPES,
|
|
2106
2106
|
canRevokeWorkspaces = false,
|
|
2107
2107
|
labels
|
|
2108
2108
|
}) {
|
|
@@ -2144,7 +2144,7 @@ function ConnectedAgentCreator({
|
|
|
2144
2144
|
const initialValues = react$1.useMemo(
|
|
2145
2145
|
() => ({
|
|
2146
2146
|
name: agent?.given_name ?? initialName ?? "",
|
|
2147
|
-
persona: isEdit ?
|
|
2147
|
+
persona: isEdit ? chunkKBXATCF4_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
|
|
2148
2148
|
modelName: String(agents.AGENT_MODEL_NAME ?? ""),
|
|
2149
2149
|
capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
|
|
2150
2150
|
type: "builtin",
|
|
@@ -2163,7 +2163,7 @@ function ConnectedAgentCreator({
|
|
|
2163
2163
|
try {
|
|
2164
2164
|
let agentExtId = agent?.external_id ?? early?.id ?? "";
|
|
2165
2165
|
if (!agentExtId) {
|
|
2166
|
-
if (!
|
|
2166
|
+
if (!chunkKBXATCF4_cjs.isValidAgentName(values.name)) {
|
|
2167
2167
|
notify17("Give the agent a name first.", "error");
|
|
2168
2168
|
return;
|
|
2169
2169
|
}
|
|
@@ -2199,7 +2199,7 @@ function ConnectedAgentCreator({
|
|
|
2199
2199
|
title: `agent-${name}`,
|
|
2200
2200
|
sections: {
|
|
2201
2201
|
Agents: {
|
|
2202
|
-
PERSONA:
|
|
2202
|
+
PERSONA: chunkKBXATCF4_cjs.composePersona(name, values.persona),
|
|
2203
2203
|
...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
|
|
2204
2204
|
...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
|
|
2205
2205
|
ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
|
|
@@ -2222,7 +2222,7 @@ function ConnectedAgentCreator({
|
|
|
2222
2222
|
};
|
|
2223
2223
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2224
2224
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2225
|
-
|
|
2225
|
+
chunkKBXATCF4_cjs.AgentCreator,
|
|
2226
2226
|
{
|
|
2227
2227
|
open: ready,
|
|
2228
2228
|
onOpenChange,
|
|
@@ -2238,11 +2238,11 @@ function ConnectedAgentCreator({
|
|
|
2238
2238
|
) : void 0,
|
|
2239
2239
|
revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
|
|
2240
2240
|
avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2241
|
-
|
|
2241
|
+
chunkKBXATCF4_cjs.AgentAvatarField,
|
|
2242
2242
|
{
|
|
2243
2243
|
picture,
|
|
2244
2244
|
isBusy: avatarBusy,
|
|
2245
|
-
canGenerate: isEdit ||
|
|
2245
|
+
canGenerate: isEdit || chunkKBXATCF4_cjs.isValidAgentName(values.name),
|
|
2246
2246
|
onGenerate: () => handleGenerateAvatar(values)
|
|
2247
2247
|
}
|
|
2248
2248
|
),
|
|
@@ -2294,7 +2294,7 @@ function ConnectedAgentCreator({
|
|
|
2294
2294
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
|
|
2295
2295
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
|
|
2296
2296
|
] }),
|
|
2297
|
-
connect && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2297
|
+
connect && /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
|
|
2298
2298
|
]
|
|
2299
2299
|
}
|
|
2300
2300
|
) })
|
|
@@ -2321,7 +2321,7 @@ function useConnectedAgentManagement({
|
|
|
2321
2321
|
const onEditorOpenChange = (open) => {
|
|
2322
2322
|
setEditorOpen(open);
|
|
2323
2323
|
};
|
|
2324
|
-
const
|
|
2324
|
+
const create3 = () => {
|
|
2325
2325
|
setEditing(null);
|
|
2326
2326
|
setEditorOpen(true);
|
|
2327
2327
|
};
|
|
@@ -2355,7 +2355,7 @@ function useConnectedAgentManagement({
|
|
|
2355
2355
|
return {
|
|
2356
2356
|
agents,
|
|
2357
2357
|
isLoading,
|
|
2358
|
-
create:
|
|
2358
|
+
create: create3,
|
|
2359
2359
|
edit,
|
|
2360
2360
|
assign,
|
|
2361
2361
|
remove,
|
|
@@ -2686,7 +2686,7 @@ function useMemoryCount(enabled) {
|
|
|
2686
2686
|
}
|
|
2687
2687
|
function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
|
|
2688
2688
|
const { notify: notify17, openConversation, openDocument } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
2689
|
-
const people =
|
|
2689
|
+
const people = chunkUSIRUI2M_cjs.useTaskPeople();
|
|
2690
2690
|
const canEditShared = react.useCanEditShared();
|
|
2691
2691
|
const isWorkspaceOwner = react.useIsWorkspaceOwner();
|
|
2692
2692
|
const { data: workflows = [] } = react.useWorkflows({ live: true });
|
|
@@ -2712,7 +2712,7 @@ function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
|
|
|
2712
2712
|
}, [documents]);
|
|
2713
2713
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2714
2714
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2715
|
-
|
|
2715
|
+
chunkKBXATCF4_cjs.TaskTable,
|
|
2716
2716
|
{
|
|
2717
2717
|
tasks,
|
|
2718
2718
|
isLoading,
|
|
@@ -2739,7 +2739,7 @@ function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
|
|
|
2739
2739
|
}
|
|
2740
2740
|
),
|
|
2741
2741
|
activityFor && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2742
|
-
|
|
2742
|
+
chunkUSIRUI2M_cjs.ConnectedTaskActivityDialog,
|
|
2743
2743
|
{
|
|
2744
2744
|
conversationId: activityFor.external_id,
|
|
2745
2745
|
taskName: activityFor.title || l.untitledTask,
|
|
@@ -2778,7 +2778,7 @@ function AgentsLauncher({ workflows, renderIcon, labels: l, testId }) {
|
|
|
2778
2778
|
[workflows, skills, l.skillFiles]
|
|
2779
2779
|
);
|
|
2780
2780
|
const launch = async ({ workflow, inputs, agentId }) => {
|
|
2781
|
-
const values =
|
|
2781
|
+
const values = chunkKBXATCF4_cjs.defaultTaskComposerValues(launchable, {
|
|
2782
2782
|
workflowId: workflow.id,
|
|
2783
2783
|
assignee: "agent",
|
|
2784
2784
|
inputs,
|
|
@@ -2898,7 +2898,7 @@ function ConnectedAgentsPageScope(props) {
|
|
|
2898
2898
|
children,
|
|
2899
2899
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentCreator, { ...management.editorProps, ...agentOptions.creator }),
|
|
2900
2900
|
taskDialog && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2901
|
-
|
|
2901
|
+
chunkUSIRUI2M_cjs.ConnectedTaskComposer,
|
|
2902
2902
|
{
|
|
2903
2903
|
open: true,
|
|
2904
2904
|
onOpenChange: (open) => !open && setTaskDialog(null),
|
|
@@ -2920,7 +2920,7 @@ function AgentsGallery() {
|
|
|
2920
2920
|
cardTestIds
|
|
2921
2921
|
} = agentOptions;
|
|
2922
2922
|
const { openConversation } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
2923
|
-
const tasksByAgent = react$1.useMemo(() =>
|
|
2923
|
+
const tasksByAgent = react$1.useMemo(() => chunkKBXATCF4_cjs.groupAgentTasks(tasks), [tasks]);
|
|
2924
2924
|
const behaviour = useAgentBehaviour(l.defaultBehaviour, details.includes("behaviour"));
|
|
2925
2925
|
const { agents } = management;
|
|
2926
2926
|
const cardDetails = (agent) => details.map(
|
|
@@ -2935,7 +2935,7 @@ function AgentsGallery() {
|
|
|
2935
2935
|
) : 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)
|
|
2936
2936
|
);
|
|
2937
2937
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2938
|
-
|
|
2938
|
+
chunkKBXATCF4_cjs.AgentGallery,
|
|
2939
2939
|
{
|
|
2940
2940
|
count: agents.length,
|
|
2941
2941
|
onCreate: management.create,
|
|
@@ -2945,9 +2945,9 @@ function AgentsGallery() {
|
|
|
2945
2945
|
const agentTasks = tasksByAgent.get(agent.external_id) ?? [];
|
|
2946
2946
|
const running = agentTasks.filter((t) => t.in_progress);
|
|
2947
2947
|
const watchConversationId = running[0]?.external_id ?? null;
|
|
2948
|
-
const progress = agentTasks[0] ?
|
|
2948
|
+
const progress = agentTasks[0] ? chunkKBXATCF4_cjs.goalProgress(agentTasks[0]) : null;
|
|
2949
2949
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2950
|
-
|
|
2950
|
+
chunkKBXATCF4_cjs.AgentCard,
|
|
2951
2951
|
{
|
|
2952
2952
|
name: displayName(agent),
|
|
2953
2953
|
avatar: /* @__PURE__ */ jsxRuntime.jsx(AgentInitialsAvatar, { agent }),
|
|
@@ -3242,12 +3242,12 @@ function tagCombinationMatches(combination, items) {
|
|
|
3242
3242
|
);
|
|
3243
3243
|
return { docs: pass(items.documents), facts: pass(items.facts), threads: pass(items.threads) };
|
|
3244
3244
|
}
|
|
3245
|
-
function narrowTagRow(row2,
|
|
3246
|
-
if (!
|
|
3247
|
-
const docs = (row2.links.docs ?? []).filter((d) =>
|
|
3248
|
-
const facts = (row2.links.facts ?? []).filter((f) =>
|
|
3245
|
+
function narrowTagRow(row2, matches2, shown) {
|
|
3246
|
+
if (!matches2 || !row2.links) return row2;
|
|
3247
|
+
const docs = (row2.links.docs ?? []).filter((d) => matches2.docs.has(d.doc_ext_id));
|
|
3248
|
+
const facts = (row2.links.facts ?? []).filter((f) => matches2.facts.has(f.fact_ext_id));
|
|
3249
3249
|
const threads = (row2.links.threads ?? []).filter(
|
|
3250
|
-
(t) =>
|
|
3250
|
+
(t) => matches2.threads.has(t.conversation_ext_id)
|
|
3251
3251
|
);
|
|
3252
3252
|
const cut = (list) => shown === void 0 ? list : list.slice(0, shown);
|
|
3253
3253
|
return {
|
|
@@ -3262,11 +3262,11 @@ function narrowTagRow(row2, matches, shown) {
|
|
|
3262
3262
|
}
|
|
3263
3263
|
};
|
|
3264
3264
|
}
|
|
3265
|
-
function narrowTagTable(table,
|
|
3266
|
-
if (!table || !
|
|
3265
|
+
function narrowTagTable(table, matches2, shown) {
|
|
3266
|
+
if (!table || !matches2) return table;
|
|
3267
3267
|
return {
|
|
3268
3268
|
...table,
|
|
3269
|
-
rows: table.rows.map((row2) => narrowTagRow(row2,
|
|
3269
|
+
rows: table.rows.map((row2) => narrowTagRow(row2, matches2, shown)).filter((row2) => {
|
|
3270
3270
|
const l = row2.links;
|
|
3271
3271
|
return !!l && l.doc_count + l.fact_count + l.thread_count > 0;
|
|
3272
3272
|
})
|
|
@@ -3359,7 +3359,7 @@ function ConnectedTagTable({
|
|
|
3359
3359
|
const fail2 = (fallback) => (e) => notify17(browser.refusalReason(e, fallback), "error");
|
|
3360
3360
|
const snapshot2 = (data) => {
|
|
3361
3361
|
const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
|
|
3362
|
-
const bytes =
|
|
3362
|
+
const bytes = chunk4VSRSF4Q_cjs.tagTableDocx(data, {
|
|
3363
3363
|
title,
|
|
3364
3364
|
nameOf: (id) => people.find((p) => p.value === id)?.label
|
|
3365
3365
|
});
|
|
@@ -3368,7 +3368,7 @@ function ConnectedTagTable({
|
|
|
3368
3368
|
return { blob: new Blob([bytes], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }), name };
|
|
3369
3369
|
};
|
|
3370
3370
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3371
|
-
|
|
3371
|
+
chunk4VSRSF4Q_cjs.TagTable,
|
|
3372
3372
|
{
|
|
3373
3373
|
...props,
|
|
3374
3374
|
table,
|
|
@@ -3452,8 +3452,8 @@ function ConnectedAiReview({
|
|
|
3452
3452
|
const generate = react.useGenerateDocTags();
|
|
3453
3453
|
const { data: liveDocs = [] } = react.useDocuments();
|
|
3454
3454
|
const { data: tags = [] } = react.useTags();
|
|
3455
|
-
const result =
|
|
3456
|
-
const setResult =
|
|
3455
|
+
const result = chunkHJBVSG6H_cjs.useAiReviewStore((s) => s.run);
|
|
3456
|
+
const setResult = chunkHJBVSG6H_cjs.useAiReviewStore((s) => s.setRun);
|
|
3457
3457
|
const phase = result ? "review" : "ask";
|
|
3458
3458
|
const docCount = documents.length;
|
|
3459
3459
|
const scope = allDocuments ? "processed" : "selected";
|
|
@@ -3687,7 +3687,7 @@ function ConnectedAiReview({
|
|
|
3687
3687
|
}, [kind]);
|
|
3688
3688
|
const description = phase === "ask" ? `Ask one question \u2014 ARBI answers it for each of the ${docCount} ${scope} document${plural2(docCount)}.` : aiCellsTotal > 0 ? reviewProgress(aiCellsDone, aiCellsEmpty, aiCellsTotal) : `Applied to ${rows.length} document${plural2(rows.length)}`;
|
|
3689
3689
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3690
|
-
|
|
3690
|
+
chunkERDQ4DAX_cjs.AiReviewDialogView,
|
|
3691
3691
|
{
|
|
3692
3692
|
open,
|
|
3693
3693
|
onOpenChange: handleOpenChange,
|
|
@@ -3738,9 +3738,9 @@ function GlossaryExport({ labelId, nameOf }) {
|
|
|
3738
3738
|
const narrowed = agreements.find((a) => a.id === narrowTo);
|
|
3739
3739
|
const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
|
|
3740
3740
|
const download = (format) => {
|
|
3741
|
-
const entries =
|
|
3742
|
-
const blob = format === "docx" ? new Blob([
|
|
3743
|
-
documentTools.downloadBlob(blob,
|
|
3741
|
+
const entries = chunk4VSRSF4Q_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
|
|
3742
|
+
const blob = format === "docx" ? new Blob([chunk4VSRSF4Q_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunk4VSRSF4Q_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
|
|
3743
|
+
documentTools.downloadBlob(blob, chunk4VSRSF4Q_cjs.glossaryFileName(title, format));
|
|
3744
3744
|
};
|
|
3745
3745
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
|
|
3746
3746
|
agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3804,8 +3804,8 @@ function useOpenTaggedContent() {
|
|
|
3804
3804
|
if (!workspaceId) return;
|
|
3805
3805
|
session.setTransientView("topbar.filter", "");
|
|
3806
3806
|
if (kind === "documents") {
|
|
3807
|
-
|
|
3808
|
-
|
|
3807
|
+
chunkHJBVSG6H_cjs.useFilesPrefs.getState().setDocumentFilters({ [tagId]: "include" });
|
|
3808
|
+
chunkHJBVSG6H_cjs.useFilesPrefs.getState().setViewMode("grid");
|
|
3809
3809
|
session.setPage("documents");
|
|
3810
3810
|
} else if (kind === "facts") {
|
|
3811
3811
|
session.setViewFilter(FACTS_FILTER_KEY, { [tagId]: "include" });
|
|
@@ -3844,7 +3844,7 @@ function ConnectedTagForm({
|
|
|
3844
3844
|
nameByKind = false
|
|
3845
3845
|
}) {
|
|
3846
3846
|
const isCreate = !tag;
|
|
3847
|
-
const memberById =
|
|
3847
|
+
const memberById = chunkVD33HXFZ_cjs.useMemberLookup();
|
|
3848
3848
|
const creator = memberById(tag?.created_by_ext_id);
|
|
3849
3849
|
const updater = memberById(tag?.updated_by_ext_id);
|
|
3850
3850
|
const fieldLabel = ui.getEntityLabel("TAG", "SINGULAR");
|
|
@@ -3923,19 +3923,19 @@ function ConnectedTagForm({
|
|
|
3923
3923
|
metaLines.push({
|
|
3924
3924
|
text: `Created ${ui.formatFriendlyDate(tag.created_at)}`,
|
|
3925
3925
|
byLabel: "by",
|
|
3926
|
-
by: creator ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3926
|
+
by: creator ? /* @__PURE__ */ jsxRuntime.jsx(chunkMT3RPUQC_cjs.DocumentUser, { user: creator }) : void 0
|
|
3927
3927
|
});
|
|
3928
3928
|
if (tag.updated_at && tag.updated_at !== tag.created_at) {
|
|
3929
3929
|
metaLines.push({
|
|
3930
3930
|
text: `Updated ${ui.formatFriendlyDate(tag.updated_at)}`,
|
|
3931
3931
|
byLabel: "by",
|
|
3932
|
-
by: updater ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3932
|
+
by: updater ? /* @__PURE__ */ jsxRuntime.jsx(chunkMT3RPUQC_cjs.DocumentUser, { user: updater }) : void 0
|
|
3933
3933
|
});
|
|
3934
3934
|
}
|
|
3935
3935
|
}
|
|
3936
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3936
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.TagFormRoot, { children: [
|
|
3937
3937
|
!nameOnRow && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3938
|
-
|
|
3938
|
+
chunkERDQ4DAX_cjs.TagFormNameField,
|
|
3939
3939
|
{
|
|
3940
3940
|
label: group || nameByKind ? `${ui.tagKindTitle(kind)} Name` : `${columnLabel} Name`,
|
|
3941
3941
|
placeholder: `Enter ${kindNoun ?? columnLabel.toLowerCase()} name...`,
|
|
@@ -3945,7 +3945,7 @@ function ConnectedTagForm({
|
|
|
3945
3945
|
}
|
|
3946
3946
|
),
|
|
3947
3947
|
kinds.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3948
|
-
|
|
3948
|
+
chunkERDQ4DAX_cjs.TagFormSelectField,
|
|
3949
3949
|
{
|
|
3950
3950
|
label: "Kind",
|
|
3951
3951
|
testId: "inline-tag-form-kind-field",
|
|
@@ -3960,7 +3960,7 @@ function ConnectedTagForm({
|
|
|
3960
3960
|
}
|
|
3961
3961
|
),
|
|
3962
3962
|
kind === "annotation" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3963
|
-
|
|
3963
|
+
chunkERDQ4DAX_cjs.TagFormSelectField,
|
|
3964
3964
|
{
|
|
3965
3965
|
label: group === "annotation" ? "Value type" : "Field Type",
|
|
3966
3966
|
testId: "inline-tag-form-type-field",
|
|
@@ -3972,7 +3972,7 @@ function ConnectedTagForm({
|
|
|
3972
3972
|
}
|
|
3973
3973
|
),
|
|
3974
3974
|
showParentPicker && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3975
|
-
|
|
3975
|
+
chunkERDQ4DAX_cjs.TagFormSelectField,
|
|
3976
3976
|
{
|
|
3977
3977
|
label: "Nested Under",
|
|
3978
3978
|
value: parentId,
|
|
@@ -3994,14 +3994,14 @@ function ConnectedTagForm({
|
|
|
3994
3994
|
]
|
|
3995
3995
|
}
|
|
3996
3996
|
),
|
|
3997
|
-
nestingEnabled && hasChildren && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3997
|
+
nestingEnabled && hasChildren && /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.TagFormNote, { testId: "inline-tag-form-parent-locked", children: [
|
|
3998
3998
|
"Other fields are nested under this one, so it cannot itself be nested \u2014 fields nest",
|
|
3999
3999
|
" ",
|
|
4000
4000
|
browser.TAG_NESTING_MAX_DEPTH,
|
|
4001
4001
|
" levels deep."
|
|
4002
4002
|
] }),
|
|
4003
4003
|
tagType === "select" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4004
|
-
|
|
4004
|
+
chunkERDQ4DAX_cjs.TagFormOptionsEditor,
|
|
4005
4005
|
{
|
|
4006
4006
|
label: "Options",
|
|
4007
4007
|
options: options2,
|
|
@@ -4014,7 +4014,7 @@ function ConnectedTagForm({
|
|
|
4014
4014
|
}
|
|
4015
4015
|
),
|
|
4016
4016
|
tagType === "text" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4017
|
-
|
|
4017
|
+
chunkERDQ4DAX_cjs.TagFormInstructionField,
|
|
4018
4018
|
{
|
|
4019
4019
|
label: "AI Instruction",
|
|
4020
4020
|
optionalLabel: "(optional)",
|
|
@@ -4024,12 +4024,12 @@ function ConnectedTagForm({
|
|
|
4024
4024
|
onChange: setInstruction
|
|
4025
4025
|
}
|
|
4026
4026
|
),
|
|
4027
|
-
metaLines.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4027
|
+
metaLines.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.TagFormMeta, { lines: metaLines }),
|
|
4028
4028
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4029
|
-
|
|
4029
|
+
chunkERDQ4DAX_cjs.TagFormFooter,
|
|
4030
4030
|
{
|
|
4031
4031
|
sharedToggle: isCreate || !group ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
4032
|
-
|
|
4032
|
+
chunkERDQ4DAX_cjs.TagFormSharedToggle,
|
|
4033
4033
|
{
|
|
4034
4034
|
label: "Shared with workspace",
|
|
4035
4035
|
toggle: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4269,7 +4269,7 @@ function KindSection({
|
|
|
4269
4269
|
{
|
|
4270
4270
|
testId: `tags-kind-${kind}`,
|
|
4271
4271
|
title: ui.tagKindTitle(kind, { plural: true }),
|
|
4272
|
-
description:
|
|
4272
|
+
description: chunk4VSRSF4Q_cjs.tagKindDescription(kind),
|
|
4273
4273
|
children: [
|
|
4274
4274
|
browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4275
4275
|
"p",
|
|
@@ -4279,9 +4279,9 @@ function KindSection({
|
|
|
4279
4279
|
children: [
|
|
4280
4280
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
|
|
4281
4281
|
"Extracting ",
|
|
4282
|
-
|
|
4282
|
+
chunk4VSRSF4Q_cjs.entitiesPhrase().toLowerCase(),
|
|
4283
4283
|
" from ",
|
|
4284
|
-
|
|
4284
|
+
chunk4VSRSF4Q_cjs.documentCount(extractingCount),
|
|
4285
4285
|
"\u2026"
|
|
4286
4286
|
]
|
|
4287
4287
|
}
|
|
@@ -4299,7 +4299,7 @@ function KindSection({
|
|
|
4299
4299
|
onOpenTag: ctx.onOpenTag,
|
|
4300
4300
|
onOpenRow: ctx.onOpenTag,
|
|
4301
4301
|
onOpenTaggedItems: ctx.onOpenTaggedItems,
|
|
4302
|
-
labels:
|
|
4302
|
+
labels: chunk4VSRSF4Q_cjs.tagTableLabels(kind),
|
|
4303
4303
|
testId: `tags-table-${kind}`
|
|
4304
4304
|
}
|
|
4305
4305
|
)
|
|
@@ -4407,15 +4407,15 @@ function TagSection({
|
|
|
4407
4407
|
onOpenTag: ctx.onOpenTag,
|
|
4408
4408
|
onOpenRow: ctx.onOpenTag,
|
|
4409
4409
|
onOpenTaggedItems: ctx.onOpenTaggedItems,
|
|
4410
|
-
labels:
|
|
4410
|
+
labels: chunk4VSRSF4Q_cjs.tagTableLabels(tag.kind),
|
|
4411
4411
|
testId: "tags-rows"
|
|
4412
4412
|
}
|
|
4413
4413
|
),
|
|
4414
4414
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4415
|
-
|
|
4415
|
+
chunk4VSRSF4Q_cjs.TagDetail,
|
|
4416
4416
|
{
|
|
4417
4417
|
onOpenTaggedItems: ctx.onOpenTaggedItems,
|
|
4418
|
-
fieldLabels:
|
|
4418
|
+
fieldLabels: chunk4VSRSF4Q_cjs.tagTableLabels(tag.kind),
|
|
4419
4419
|
row: detailRow,
|
|
4420
4420
|
fields: schema.data?.fields ?? [],
|
|
4421
4421
|
isLoading: detail.isLoading,
|
|
@@ -4423,7 +4423,7 @@ function TagSection({
|
|
|
4423
4423
|
tags: tagOptions,
|
|
4424
4424
|
onOpenTag: ctx.onOpenTag,
|
|
4425
4425
|
onChangeValue: (id, fieldId, value) => setValues.mutateAsync({ tagId: id, values: { [fieldId]: value } }).catch((e) => notify17(browser.refusalReason(e, "Could not save the value"), "error")),
|
|
4426
|
-
labels:
|
|
4426
|
+
labels: chunk4VSRSF4Q_cjs.tagDetailLabels(),
|
|
4427
4427
|
testId: "tags-detail"
|
|
4428
4428
|
}
|
|
4429
4429
|
)
|
|
@@ -4446,9 +4446,9 @@ var TAG_FILTER_FIELDS = [
|
|
|
4446
4446
|
function ConnectedTagsPage() {
|
|
4447
4447
|
const { confirm, notify: notify17, openSmartSearch } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
4448
4448
|
const onOpenTaggedItems = useOpenTaggedContent();
|
|
4449
|
-
const setReviewOpen =
|
|
4450
|
-
const setReviewRun =
|
|
4451
|
-
const reviewOpen =
|
|
4449
|
+
const setReviewOpen = chunkHJBVSG6H_cjs.useAiReviewStore((state) => state.setOpen);
|
|
4450
|
+
const setReviewRun = chunkHJBVSG6H_cjs.useAiReviewStore((state) => state.setRun);
|
|
4451
|
+
const reviewOpen = chunkHJBVSG6H_cjs.useAiReviewStore((state) => state.open);
|
|
4452
4452
|
const [review, setReview] = react$1.useState(null);
|
|
4453
4453
|
const { data: tags } = chunkXJM3RDLO_cjs.useConnectedTags();
|
|
4454
4454
|
const { data: documents } = chunkXJM3RDLO_cjs.useConnectedDocuments();
|
|
@@ -4473,7 +4473,7 @@ function ConnectedTagsPage() {
|
|
|
4473
4473
|
[documents]
|
|
4474
4474
|
);
|
|
4475
4475
|
const docOf = (id) => docsById.get(id);
|
|
4476
|
-
const
|
|
4476
|
+
const matches2 = react$1.useMemo(
|
|
4477
4477
|
() => tagCombinationMatches(combination, {
|
|
4478
4478
|
documents: documents.map((d) => ({
|
|
4479
4479
|
id: d.external_id,
|
|
@@ -4498,7 +4498,7 @@ function ConnectedTagsPage() {
|
|
|
4498
4498
|
const onDelete = async (t) => {
|
|
4499
4499
|
const nested = browser.getChildTags([...tags], t.external_id);
|
|
4500
4500
|
const uses = browser.tagUseCount(t);
|
|
4501
|
-
const n2 =
|
|
4501
|
+
const n2 = chunk4VSRSF4Q_cjs.tagsPageNouns();
|
|
4502
4502
|
const tagNoun = (count2) => (count2 === 1 ? n2.tag : n2.tags).toLowerCase();
|
|
4503
4503
|
const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
|
|
4504
4504
|
const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
|
|
@@ -4519,11 +4519,11 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4519
4519
|
try {
|
|
4520
4520
|
await extract.mutateAsync(docIds);
|
|
4521
4521
|
notify17(
|
|
4522
|
-
`Extracting ${
|
|
4522
|
+
`Extracting ${chunk4VSRSF4Q_cjs.entitiesPhrase().toLowerCase()} from ${chunk4VSRSF4Q_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
|
|
4523
4523
|
"info"
|
|
4524
4524
|
);
|
|
4525
4525
|
} catch (error) {
|
|
4526
|
-
notify17(browser.refusalReason(error, `Could not extract ${
|
|
4526
|
+
notify17(browser.refusalReason(error, `Could not extract ${chunk4VSRSF4Q_cjs.entitiesPhrase().toLowerCase()}`), "error");
|
|
4527
4527
|
throw error;
|
|
4528
4528
|
}
|
|
4529
4529
|
};
|
|
@@ -4533,14 +4533,14 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4533
4533
|
ui.tagKindNouns(view).singular
|
|
4534
4534
|
] });
|
|
4535
4535
|
const ctx = {
|
|
4536
|
-
filter: { matches, text: filterText, fields: filterFields },
|
|
4536
|
+
filter: { matches: matches2, text: filterText, fields: filterFields },
|
|
4537
4537
|
onOpenTag: openTag,
|
|
4538
4538
|
onOpenTaggedItems
|
|
4539
4539
|
};
|
|
4540
|
-
const n =
|
|
4540
|
+
const n = chunk4VSRSF4Q_cjs.tagsPageNouns();
|
|
4541
4541
|
const action = view === "person" || view === "organisation" ? {
|
|
4542
4542
|
label: "Extract",
|
|
4543
|
-
title: `Extract ${
|
|
4543
|
+
title: `Extract ${chunk4VSRSF4Q_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
|
|
4544
4544
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
|
|
4545
4545
|
run: () => setExtracting(true),
|
|
4546
4546
|
testId: "tags-extract-entities"
|
|
@@ -4594,7 +4594,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4594
4594
|
onTabChange: () => {
|
|
4595
4595
|
},
|
|
4596
4596
|
variant: "underline",
|
|
4597
|
-
firstTabContent: tag ? void 0 : /* @__PURE__ */ jsxRuntime.jsx(
|
|
4597
|
+
firstTabContent: tag ? void 0 : /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FilesFilterBar, { className: "flex-none", "data-testid": "tags-header-actions", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4598
4598
|
chunk6UZC4XVV_cjs.FilterInput,
|
|
4599
4599
|
{
|
|
4600
4600
|
value: filterText,
|
|
@@ -4616,7 +4616,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4616
4616
|
filter: tagFilter
|
|
4617
4617
|
}
|
|
4618
4618
|
) }),
|
|
4619
|
-
centerContent: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4619
|
+
centerContent: /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FilesViewCenter, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4620
4620
|
chunkSNUBQMIS_cjs.ViewToggle,
|
|
4621
4621
|
{
|
|
4622
4622
|
options: browser.TAG_KINDS.map((k) => ({
|
|
@@ -4709,7 +4709,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4709
4709
|
}
|
|
4710
4710
|
),
|
|
4711
4711
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4712
|
-
|
|
4712
|
+
chunk4VSRSF4Q_cjs.ExtractEntitiesDialog,
|
|
4713
4713
|
{
|
|
4714
4714
|
open: extracting,
|
|
4715
4715
|
onOpenChange: setExtracting,
|
|
@@ -5297,7 +5297,7 @@ function ConnectedExportPanel({
|
|
|
5297
5297
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full", "data-testid": "export-documents", children: [
|
|
5298
5298
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 overflow-auto space-y-6 p-6", children: [
|
|
5299
5299
|
jobRunning && job && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5300
|
-
|
|
5300
|
+
chunkERDQ4DAX_cjs.TransferProgressView,
|
|
5301
5301
|
{
|
|
5302
5302
|
title: `${job.mode === "move" ? "Moving" : "Copying"} to ${targetName(job.target_workspace_ext_id)}`,
|
|
5303
5303
|
processed: job.processed ?? 0,
|
|
@@ -5310,7 +5310,7 @@ function ConnectedExportPanel({
|
|
|
5310
5310
|
),
|
|
5311
5311
|
jobDone && job && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5312
5312
|
react.isTransferResumable(job) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5313
|
-
|
|
5313
|
+
chunkERDQ4DAX_cjs.TransferResumeBanner,
|
|
5314
5314
|
{
|
|
5315
5315
|
message: `Stopped at ${job.processed} of ${job.total}. Resume to finish \u2014 nothing is copied twice.`,
|
|
5316
5316
|
onResume: () => handleResume(job),
|
|
@@ -5318,7 +5318,7 @@ function ConnectedExportPanel({
|
|
|
5318
5318
|
}
|
|
5319
5319
|
),
|
|
5320
5320
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5321
|
-
|
|
5321
|
+
chunkERDQ4DAX_cjs.ExportResultsReport,
|
|
5322
5322
|
{
|
|
5323
5323
|
summary: `${job.mode === "move" ? "Moved" : "Copied"} ${plural3(
|
|
5324
5324
|
Number(job.counts?.copied ?? 0) + Number(job.counts?.removed ?? 0),
|
|
@@ -5331,7 +5331,7 @@ function ConnectedExportPanel({
|
|
|
5331
5331
|
] }),
|
|
5332
5332
|
!jobId && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5333
5333
|
resumable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5334
|
-
|
|
5334
|
+
chunkERDQ4DAX_cjs.TransferResumeBanner,
|
|
5335
5335
|
{
|
|
5336
5336
|
message: `A ${resumable.mode} to ${targetName(resumable.target_workspace_ext_id)} stopped at ${resumable.processed} of ${resumable.total}.`,
|
|
5337
5337
|
onResume: () => handleResume(resumable),
|
|
@@ -5339,7 +5339,7 @@ function ConnectedExportPanel({
|
|
|
5339
5339
|
}
|
|
5340
5340
|
),
|
|
5341
5341
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5342
|
-
|
|
5342
|
+
chunkERDQ4DAX_cjs.TransferScopeChooser,
|
|
5343
5343
|
{
|
|
5344
5344
|
scope: scopeChoice,
|
|
5345
5345
|
onScopeChange: setScopeChoice,
|
|
@@ -5350,7 +5350,7 @@ function ConnectedExportPanel({
|
|
|
5350
5350
|
}
|
|
5351
5351
|
),
|
|
5352
5352
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5353
|
-
|
|
5353
|
+
chunkERDQ4DAX_cjs.TransferKindsPicker,
|
|
5354
5354
|
{
|
|
5355
5355
|
options: ALL_KINDS.map((kind) => ({
|
|
5356
5356
|
kind,
|
|
@@ -5363,9 +5363,9 @@ function ConnectedExportPanel({
|
|
|
5363
5363
|
)
|
|
5364
5364
|
}
|
|
5365
5365
|
),
|
|
5366
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5366
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.TransferReferencesChooser, { value: references, onChange: setReferences }),
|
|
5367
5367
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5368
|
-
|
|
5368
|
+
chunkERDQ4DAX_cjs.ExportMethodChooser,
|
|
5369
5369
|
{
|
|
5370
5370
|
mode,
|
|
5371
5371
|
onModeChange: setMode,
|
|
@@ -5377,17 +5377,17 @@ function ConnectedExportPanel({
|
|
|
5377
5377
|
),
|
|
5378
5378
|
mode !== "download" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5379
5379
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5380
|
-
|
|
5380
|
+
chunkERDQ4DAX_cjs.ExportWorkspacePicker,
|
|
5381
5381
|
{
|
|
5382
5382
|
workspaces: workspaceOptions,
|
|
5383
5383
|
selectedId: targetId,
|
|
5384
5384
|
onSelect: setTargetId
|
|
5385
5385
|
}
|
|
5386
5386
|
),
|
|
5387
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5387
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.TransferConflictChooser, { value: conflict, onChange: setConflict })
|
|
5388
5388
|
] }),
|
|
5389
5389
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5390
|
-
|
|
5390
|
+
chunkERDQ4DAX_cjs.TransferPlanSummary,
|
|
5391
5391
|
{
|
|
5392
5392
|
lines: summary.lines,
|
|
5393
5393
|
warnings: summary.warnings,
|
|
@@ -5404,7 +5404,7 @@ function ConnectedExportPanel({
|
|
|
5404
5404
|
] })
|
|
5405
5405
|
] }),
|
|
5406
5406
|
!jobId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5407
|
-
|
|
5407
|
+
chunkERDQ4DAX_cjs.ExportFooter,
|
|
5408
5408
|
{
|
|
5409
5409
|
onCancel: onClose,
|
|
5410
5410
|
onSubmit: handleSubmit,
|
|
@@ -5445,7 +5445,7 @@ function OpenExportDialog({
|
|
|
5445
5445
|
children: [
|
|
5446
5446
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkULWRNGGE_cjs.ModalHeader, { children: [
|
|
5447
5447
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5448
|
-
|
|
5448
|
+
chunkERDQ4DAX_cjs.ExportModalTitle,
|
|
5449
5449
|
{
|
|
5450
5450
|
workspace: workspace ? {
|
|
5451
5451
|
icon: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "touch-hit inline-flex", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -5662,7 +5662,7 @@ function useFieldWrites({
|
|
|
5662
5662
|
const createTag = react.useCreateTag();
|
|
5663
5663
|
const updateTag = react.useUpdateTag();
|
|
5664
5664
|
const deleteTag = react.useDeleteTag();
|
|
5665
|
-
const
|
|
5665
|
+
const create3 = react$1.useCallback(
|
|
5666
5666
|
async (data) => {
|
|
5667
5667
|
let created;
|
|
5668
5668
|
try {
|
|
@@ -5768,7 +5768,7 @@ ${nested.length} nested ${nested.length === 1 ? "field moves" : "fields move"} t
|
|
|
5768
5768
|
},
|
|
5769
5769
|
[confirm, notify17, deleteTag, tags, workspaceTags, nouns]
|
|
5770
5770
|
);
|
|
5771
|
-
return { create:
|
|
5771
|
+
return { create: create3, update, rename, toggleShared, removeMany };
|
|
5772
5772
|
}
|
|
5773
5773
|
var ownFieldsExport = (props) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedExportDialog, { ...props, entityType: "TAG", testId: "export-fields-modal" });
|
|
5774
5774
|
function ConnectedFieldsEditor({
|
|
@@ -5862,7 +5862,7 @@ function ConnectedFieldsEditor({
|
|
|
5862
5862
|
const [sortBy, setSortBy] = react$1.useState("name-asc");
|
|
5863
5863
|
const [filterText, setFilterText] = react$1.useState("");
|
|
5864
5864
|
const fieldRows = react$1.useMemo(
|
|
5865
|
-
() => browser.flattenTagTree(
|
|
5865
|
+
() => browser.flattenTagTree(chunkERDQ4DAX_cjs.sortFields(chunkERDQ4DAX_cjs.filterFieldsByName(tags, filterText), sortBy)),
|
|
5866
5866
|
[tags, filterText, sortBy]
|
|
5867
5867
|
);
|
|
5868
5868
|
const exportItems = react$1.useMemo(
|
|
@@ -5882,7 +5882,7 @@ function ConnectedFieldsEditor({
|
|
|
5882
5882
|
setIsDeleting(false);
|
|
5883
5883
|
}
|
|
5884
5884
|
};
|
|
5885
|
-
const copy =
|
|
5885
|
+
const copy = chunkERDQ4DAX_cjs.fieldsApplyBarCopy({
|
|
5886
5886
|
nouns,
|
|
5887
5887
|
targetNoun,
|
|
5888
5888
|
fieldCount,
|
|
@@ -5891,9 +5891,9 @@ function ConnectedFieldsEditor({
|
|
|
5891
5891
|
isApplying,
|
|
5892
5892
|
isClearing
|
|
5893
5893
|
});
|
|
5894
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5894
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FieldsEditorRoot, { children: [
|
|
5895
5895
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5896
|
-
|
|
5896
|
+
chunkERDQ4DAX_cjs.FieldsEditorToolbar,
|
|
5897
5897
|
{
|
|
5898
5898
|
nouns,
|
|
5899
5899
|
onNew: () => {
|
|
@@ -5921,11 +5921,11 @@ function ConnectedFieldsEditor({
|
|
|
5921
5921
|
onSortByChange: setSortBy
|
|
5922
5922
|
}
|
|
5923
5923
|
),
|
|
5924
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5924
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FieldsEditorList, { children: [
|
|
5925
5925
|
fieldRows.map(({ tag, depth, childCount }) => {
|
|
5926
5926
|
const isEditingThis = editingTagId === tag.external_id;
|
|
5927
5927
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5928
|
-
|
|
5928
|
+
chunkERDQ4DAX_cjs.FieldRow,
|
|
5929
5929
|
{
|
|
5930
5930
|
tagId: tag.external_id,
|
|
5931
5931
|
name: tag.name,
|
|
@@ -5978,10 +5978,10 @@ function ConnectedFieldsEditor({
|
|
|
5978
5978
|
tag.external_id
|
|
5979
5979
|
);
|
|
5980
5980
|
}),
|
|
5981
|
-
fieldRows.length === 0 && !isCreatingTag && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5981
|
+
fieldRows.length === 0 && !isCreatingTag && /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FieldsEmptyState, { children: chunkERDQ4DAX_cjs.fieldsEmptyText({ nouns, filterText, hasKind: !!kind }) })
|
|
5982
5982
|
] }),
|
|
5983
5983
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5984
|
-
|
|
5984
|
+
chunkERDQ4DAX_cjs.FieldsApplyBar,
|
|
5985
5985
|
{
|
|
5986
5986
|
hint: copy.hint,
|
|
5987
5987
|
applyLabel: copy.applyLabel,
|
|
@@ -6057,8 +6057,8 @@ function ConnectedFieldsManager({
|
|
|
6057
6057
|
}
|
|
6058
6058
|
);
|
|
6059
6059
|
const body = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6060
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6061
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6060
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FieldsManagerDefinition, { children: DEFINITIONS[activeKind] }),
|
|
6061
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FieldsManagerBody, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6062
6062
|
ConnectedFieldsEditor,
|
|
6063
6063
|
{
|
|
6064
6064
|
group: activeKind,
|
|
@@ -6070,7 +6070,7 @@ function ConnectedFieldsManager({
|
|
|
6070
6070
|
] });
|
|
6071
6071
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full", children: [
|
|
6072
6072
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.DraggableHeader, { children: [
|
|
6073
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6073
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FieldsManagerTitle, { title, className: "px-4 pt-3.5 pb-2" }),
|
|
6074
6074
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3", children: tabHeader })
|
|
6075
6075
|
] }),
|
|
6076
6076
|
body
|
|
@@ -6099,7 +6099,7 @@ function ConnectedFieldsManagerPanel({
|
|
|
6099
6099
|
const [createRequest, setCreateRequest] = react.useTransientView(FIELDS_MANAGER_CREATE_VIEW, 0);
|
|
6100
6100
|
const [kind, setKind] = react.useTransientView(FIELDS_MANAGER_KIND_VIEW, "label");
|
|
6101
6101
|
const documentIds = react.useArbiSessionState((s) => s.selectedDocumentIds);
|
|
6102
|
-
const reviewing =
|
|
6102
|
+
const reviewing = chunkHJBVSG6H_cjs.useFilesPrefs((state) => chunkHJBVSG6H_cjs.filesViewMode(state) === "navigator");
|
|
6103
6103
|
const viewingId = react.useArbiSessionState((s) => s.viewingDocument?.id ?? null);
|
|
6104
6104
|
const reviewingId = reviewing ? viewingId : null;
|
|
6105
6105
|
const handleClose = react$1.useCallback(() => {
|
|
@@ -6140,7 +6140,7 @@ function ConnectedFieldsManagerPanel({
|
|
|
6140
6140
|
onAnnotationCreated,
|
|
6141
6141
|
onAiFieldsApplied: (result) => {
|
|
6142
6142
|
session.closePanel(FIELDS_MANAGER_PANEL);
|
|
6143
|
-
const review =
|
|
6143
|
+
const review = chunkHJBVSG6H_cjs.useAiReviewStore.getState();
|
|
6144
6144
|
review.setRun(result);
|
|
6145
6145
|
review.setOpen(true);
|
|
6146
6146
|
}
|
|
@@ -6515,7 +6515,7 @@ var factNouns = () => ({
|
|
|
6515
6515
|
function useWorkspaceAsk() {
|
|
6516
6516
|
const { openNewConversation, openFiles } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
6517
6517
|
const { workspaceId } = chunk7UAAMA5U_cjs.useConnectedWorkspace();
|
|
6518
|
-
const setFilesViewMode =
|
|
6518
|
+
const setFilesViewMode = chunkHJBVSG6H_cjs.useFilesPrefs((state) => state.setViewMode);
|
|
6519
6519
|
const ask = react$1.useCallback(
|
|
6520
6520
|
(text) => openNewConversation({ prompt: text, keepDocumentOpen: true }),
|
|
6521
6521
|
[openNewConversation]
|
|
@@ -7043,7 +7043,7 @@ function useFactFilters(notes, view, chat) {
|
|
|
7043
7043
|
(selected, setSelected, opts) => {
|
|
7044
7044
|
const applied = new Set(selected);
|
|
7045
7045
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkYMNKMIFG_cjs.FactFieldRow, { label: "Labels", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7046
|
-
|
|
7046
|
+
chunkERDQ4DAX_cjs.FieldLabelsSelect,
|
|
7047
7047
|
{
|
|
7048
7048
|
options: labelOptions,
|
|
7049
7049
|
appliedIds: applied,
|
|
@@ -7270,7 +7270,7 @@ var FactHeader = react$1.memo(function FactHeader2({
|
|
|
7270
7270
|
if (params.enableSorting) params.progressSort(e.shiftKey);
|
|
7271
7271
|
},
|
|
7272
7272
|
children: [
|
|
7273
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7273
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FilterButton, { params, colId }),
|
|
7274
7274
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "order-2 min-w-0 flex-1 truncate", children: params.displayName }),
|
|
7275
7275
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ag-sort-indicator-container order-2 flex-shrink-0", "aria-hidden": "true", children: [
|
|
7276
7276
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -7542,7 +7542,7 @@ function useFactsPageView() {
|
|
|
7542
7542
|
"facts.searchFields",
|
|
7543
7543
|
DEFAULT_SEARCH_FIELDS
|
|
7544
7544
|
);
|
|
7545
|
-
const rowHeight = react.useArbiSessionState((s) => s.grid.rowHeights[FACTS_GRID_ID] ??
|
|
7545
|
+
const rowHeight = react.useArbiSessionState((s) => s.grid.rowHeights[FACTS_GRID_ID] ?? chunkERDQ4DAX_cjs.ROW_MIN);
|
|
7546
7546
|
const labelWidth = react.useArbiSessionState(
|
|
7547
7547
|
(s) => s.grid.labelWidths[FACTS_GRID_ID] ?? DEFAULT_TIMELINE_LABEL_WIDTH
|
|
7548
7548
|
);
|
|
@@ -7776,7 +7776,7 @@ function ConnectedFactsPage() {
|
|
|
7776
7776
|
const view = pageView.view;
|
|
7777
7777
|
const setView = pageView.setView;
|
|
7778
7778
|
const openLabels = () => openFieldsManagerIn(session, "label");
|
|
7779
|
-
const factsRowHeight = pageView.rowHeight ===
|
|
7779
|
+
const factsRowHeight = pageView.rowHeight === chunkERDQ4DAX_cjs.ROW_MIN ? chunkERDQ4DAX_cjs.ROW_MIN : chunkERDQ4DAX_cjs.rowHeightForLines(chunkERDQ4DAX_cjs.linesForRowHeight(pageView.rowHeight));
|
|
7780
7780
|
const [isExportOpen, setIsExportOpen] = react$1.useState(false);
|
|
7781
7781
|
const [filterOpen, setFilterOpen] = react$1.useState(false);
|
|
7782
7782
|
const [factSection, setFactSection] = react$1.useState(null);
|
|
@@ -7829,7 +7829,7 @@ function ConnectedFactsPage() {
|
|
|
7829
7829
|
onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
|
|
7830
7830
|
navSlotRef: setNavSlot,
|
|
7831
7831
|
navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7832
|
-
|
|
7832
|
+
chunk4VSRSF4Q_cjs.GridRowNavigator,
|
|
7833
7833
|
{
|
|
7834
7834
|
gridApi,
|
|
7835
7835
|
selectedId: editingId,
|
|
@@ -7842,7 +7842,7 @@ function ConnectedFactsPage() {
|
|
|
7842
7842
|
tools: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
7843
7843
|
view === "table" && /* @__PURE__ */ jsxRuntime.jsx(chunkYMNKMIFG_cjs.FactsFieldsButton, { getGridApi: () => gridApiRef.current }),
|
|
7844
7844
|
view === "table" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7845
|
-
|
|
7845
|
+
chunkERDQ4DAX_cjs.RowDensityControl,
|
|
7846
7846
|
{
|
|
7847
7847
|
rowHeight: factsRowHeight,
|
|
7848
7848
|
onRowHeightChange: pageView.setRowHeight,
|
|
@@ -8106,7 +8106,7 @@ function useConnectedShellWorkspaces(options2 = {}) {
|
|
|
8106
8106
|
function ConnectedSsoDisconnect() {
|
|
8107
8107
|
const { client } = react.useAccountClient();
|
|
8108
8108
|
const { data: profile } = react.useProfile();
|
|
8109
|
-
const auth =
|
|
8109
|
+
const auth = chunkMM5Q7AJL_cjs.useAuthPages();
|
|
8110
8110
|
const { notify: notify17 } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
8111
8111
|
const [open, setOpen] = react$1.useState(false);
|
|
8112
8112
|
const [step, setStep] = react$1.useState("email");
|
|
@@ -8284,14 +8284,14 @@ function ConnectedAccountSettings({
|
|
|
8284
8284
|
}) {
|
|
8285
8285
|
const [logoutOpen, setLogoutOpen] = react$1.useState(false);
|
|
8286
8286
|
return /* @__PURE__ */ jsxRuntime.jsxs(chunkQQMMCXBP_cjs.SettingsPanel, { className: "max-w-2xl", children: [
|
|
8287
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8287
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedProfileCard, { avatarClassName, nameBadge: profileBadge }),
|
|
8288
8288
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedBoxPortalSection, {}),
|
|
8289
8289
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkQQMMCXBP_cjs.SettingsDisclosure, { title: "More", testId: "account-more-settings", children: [
|
|
8290
8290
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedSsoDisconnect, {}),
|
|
8291
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8291
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedSecuritySection, { children: securityRows }),
|
|
8292
8292
|
moreSettings,
|
|
8293
8293
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8294
|
-
|
|
8294
|
+
chunkMM5Q7AJL_cjs.ConnectedIdentityVerification,
|
|
8295
8295
|
{
|
|
8296
8296
|
collapsible: true,
|
|
8297
8297
|
onManageBilling,
|
|
@@ -8301,7 +8301,7 @@ function ConnectedAccountSettings({
|
|
|
8301
8301
|
] }),
|
|
8302
8302
|
/* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Wifi, {}), title: "Session", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkQQMMCXBP_cjs.SettingsCard, { children: [
|
|
8303
8303
|
connection && /* @__PURE__ */ jsxRuntime.jsx(ServerConnectionRow, { ...connection }),
|
|
8304
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8304
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedSessionsRow, { renderSessionIcon }),
|
|
8305
8305
|
/* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsRow, { label: "Logout", description: "Sign out of your account on this device.", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8306
8306
|
ui.Button,
|
|
8307
8307
|
{
|
|
@@ -8318,9 +8318,9 @@ function ConnectedAccountSettings({
|
|
|
8318
8318
|
}
|
|
8319
8319
|
) })
|
|
8320
8320
|
] }) }),
|
|
8321
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8321
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedDangerZone, { renderSubscriptionLink }),
|
|
8322
8322
|
!onLogout && /* @__PURE__ */ jsxRuntime.jsx(
|
|
8323
|
-
|
|
8323
|
+
chunkMM5Q7AJL_cjs.ConnectedLogoutDialog,
|
|
8324
8324
|
{
|
|
8325
8325
|
open: logoutOpen,
|
|
8326
8326
|
onClose: () => setLogoutOpen(false),
|
|
@@ -8661,7 +8661,7 @@ function ConnectedPrivacySettings({
|
|
|
8661
8661
|
}
|
|
8662
8662
|
)
|
|
8663
8663
|
] }) }),
|
|
8664
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8664
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedNotificationPreferences, {})
|
|
8665
8665
|
] });
|
|
8666
8666
|
}
|
|
8667
8667
|
var PROVIDER_NAMES = {
|
|
@@ -10642,7 +10642,7 @@ function ConnectedRecoveryKeyDialog({
|
|
|
10642
10642
|
const arbi = react.useArbi();
|
|
10643
10643
|
const { user, isSso: isSsoMode } = react.useArbiSession();
|
|
10644
10644
|
const userEmail = user?.email;
|
|
10645
|
-
const sso =
|
|
10645
|
+
const sso = chunkMM5Q7AJL_cjs.useSsoSignIn();
|
|
10646
10646
|
const handleVerify = async () => {
|
|
10647
10647
|
setError(null);
|
|
10648
10648
|
if (!password) {
|
|
@@ -11354,7 +11354,7 @@ function ConnectedWorkspaceMembers({
|
|
|
11354
11354
|
const remove = react.useRemoveWorkspaceMembers(workspace.external_id);
|
|
11355
11355
|
const memberWord = (count2) => ui.getEntityLabel("WORKSPACEUSER", count2 === 1 ? "SINGULAR" : "PLURAL");
|
|
11356
11356
|
const workspaceWord2 = ui.getEntityLabel("WORKSPACE").toLowerCase();
|
|
11357
|
-
const
|
|
11357
|
+
const inWorkspace2 = `"${workspace.name}"`;
|
|
11358
11358
|
const setRoles = async (rows2, role) => {
|
|
11359
11359
|
const single = rows2.length === 1 ? memberName(rows2[0].user) : null;
|
|
11360
11360
|
try {
|
|
@@ -11483,7 +11483,7 @@ function ConnectedWorkspaceMembers({
|
|
|
11483
11483
|
const members2 = ui.getEntityLabel("WORKSPACEUSER", "PLURAL").toLowerCase();
|
|
11484
11484
|
const confirmed = await confirm({
|
|
11485
11485
|
title: `Remove ${count2} ${memberWord(count2)}`,
|
|
11486
|
-
message: `Remove ${names} from ${
|
|
11486
|
+
message: `Remove ${names} from ${inWorkspace2}?
|
|
11487
11487
|
|
|
11488
11488
|
Note that ${members2} may have saved private content in the ${workspaceWord2} that you cannot see. Once removed they immediately lose access to any content in the ${workspaceWord2}.`
|
|
11489
11489
|
});
|
|
@@ -11491,9 +11491,9 @@ Note that ${members2} may have saved private content in the ${workspaceWord2} th
|
|
|
11491
11491
|
try {
|
|
11492
11492
|
await remove.mutateAsync(selected.map((m) => m.user.external_id));
|
|
11493
11493
|
setSelected([]);
|
|
11494
|
-
notify17(`Removed ${names} from ${
|
|
11494
|
+
notify17(`Removed ${names} from ${inWorkspace2}`, "success");
|
|
11495
11495
|
} catch {
|
|
11496
|
-
notify17(`Failed to remove some users from ${
|
|
11496
|
+
notify17(`Failed to remove some users from ${inWorkspace2}`, "error");
|
|
11497
11497
|
}
|
|
11498
11498
|
};
|
|
11499
11499
|
const changeSelectedRoles = async (role) => {
|
|
@@ -12886,13 +12886,13 @@ function ConnectedWorkspaceSettings({
|
|
|
12886
12886
|
const [membersExpanded, setMembersExpanded] = react$1.useState(false);
|
|
12887
12887
|
const [shareOpen, setShareOpen] = react$1.useState(false);
|
|
12888
12888
|
if (!workspace) {
|
|
12889
|
-
return /* @__PURE__ */ jsxRuntime.jsx(chunkSOS2WASA_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
12889
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkSOS2WASA_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk4VSRSF4Q_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
|
|
12890
12890
|
}
|
|
12891
12891
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12892
12892
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkSOS2WASA_cjs.WorkspacePageFrame, { testId, children: [
|
|
12893
12893
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkSOS2WASA_cjs.WorkspaceIdentityPanel, { children: [
|
|
12894
12894
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12895
|
-
|
|
12895
|
+
chunk4VSRSF4Q_cjs.EntityIdentityBar,
|
|
12896
12896
|
{
|
|
12897
12897
|
testId: "workspace-identity-bar",
|
|
12898
12898
|
canEdit: isOwner,
|
|
@@ -12909,7 +12909,7 @@ function ConnectedWorkspaceSettings({
|
|
|
12909
12909
|
label: "Name",
|
|
12910
12910
|
value: workspace.name,
|
|
12911
12911
|
placeholder: "Untitled",
|
|
12912
|
-
maxLength:
|
|
12912
|
+
maxLength: chunk4VSRSF4Q_cjs.IDENTITY_NAME_MAX_LENGTH,
|
|
12913
12913
|
valueClassName: "truncate text-base font-semibold",
|
|
12914
12914
|
testId: "workspace-home-title",
|
|
12915
12915
|
hideLabel: true,
|
|
@@ -13771,8 +13771,8 @@ function WorkspaceCreateForm({
|
|
|
13771
13771
|
);
|
|
13772
13772
|
return;
|
|
13773
13773
|
}
|
|
13774
|
-
const
|
|
13775
|
-
const response = await
|
|
13774
|
+
const create3 = seed?.create ?? createWorkspaceMutation.mutateAsync;
|
|
13775
|
+
const response = await create3({
|
|
13776
13776
|
name: localWorkspaceName.trim(),
|
|
13777
13777
|
description: localWorkspaceDescription,
|
|
13778
13778
|
projectId: projectExtId
|
|
@@ -14547,36 +14547,36 @@ function ConnectedSharePointAdminConsentPage({
|
|
|
14547
14547
|
const result = givenResult === void 0 ? queryResult : givenResult;
|
|
14548
14548
|
const { apiBaseUrl } = chunkWGWP4ATS_cjs.useBlocksEnvironment().runtimeConfig;
|
|
14549
14549
|
const consentUrl = `${apiBaseUrl}/v1/connectors/microsoft_sharepoint/admin-consent`;
|
|
14550
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14550
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentCard, { size: "md", children: [
|
|
14551
14551
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14552
|
-
|
|
14552
|
+
chunkKBXATCF4_cjs.ConsentHeader,
|
|
14553
14553
|
{
|
|
14554
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14554
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.VendorLogo, { vendorKey: "microsoft_sharepoint", product: "sharepoint" }),
|
|
14555
14555
|
title: "Approve ARBI for SharePoint access",
|
|
14556
14556
|
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."
|
|
14557
14557
|
}
|
|
14558
14558
|
),
|
|
14559
|
-
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14560
|
-
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14561
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
14559
|
+
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_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." }),
|
|
14560
|
+
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_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." }),
|
|
14561
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentSection, { title: "What you are approving", children: [
|
|
14562
14562
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14563
|
-
|
|
14563
|
+
chunkKBXATCF4_cjs.ConsentBulletList,
|
|
14564
14564
|
{
|
|
14565
14565
|
items: [
|
|
14566
14566
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
14567
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14567
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
|
|
14568
14568
|
" \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."
|
|
14569
14569
|
] }),
|
|
14570
14570
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
14571
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14571
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
|
|
14572
14572
|
" \u2014 standard sign-in (openid, profile, email) and offline access so syncs keep working between sessions."
|
|
14573
14573
|
] })
|
|
14574
14574
|
]
|
|
14575
14575
|
}
|
|
14576
14576
|
),
|
|
14577
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14577
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_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." }),
|
|
14578
14578
|
/* @__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" }) }),
|
|
14579
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14579
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_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." })
|
|
14580
14580
|
] })
|
|
14581
14581
|
] }) });
|
|
14582
14582
|
}
|
|
@@ -17256,7 +17256,7 @@ function useConnectedWorkspaceList({
|
|
|
17256
17256
|
};
|
|
17257
17257
|
}
|
|
17258
17258
|
var WorkspaceTableView = react$1.lazy(
|
|
17259
|
-
() => import('../WorkspaceTableView-
|
|
17259
|
+
() => import('../WorkspaceTableView-ZIQ7JWT5.cjs').then((m) => ({ default: m.WorkspaceTableView }))
|
|
17260
17260
|
);
|
|
17261
17261
|
var WORKSPACES_TAB_ID = "workspaces";
|
|
17262
17262
|
var renderMember = (user, size) => /* @__PURE__ */ jsxRuntime.jsx(chunkZXSAGX67_cjs.ConnectedUserEntity, { user, size, variant: "icon" });
|
|
@@ -17316,7 +17316,7 @@ function ConnectedWorkspaceList({
|
|
|
17316
17316
|
}
|
|
17317
17317
|
);
|
|
17318
17318
|
}
|
|
17319
|
-
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
17319
|
+
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunk4VSRSF4Q_cjs.LoadingIndicator, { message: "Loading workspaces..." });
|
|
17320
17320
|
if (list.error) {
|
|
17321
17321
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
17322
17322
|
chunkJGUM4EXE_cjs.HomeLoadError,
|
|
@@ -17389,7 +17389,7 @@ function ConnectedWorkspaceList({
|
|
|
17389
17389
|
workspaceState
|
|
17390
17390
|
}
|
|
17391
17391
|
) })
|
|
17392
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17392
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk4VSRSF4Q_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkJGUM4EXE_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17393
17393
|
WorkspaceTableView,
|
|
17394
17394
|
{
|
|
17395
17395
|
list,
|
|
@@ -17579,7 +17579,7 @@ function ConnectedProjectsListPage({
|
|
|
17579
17579
|
};
|
|
17580
17580
|
const { openProject } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
17581
17581
|
const [search, setSearch] = react$1.useState("");
|
|
17582
|
-
const { projects, isLoading } =
|
|
17582
|
+
const { projects, isLoading } = chunkUSIRUI2M_cjs.useProjectSummaries();
|
|
17583
17583
|
const rows = react$1.useMemo(() => {
|
|
17584
17584
|
const q = search.trim().toLowerCase();
|
|
17585
17585
|
if (!q) return projects;
|
|
@@ -17650,7 +17650,7 @@ function ConnectedProjectsListPage({
|
|
|
17650
17650
|
}
|
|
17651
17651
|
),
|
|
17652
17652
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17653
|
-
|
|
17653
|
+
chunk4VSRSF4Q_cjs.Toolbar,
|
|
17654
17654
|
{
|
|
17655
17655
|
search,
|
|
17656
17656
|
onSearch: setSearch,
|
|
@@ -17712,7 +17712,7 @@ function ProjectDetailsForm({
|
|
|
17712
17712
|
const labels = { ...DEFAULT_PROJECT_DETAILS_LABELS, ...given };
|
|
17713
17713
|
const { notify: notify17 } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
17714
17714
|
const update = react.useUpdateProjectFields();
|
|
17715
|
-
const workspace =
|
|
17715
|
+
const workspace = chunkUSIRUI2M_cjs.primaryProjectWorkspace(project);
|
|
17716
17716
|
const { data: members = [] } = react.useWorkspaceUsers(workspace?.id);
|
|
17717
17717
|
const people = members.filter((m) => !m.user.external_id.startsWith("agt-"));
|
|
17718
17718
|
const currency = project.budget?.currency ?? "GBP";
|
|
@@ -17901,9 +17901,9 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
17901
17901
|
for (const tag of workspaceTags ?? []) map.set(tag.external_id, tag.name);
|
|
17902
17902
|
return map;
|
|
17903
17903
|
}, [workspaceTags]);
|
|
17904
|
-
const pendingFolders =
|
|
17905
|
-
const addPendingFolder =
|
|
17906
|
-
const removePendingFolder =
|
|
17904
|
+
const pendingFolders = chunkHJBVSG6H_cjs.usePendingFolders(wsId);
|
|
17905
|
+
const addPendingFolder = chunkHJBVSG6H_cjs.useFilesStore((state) => state.addPendingFolder);
|
|
17906
|
+
const removePendingFolder = chunkHJBVSG6H_cjs.useFilesStore((state) => state.removePendingFolder);
|
|
17907
17907
|
const [editingFolderPath, setEditingFolderPath] = react$1.useState(null);
|
|
17908
17908
|
const isSearching = search.trim().length > 0;
|
|
17909
17909
|
const selectedSet = react$1.useMemo(() => new Set(selectedIds), [selectedIds]);
|
|
@@ -17912,8 +17912,8 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
17912
17912
|
const { folders, files } = react$1.useMemo(() => {
|
|
17913
17913
|
const result = isSearching ? {
|
|
17914
17914
|
folders: [],
|
|
17915
|
-
files:
|
|
17916
|
-
} :
|
|
17915
|
+
files: chunkERDQ4DAX_cjs.searchExplorerDocuments(documents, search, sort)
|
|
17916
|
+
} : chunkERDQ4DAX_cjs.buildExplorerEntries(documents, currentPath, sort, [...pendingFolders]);
|
|
17917
17917
|
if (sortReversed) result.files = [...result.files].reverse();
|
|
17918
17918
|
return result;
|
|
17919
17919
|
}, [documents, currentPath, sort, isSearching, search, sortReversed, pendingFolders]);
|
|
@@ -17924,7 +17924,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
17924
17924
|
const orderedFileIds = react$1.useMemo(() => files.map((d) => d.external_id), [files]);
|
|
17925
17925
|
const folderDocs = react$1.useMemo(() => {
|
|
17926
17926
|
const map = /* @__PURE__ */ new Map();
|
|
17927
|
-
for (const f of folders) map.set(f.path.join("/"),
|
|
17927
|
+
for (const f of folders) map.set(f.path.join("/"), chunkERDQ4DAX_cjs.collectFolderDocs(documents, f.path));
|
|
17928
17928
|
return map;
|
|
17929
17929
|
}, [folders, documents]);
|
|
17930
17930
|
const folderSelection = react$1.useMemo(() => {
|
|
@@ -18072,7 +18072,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18072
18072
|
let name = base;
|
|
18073
18073
|
let i = 2;
|
|
18074
18074
|
while (siblings.has(name.toLowerCase())) name = `${base} ${i++}`;
|
|
18075
|
-
const path =
|
|
18075
|
+
const path = chunkERDQ4DAX_cjs.joinFolderPath([...currentPath, name]);
|
|
18076
18076
|
if (!path) return;
|
|
18077
18077
|
addPendingFolder(wsId, path);
|
|
18078
18078
|
setEditingFolderPath(path);
|
|
@@ -18108,10 +18108,10 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18108
18108
|
notify17(`A folder named "${name}" already exists here.`, "error");
|
|
18109
18109
|
return;
|
|
18110
18110
|
}
|
|
18111
|
-
const oldPath =
|
|
18111
|
+
const oldPath = chunkERDQ4DAX_cjs.joinFolderPath(folder.path);
|
|
18112
18112
|
const newPrefix = [...folder.path.slice(0, -1), name];
|
|
18113
|
-
const newPath =
|
|
18114
|
-
const docs =
|
|
18113
|
+
const newPath = chunkERDQ4DAX_cjs.joinFolderPath(newPrefix);
|
|
18114
|
+
const docs = chunkERDQ4DAX_cjs.collectFolderDocs(documents, folder.path);
|
|
18115
18115
|
try {
|
|
18116
18116
|
if (await renameFolder(docs, folder.path, newPrefix) > 0) {
|
|
18117
18117
|
notify17(`Renamed folder to "${name}"`, "success");
|
|
@@ -18170,7 +18170,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18170
18170
|
const handleToggleFolder = react$1.useCallback(
|
|
18171
18171
|
(folder, e) => {
|
|
18172
18172
|
e.stopPropagation();
|
|
18173
|
-
const ids =
|
|
18173
|
+
const ids = chunkERDQ4DAX_cjs.collectFolderDocs(documents, folder.path).map((d) => d.external_id);
|
|
18174
18174
|
if (ids.length === 0) return;
|
|
18175
18175
|
if (ids.every((id) => selectedSet.has(id))) {
|
|
18176
18176
|
const remove = new Set(ids);
|
|
@@ -18231,9 +18231,9 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18231
18231
|
);
|
|
18232
18232
|
const handleDelete = react$1.useCallback(
|
|
18233
18233
|
async (doc) => {
|
|
18234
|
-
const name =
|
|
18234
|
+
const name = chunkERDQ4DAX_cjs.getExplorerDisplayName(doc);
|
|
18235
18235
|
const confirmed = await confirm({
|
|
18236
|
-
message: `Delete "${name}"? ${
|
|
18236
|
+
message: `Delete "${name}"? ${chunkERDQ4DAX_cjs.RECENTLY_DELETED_HINT}`,
|
|
18237
18237
|
title: "Delete file"
|
|
18238
18238
|
});
|
|
18239
18239
|
if (!confirmed) return;
|
|
@@ -18253,7 +18253,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18253
18253
|
);
|
|
18254
18254
|
const handleFolderDownload = react$1.useCallback(
|
|
18255
18255
|
(folder) => {
|
|
18256
|
-
const docs =
|
|
18256
|
+
const docs = chunkERDQ4DAX_cjs.collectFolderDocs(documents, folder.path);
|
|
18257
18257
|
if (docs.length > 0) void downloadDocuments(docs);
|
|
18258
18258
|
},
|
|
18259
18259
|
[documents, downloadDocuments]
|
|
@@ -18262,7 +18262,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18262
18262
|
if (onFolderMove) return onFolderMove;
|
|
18263
18263
|
if (!onMoveSelected) return void 0;
|
|
18264
18264
|
return (folder) => {
|
|
18265
|
-
const ids =
|
|
18265
|
+
const ids = chunkERDQ4DAX_cjs.collectFolderDocs(documents, folder.path).map((d) => d.external_id);
|
|
18266
18266
|
if (ids.length === 0) return;
|
|
18267
18267
|
onSelectionChange(ids);
|
|
18268
18268
|
onMoveSelected();
|
|
@@ -18270,14 +18270,14 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18270
18270
|
}, [documents, onFolderMove, onMoveSelected, onSelectionChange]);
|
|
18271
18271
|
const handleFolderDelete = react$1.useCallback(
|
|
18272
18272
|
async (folder) => {
|
|
18273
|
-
const docs =
|
|
18273
|
+
const docs = chunkERDQ4DAX_cjs.collectFolderDocs(documents, folder.path);
|
|
18274
18274
|
if (docs.length === 0) {
|
|
18275
|
-
const path =
|
|
18275
|
+
const path = chunkERDQ4DAX_cjs.joinFolderPath(folder.path);
|
|
18276
18276
|
if (wsId && path) removePendingFolder(wsId, path);
|
|
18277
18277
|
return;
|
|
18278
18278
|
}
|
|
18279
18279
|
const confirmed = await confirm({
|
|
18280
|
-
message: `Delete folder "${folder.name}" and its ${docs.length} item${docs.length === 1 ? "" : "s"}? ${
|
|
18280
|
+
message: `Delete folder "${folder.name}" and its ${docs.length} item${docs.length === 1 ? "" : "s"}? ${chunkERDQ4DAX_cjs.RECENTLY_DELETED_HINT_PLURAL}`,
|
|
18281
18281
|
title: "Delete folder"
|
|
18282
18282
|
});
|
|
18283
18283
|
if (!confirmed) return;
|
|
@@ -18294,8 +18294,8 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18294
18294
|
[confirm, documents, deleteDocuments, onSelectionChange, removePendingFolder, wsId, notify17]
|
|
18295
18295
|
);
|
|
18296
18296
|
const canDeleteFolder = react$1.useCallback(
|
|
18297
|
-
(folder) => canUpload &&
|
|
18298
|
-
(doc) =>
|
|
18297
|
+
(folder) => canUpload && chunkERDQ4DAX_cjs.collectFolderDocs(documents, folder.path).every(
|
|
18298
|
+
(doc) => chunkERDQ4DAX_cjs.canDeleteDocument(doc, userId, role)
|
|
18299
18299
|
),
|
|
18300
18300
|
[canUpload, documents, userId, role]
|
|
18301
18301
|
);
|
|
@@ -18354,7 +18354,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18354
18354
|
setActiveDragId(null);
|
|
18355
18355
|
const data = event.over?.data.current;
|
|
18356
18356
|
if (data?.type === "folder" && data.path) {
|
|
18357
|
-
const targetFolder =
|
|
18357
|
+
const targetFolder = chunkERDQ4DAX_cjs.joinFolderPath(data.path);
|
|
18358
18358
|
const moving = dragIdsRef.current.filter((id) => {
|
|
18359
18359
|
const doc = documents.find((d) => d.external_id === id);
|
|
18360
18360
|
return doc && (doc.folder ?? null) !== targetFolder;
|
|
@@ -18394,7 +18394,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18394
18394
|
const dropped = Array.from(e.dataTransfer.files ?? []);
|
|
18395
18395
|
if (dropped.length > 0) {
|
|
18396
18396
|
e.preventDefault();
|
|
18397
|
-
onUploadFiles(dropped,
|
|
18397
|
+
onUploadFiles(dropped, chunkERDQ4DAX_cjs.joinFolderPath(currentPath));
|
|
18398
18398
|
}
|
|
18399
18399
|
},
|
|
18400
18400
|
[canUpload, currentPath, onUploadFiles]
|
|
@@ -18411,9 +18411,9 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18411
18411
|
onDragEnd: handleDragEnd,
|
|
18412
18412
|
onDragCancel: () => setActiveDragId(null),
|
|
18413
18413
|
children: [
|
|
18414
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
18414
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ExplorerFrame, { "data-testid": "documents-explorer", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.ExplorerStage, { children: [
|
|
18415
18415
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
18416
|
-
|
|
18416
|
+
chunkERDQ4DAX_cjs.ExplorerScroller,
|
|
18417
18417
|
{
|
|
18418
18418
|
ref: scrollRef,
|
|
18419
18419
|
onClick: handleBackgroundClick,
|
|
@@ -18423,15 +18423,15 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18423
18423
|
onDragLeave: handleNativeDragLeave,
|
|
18424
18424
|
onDrop: handleNativeDrop,
|
|
18425
18425
|
"data-testid": "explorer-scroll",
|
|
18426
|
-
children: isLoading && documents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
18427
|
-
|
|
18426
|
+
children: isLoading && documents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ExplorerLoadingTiles, {}) : entries.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
18427
|
+
chunkERDQ4DAX_cjs.ExplorerEmpty,
|
|
18428
18428
|
{
|
|
18429
18429
|
title: isSearching ? `No files match "${search.trim()}"` : "This folder is empty",
|
|
18430
18430
|
description: isSearching ? "Try a different search." : canUpload ? "Drop files here or use Upload to add documents." : "No documents here yet."
|
|
18431
18431
|
}
|
|
18432
18432
|
) : containerWidth === 0 ? (
|
|
18433
18433
|
// Not measured yet: rendering now would flash one stretched column.
|
|
18434
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
18434
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ExplorerLoadingTiles, {})
|
|
18435
18435
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
18436
18436
|
"div",
|
|
18437
18437
|
{
|
|
@@ -18461,7 +18461,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18461
18461
|
if (entry.kind === "folder") {
|
|
18462
18462
|
const key = entry.path.join("/");
|
|
18463
18463
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18464
|
-
|
|
18464
|
+
chunkJ24LYNTY_cjs.FolderTile,
|
|
18465
18465
|
{
|
|
18466
18466
|
folder: entry,
|
|
18467
18467
|
density,
|
|
@@ -18484,7 +18484,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18484
18484
|
}
|
|
18485
18485
|
const doc = entry.doc;
|
|
18486
18486
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18487
|
-
|
|
18487
|
+
chunkJ24LYNTY_cjs.FileTile,
|
|
18488
18488
|
{
|
|
18489
18489
|
doc,
|
|
18490
18490
|
density,
|
|
@@ -18492,7 +18492,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18492
18492
|
dragging: activeDragId === doc.external_id,
|
|
18493
18493
|
dndActive: activeDragId !== null,
|
|
18494
18494
|
renaming: renamingId === doc.external_id,
|
|
18495
|
-
canDelete:
|
|
18495
|
+
canDelete: chunkERDQ4DAX_cjs.canDeleteDocument(doc, userId, role),
|
|
18496
18496
|
thumbnailUrl: thumbnailsById.get(doc.external_id),
|
|
18497
18497
|
modifiedBy: userById.get(
|
|
18498
18498
|
doc.updated_by_ext_id ?? doc.created_by_ext_id
|
|
@@ -18521,9 +18521,9 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18521
18521
|
)
|
|
18522
18522
|
}
|
|
18523
18523
|
),
|
|
18524
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
18524
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ExplorerMarquee, { ref: marqueeOverlayRef, "data-testid": "explorer-marquee" }),
|
|
18525
18525
|
isFileDragOver && /* @__PURE__ */ jsxRuntime.jsx(
|
|
18526
|
-
|
|
18526
|
+
chunkERDQ4DAX_cjs.ExplorerDropOverlay,
|
|
18527
18527
|
{
|
|
18528
18528
|
label: `Drop to upload${currentPath.length > 0 ? ` to "${currentPath[currentPath.length - 1]}"` : ""}`
|
|
18529
18529
|
}
|
|
@@ -18537,7 +18537,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
|
|
|
18537
18537
|
function DragPreview({ doc, count: count2 }) {
|
|
18538
18538
|
const Icon = ui.getFileTypeIcon(doc.file_name, { mime: doc.file_type });
|
|
18539
18539
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18540
|
-
|
|
18540
|
+
chunkERDQ4DAX_cjs.ExplorerDragPreview,
|
|
18541
18541
|
{
|
|
18542
18542
|
icon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: 20 }),
|
|
18543
18543
|
title: ui.getDocumentTitle(doc, doc.file_name ?? "Untitled"),
|
|
@@ -18774,11 +18774,11 @@ function ConnectedProjectPage({
|
|
|
18774
18774
|
figures: { ...DEFAULT_PROJECT_PAGE_LABELS.figures, ...given?.figures },
|
|
18775
18775
|
threads: { ...DEFAULT_PROJECT_PAGE_LABELS.threads, ...given?.threads }
|
|
18776
18776
|
};
|
|
18777
|
-
const { project, usage, isLoading } =
|
|
18777
|
+
const { project, usage, isLoading } = chunkUSIRUI2M_cjs.useProjectSummary(projectId);
|
|
18778
18778
|
const { workspaceId } = chunk7UAAMA5U_cjs.useConnectedWorkspace();
|
|
18779
18779
|
const { notify: notify17 } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
18780
|
-
const selectWorkspace =
|
|
18781
|
-
const workspace = project ?
|
|
18780
|
+
const selectWorkspace = chunkSWILV6LT_cjs.useSelectWorkspace();
|
|
18781
|
+
const workspace = project ? chunkUSIRUI2M_cjs.primaryProjectWorkspace(project) : void 0;
|
|
18782
18782
|
const open = !!workspace && workspace.id === workspaceId;
|
|
18783
18783
|
react$1.useEffect(() => {
|
|
18784
18784
|
if (!workspace || workspace.id === workspaceId) return;
|
|
@@ -19042,10 +19042,10 @@ function ConnectedContactCardForm({
|
|
|
19042
19042
|
const [errors, setErrors] = react$1.useState({});
|
|
19043
19043
|
const [serverError, setServerError] = react$1.useState(null);
|
|
19044
19044
|
const [duplicateOf, setDuplicateOf] = react$1.useState(null);
|
|
19045
|
-
const
|
|
19045
|
+
const create3 = react.useCreateContact();
|
|
19046
19046
|
const update = react.useUpdateContact();
|
|
19047
19047
|
const link = react.useLinkContact();
|
|
19048
|
-
const saving =
|
|
19048
|
+
const saving = create3.isPending || update.isPending || link.isPending;
|
|
19049
19049
|
const linked = !!contact?.email;
|
|
19050
19050
|
const locked = !!contact && !contact.card;
|
|
19051
19051
|
const set = (key, value) => setForm((f) => ({ ...f, [key]: value }));
|
|
@@ -19073,7 +19073,7 @@ function ConnectedContactCardForm({
|
|
|
19073
19073
|
};
|
|
19074
19074
|
if (invite && email) {
|
|
19075
19075
|
if (contact) link.mutate({ contact, email, card }, { onSuccess: onInvited, onError });
|
|
19076
|
-
else
|
|
19076
|
+
else create3.mutate({ email, card, invite: true }, { onSuccess: onInvited, onError });
|
|
19077
19077
|
return;
|
|
19078
19078
|
}
|
|
19079
19079
|
const onSuccess = () => {
|
|
@@ -19082,7 +19082,7 @@ function ConnectedContactCardForm({
|
|
|
19082
19082
|
};
|
|
19083
19083
|
if (contact?.external_id)
|
|
19084
19084
|
update.mutate({ id: contact.external_id, card }, { onSuccess, onError });
|
|
19085
|
-
else
|
|
19085
|
+
else create3.mutate({ card, invite: false }, { onSuccess, onError });
|
|
19086
19086
|
};
|
|
19087
19087
|
if (locked)
|
|
19088
19088
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-3", "data-testid": "contact-card-locked", children: [
|
|
@@ -21092,7 +21092,7 @@ function ConnectedMessengerList({
|
|
|
21092
21092
|
}));
|
|
21093
21093
|
const all = [...decorated, ...invitationRows];
|
|
21094
21094
|
if (!filters?.size) return all;
|
|
21095
|
-
const
|
|
21095
|
+
const matches2 = {
|
|
21096
21096
|
unread: (row2) => row2.unreadCount > 0,
|
|
21097
21097
|
// A person is muted, not a group that happens to list them first.
|
|
21098
21098
|
muted: (row2) => !isGroupChat(row2.chat) && mutedUsers.has(row2.peer.external_id),
|
|
@@ -21101,7 +21101,7 @@ function ConnectedMessengerList({
|
|
|
21101
21101
|
...INVITATION_ROW_FILTERS
|
|
21102
21102
|
};
|
|
21103
21103
|
return all.filter(
|
|
21104
|
-
(row2) => Object.entries(
|
|
21104
|
+
(row2) => Object.entries(matches2).every(([id, isMatch]) => {
|
|
21105
21105
|
const state = filters.get(id) ?? null;
|
|
21106
21106
|
if (state === null) return true;
|
|
21107
21107
|
return state === "include" ? isMatch(row2) : !isMatch(row2);
|
|
@@ -21485,10 +21485,10 @@ function ConnectedContactsPanel({
|
|
|
21485
21485
|
function ConnectedConfigForm({ availableModels, ...rest }) {
|
|
21486
21486
|
const hasModels = !!availableModels && availableModels.length > 0;
|
|
21487
21487
|
const renderModelSelect = react$1.useCallback(
|
|
21488
|
-
({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
21488
|
+
({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedModelSelector, { value, onValueChange: onChange, className: "w-full" }),
|
|
21489
21489
|
[]
|
|
21490
21490
|
);
|
|
21491
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21491
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
|
|
21492
21492
|
}
|
|
21493
21493
|
function ConnectedAgentConfigForm({ agentExtId, agentName, onSaved }) {
|
|
21494
21494
|
const { notify: notify17 } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
@@ -21605,7 +21605,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
21605
21605
|
}, [name, selectedWorkspaces, role, createAgent, addWorkspaceUsers, arbi, notify17]);
|
|
21606
21606
|
if (editAgent) {
|
|
21607
21607
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21608
|
-
|
|
21608
|
+
chunkKBXATCF4_cjs.AgentEditView,
|
|
21609
21609
|
{
|
|
21610
21610
|
agentName: editAgent.name,
|
|
21611
21611
|
config: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -21621,7 +21621,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
21621
21621
|
}
|
|
21622
21622
|
if (view === "main") {
|
|
21623
21623
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21624
|
-
|
|
21624
|
+
chunkKBXATCF4_cjs.AgentMainView,
|
|
21625
21625
|
{
|
|
21626
21626
|
onConnectExternal: () => setView("connect"),
|
|
21627
21627
|
config: mainAgent ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -21637,11 +21637,11 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
21637
21637
|
}
|
|
21638
21638
|
if (result) {
|
|
21639
21639
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21640
|
-
|
|
21640
|
+
chunkKBXATCF4_cjs.AgentCreatedView,
|
|
21641
21641
|
{
|
|
21642
21642
|
email: result.email,
|
|
21643
21643
|
signingKey: result.signingKey,
|
|
21644
|
-
instructions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
21644
|
+
instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
|
|
21645
21645
|
config: /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentConfigForm, { agentExtId: result.extId, agentName: result.name }),
|
|
21646
21646
|
isConfigOpen: configOpen,
|
|
21647
21647
|
onToggleConfig: () => setConfigOpen((v) => !v),
|
|
@@ -21650,7 +21650,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
21650
21650
|
);
|
|
21651
21651
|
}
|
|
21652
21652
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21653
|
-
|
|
21653
|
+
chunkKBXATCF4_cjs.AgentCreateView,
|
|
21654
21654
|
{
|
|
21655
21655
|
name,
|
|
21656
21656
|
onNameChange: setName,
|
|
@@ -21845,7 +21845,7 @@ function ConnectedNewThreadDialog({
|
|
|
21845
21845
|
});
|
|
21846
21846
|
const parentOptions = react$1.useMemo(() => {
|
|
21847
21847
|
const leaf = { external_id: "__new__" };
|
|
21848
|
-
return
|
|
21848
|
+
return chunkKBXATCF4_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
|
|
21849
21849
|
id: t.external_id,
|
|
21850
21850
|
name: t.title?.trim() || "Untitled task"
|
|
21851
21851
|
}));
|
|
@@ -21892,7 +21892,7 @@ function ConnectedNewThreadDialog({
|
|
|
21892
21892
|
}
|
|
21893
21893
|
};
|
|
21894
21894
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21895
|
-
|
|
21895
|
+
chunkKBXATCF4_cjs.NewThreadDialog,
|
|
21896
21896
|
{
|
|
21897
21897
|
open,
|
|
21898
21898
|
onOpenChange,
|
|
@@ -22015,7 +22015,7 @@ var TILE_TEST_IDS = {
|
|
|
22015
22015
|
function DashboardStart({ addMenu, onCreateNew }) {
|
|
22016
22016
|
const { dashboard: workflows } = chunkPZYPWY7G_cjs.useWorkflowDefinitions();
|
|
22017
22017
|
const { isMember, role } = react.useCurrentWorkspace();
|
|
22018
|
-
const
|
|
22018
|
+
const canWrite2 = isMember && role !== "guest";
|
|
22019
22019
|
const [activeId, setActiveId] = react$1.useState(null);
|
|
22020
22020
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22021
22021
|
chunkIU3SXE62_cjs.ConnectedWorkflowStart,
|
|
@@ -22025,7 +22025,7 @@ function DashboardStart({ addMenu, onCreateNew }) {
|
|
|
22025
22025
|
testId: "workspace-dashboard-quick-actions",
|
|
22026
22026
|
activeId,
|
|
22027
22027
|
onActiveIdChange: setActiveId,
|
|
22028
|
-
addFilesAction: addMenu({ canUpload:
|
|
22028
|
+
addFilesAction: addMenu({ canUpload: canWrite2 }),
|
|
22029
22029
|
extraTiles: onCreateNew ? [
|
|
22030
22030
|
{
|
|
22031
22031
|
id: "create-file",
|
|
@@ -22033,13 +22033,13 @@ function DashboardStart({ addMenu, onCreateNew }) {
|
|
|
22033
22033
|
title: "Create a file",
|
|
22034
22034
|
description: "Write a doc, or record a voice note, photo or video",
|
|
22035
22035
|
onSelect: onCreateNew,
|
|
22036
|
-
disabled: !
|
|
22036
|
+
disabled: !canWrite2,
|
|
22037
22037
|
disabledReason: "Only workspace members can add files",
|
|
22038
22038
|
testId: "workspace-dashboard-quick-action-create"
|
|
22039
22039
|
}
|
|
22040
22040
|
] : void 0,
|
|
22041
22041
|
tileTestId: (workflow) => TILE_TEST_IDS[workflow.id],
|
|
22042
|
-
disabledReason: (workflow) => !
|
|
22042
|
+
disabledReason: (workflow) => !canWrite2 && workflow.id === chunkIIAFQZCI_cjs.ANNOTATE_ID ? "Only workspace members can annotate files" : void 0
|
|
22043
22043
|
}
|
|
22044
22044
|
);
|
|
22045
22045
|
}
|
|
@@ -22070,7 +22070,7 @@ function recentConversations(conversations) {
|
|
|
22070
22070
|
return [...conversations].sort((a, b) => time(b.updated_at) - time(a.updated_at)).slice(0, RECENT_ROWS).map((c) => ({
|
|
22071
22071
|
id: c.external_id,
|
|
22072
22072
|
title: c.title?.trim() || "Untitled thread",
|
|
22073
|
-
subtitle: c.status ? [
|
|
22073
|
+
subtitle: c.status ? [chunkKBXATCF4_cjs.STATUS_LABELS[chunkKBXATCF4_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"}`,
|
|
22074
22074
|
time: timeAndDate(c.updated_at)
|
|
22075
22075
|
}));
|
|
22076
22076
|
}
|
|
@@ -22161,7 +22161,7 @@ function DocumentsUploadButton({
|
|
|
22161
22161
|
[hasAccountProviders, onSelectSource, onEmailWorkspace, onCreateNew, onTakePhoto]
|
|
22162
22162
|
);
|
|
22163
22163
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22164
|
-
|
|
22164
|
+
chunkERDQ4DAX_cjs.FilesAddMenu,
|
|
22165
22165
|
{
|
|
22166
22166
|
items,
|
|
22167
22167
|
isCompact,
|
|
@@ -22256,7 +22256,7 @@ function useDashboardAdd({ onCreateNew, onTakePhoto }) {
|
|
|
22256
22256
|
addFiles: () => upload(),
|
|
22257
22257
|
dialogs: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
22258
22258
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
22259
|
-
|
|
22259
|
+
chunkERDQ4DAX_cjs.UrlInputDialog,
|
|
22260
22260
|
{
|
|
22261
22261
|
open: urlDialogOpen,
|
|
22262
22262
|
onOpenChange: setUrlDialogOpen,
|
|
@@ -22486,6 +22486,528 @@ function ConnectedAskField({
|
|
|
22486
22486
|
)
|
|
22487
22487
|
] });
|
|
22488
22488
|
}
|
|
22489
|
+
function brandMark(brand, placement) {
|
|
22490
|
+
return typeof brand.logo === "function" ? brand.logo(placement) : brand.logo;
|
|
22491
|
+
}
|
|
22492
|
+
var ShellNavigationContext = react$1.createContext(null);
|
|
22493
|
+
function useShellNavigation() {
|
|
22494
|
+
return react$1.useContext(ShellNavigationContext);
|
|
22495
|
+
}
|
|
22496
|
+
var isExternal = (item) => item.external === true || /^[a-z][a-z0-9+.-]*:/i.test(item.to);
|
|
22497
|
+
function pathOf(address) {
|
|
22498
|
+
const path = address.split(/[?#]/)[0] || "/";
|
|
22499
|
+
return path.length > 1 ? path.replace(/\/+$/, "") || "/" : path;
|
|
22500
|
+
}
|
|
22501
|
+
var queryOf = (address) => new URLSearchParams(address.split("#")[0].split("?")[1] ?? "");
|
|
22502
|
+
function matchScore(item, address) {
|
|
22503
|
+
if (isExternal(item)) return -1;
|
|
22504
|
+
const path = pathOf(address);
|
|
22505
|
+
const to = pathOf(item.to);
|
|
22506
|
+
const exact = path === to;
|
|
22507
|
+
if (!exact && (item.end || !path.startsWith(to === "/" ? "/" : `${to}/`))) return -1;
|
|
22508
|
+
const wanted = [...queryOf(item.to)];
|
|
22509
|
+
const here = queryOf(address);
|
|
22510
|
+
const query = !wanted.length ? 1 : wanted.every(([k, v]) => here.getAll(k).includes(v)) ? 2 : 0;
|
|
22511
|
+
return to.length * 3 + (exact ? query : 1);
|
|
22512
|
+
}
|
|
22513
|
+
var inWorkspace = ({ workspaceId }) => !!workspaceId;
|
|
22514
|
+
var canWrite = ({ isMember, role }) => isMember && role !== "guest";
|
|
22515
|
+
var notTemporary = ({ isTemporaryAccess }) => !isTemporaryAccess;
|
|
22516
|
+
function setDocumentSourceFilter(source) {
|
|
22517
|
+
const { documentFilters, setDocumentFilters } = chunkHJBVSG6H_cjs.useFilesPrefs.getState();
|
|
22518
|
+
setDocumentFilters({
|
|
22519
|
+
...documentFilters,
|
|
22520
|
+
source_uploaded: source === "uploaded" ? "include" : null,
|
|
22521
|
+
source_generated: source === "generated" ? "include" : null
|
|
22522
|
+
});
|
|
22523
|
+
}
|
|
22524
|
+
function createBuiltinActions(environment, session) {
|
|
22525
|
+
const { openDialog: openDialog2, openSettings, openProcessing } = environment;
|
|
22526
|
+
const startWorkflowOnDocuments = (workflowId) => {
|
|
22527
|
+
const { viewingDocument, selectedDocumentIds } = session.getState();
|
|
22528
|
+
const documents = viewingDocument ? [viewingDocument.id] : [...selectedDocumentIds];
|
|
22529
|
+
chunkKBXATCF4_cjs.openWorkflowLaunch({ workflowId, context: { documents } });
|
|
22530
|
+
};
|
|
22531
|
+
const setFilesView = (mode) => () => chunkHJBVSG6H_cjs.useFilesPrefs.getState().setViewMode(mode);
|
|
22532
|
+
const actions = [
|
|
22533
|
+
{
|
|
22534
|
+
id: "goto-user-settings",
|
|
22535
|
+
label: "Go to Account settings",
|
|
22536
|
+
category: "Navigate",
|
|
22537
|
+
icon: "UserCog",
|
|
22538
|
+
keywords: ["profile", "preferences", "account"],
|
|
22539
|
+
// The same as `open-user-settings`: dispatch only.
|
|
22540
|
+
listed: false,
|
|
22541
|
+
run: () => openSettings()
|
|
22542
|
+
},
|
|
22543
|
+
{
|
|
22544
|
+
id: "create-workspace",
|
|
22545
|
+
label: "Create a workspace",
|
|
22546
|
+
category: "Workspace",
|
|
22547
|
+
icon: "Plus",
|
|
22548
|
+
keywords: ["new workspace", "add workspace"],
|
|
22549
|
+
available: ({ canCreateProjects }) => canCreateProjects !== false,
|
|
22550
|
+
run: () => openDialog2("createWorkspace")
|
|
22551
|
+
},
|
|
22552
|
+
{
|
|
22553
|
+
id: "upload-documents",
|
|
22554
|
+
label: "Upload documents",
|
|
22555
|
+
category: "Workspace",
|
|
22556
|
+
icon: "Upload",
|
|
22557
|
+
keywords: ["add files", "import", "attach files"],
|
|
22558
|
+
available: canWrite,
|
|
22559
|
+
run: () => openDialog2("upload")
|
|
22560
|
+
},
|
|
22561
|
+
!!openProcessing && {
|
|
22562
|
+
id: "view-processing-status",
|
|
22563
|
+
label: "View processing status",
|
|
22564
|
+
category: "Workspace",
|
|
22565
|
+
icon: "ClipboardList",
|
|
22566
|
+
keywords: ["indexing", "progress", "jobs", "tasks"],
|
|
22567
|
+
available: inWorkspace,
|
|
22568
|
+
run: () => openProcessing()
|
|
22569
|
+
},
|
|
22570
|
+
{
|
|
22571
|
+
id: "transfer-workspace",
|
|
22572
|
+
label: "Export, copy or move workspace",
|
|
22573
|
+
category: "Workspace",
|
|
22574
|
+
icon: "FolderInput",
|
|
22575
|
+
keywords: ["export", "download", "copy", "move", "backup", "transfer", "zip"],
|
|
22576
|
+
available: ({ isMember }) => isMember,
|
|
22577
|
+
run: () => openDialog2("transfer")
|
|
22578
|
+
},
|
|
22579
|
+
{
|
|
22580
|
+
id: "export-documents",
|
|
22581
|
+
label: "Export documents",
|
|
22582
|
+
category: "Documents",
|
|
22583
|
+
icon: "Files",
|
|
22584
|
+
keywords: ["download", "csv", "excel"],
|
|
22585
|
+
available: inWorkspace,
|
|
22586
|
+
run: () => chunkHJBVSG6H_cjs.useFilesDialogs.getState().setExportOpen(true)
|
|
22587
|
+
},
|
|
22588
|
+
{
|
|
22589
|
+
id: "bulk-tag-documents",
|
|
22590
|
+
label: "Tag selected documents",
|
|
22591
|
+
category: "Documents",
|
|
22592
|
+
icon: "Tags",
|
|
22593
|
+
keywords: ["labels", "categorize", "bulk tag"],
|
|
22594
|
+
available: inWorkspace,
|
|
22595
|
+
run: () => chunkHJBVSG6H_cjs.useFilesDialogs.getState().setBulkTagsOpen(true)
|
|
22596
|
+
},
|
|
22597
|
+
{
|
|
22598
|
+
id: "move-to-folder",
|
|
22599
|
+
label: "Move documents to folder",
|
|
22600
|
+
category: "Documents",
|
|
22601
|
+
icon: "FolderInput",
|
|
22602
|
+
keywords: ["organize", "relocate"],
|
|
22603
|
+
available: inWorkspace,
|
|
22604
|
+
run: () => chunkHJBVSG6H_cjs.useFilesDialogs.getState().openMove()
|
|
22605
|
+
},
|
|
22606
|
+
{
|
|
22607
|
+
id: "ai-review-documents",
|
|
22608
|
+
label: "AI review documents",
|
|
22609
|
+
category: "Documents",
|
|
22610
|
+
icon: "Sparkles",
|
|
22611
|
+
keywords: ["auto tag", "analyze", "suggest tags"],
|
|
22612
|
+
available: inWorkspace,
|
|
22613
|
+
run: () => chunkHJBVSG6H_cjs.useAiReviewStore.getState().setOpen(true)
|
|
22614
|
+
},
|
|
22615
|
+
{
|
|
22616
|
+
id: "docs-grid-view",
|
|
22617
|
+
label: "Switch to grid view",
|
|
22618
|
+
category: "Documents",
|
|
22619
|
+
icon: "LayoutGrid",
|
|
22620
|
+
keywords: ["table", "spreadsheet"],
|
|
22621
|
+
available: inWorkspace,
|
|
22622
|
+
run: setFilesView("grid")
|
|
22623
|
+
},
|
|
22624
|
+
{
|
|
22625
|
+
id: "docs-navigator-view",
|
|
22626
|
+
label: "Switch to navigator view",
|
|
22627
|
+
category: "Documents",
|
|
22628
|
+
icon: "FolderTree",
|
|
22629
|
+
keywords: ["folders", "tree"],
|
|
22630
|
+
available: inWorkspace,
|
|
22631
|
+
run: setFilesView("navigator")
|
|
22632
|
+
},
|
|
22633
|
+
{
|
|
22634
|
+
id: "docs-explorer-view",
|
|
22635
|
+
label: "Switch to explorer view",
|
|
22636
|
+
category: "Documents",
|
|
22637
|
+
icon: "Compass",
|
|
22638
|
+
keywords: ["browse", "gallery"],
|
|
22639
|
+
available: inWorkspace,
|
|
22640
|
+
run: setFilesView("explorer")
|
|
22641
|
+
},
|
|
22642
|
+
{
|
|
22643
|
+
id: "show-uploaded-docs",
|
|
22644
|
+
label: "Show uploaded documents",
|
|
22645
|
+
category: "Documents",
|
|
22646
|
+
icon: "Upload",
|
|
22647
|
+
keywords: ["filter", "source", "originals"],
|
|
22648
|
+
available: inWorkspace,
|
|
22649
|
+
run: () => setDocumentSourceFilter("uploaded")
|
|
22650
|
+
},
|
|
22651
|
+
{
|
|
22652
|
+
id: "show-generated-docs",
|
|
22653
|
+
label: "Show AI-generated documents",
|
|
22654
|
+
category: "Documents",
|
|
22655
|
+
icon: "Sparkles",
|
|
22656
|
+
keywords: ["filter", "source", "artifacts"],
|
|
22657
|
+
available: inWorkspace,
|
|
22658
|
+
run: () => setDocumentSourceFilter("generated")
|
|
22659
|
+
},
|
|
22660
|
+
{
|
|
22661
|
+
id: "clear-document-selection",
|
|
22662
|
+
label: "Clear document selection",
|
|
22663
|
+
category: "Documents",
|
|
22664
|
+
icon: "SquareDashedMousePointer",
|
|
22665
|
+
keywords: ["deselect", "unselect"],
|
|
22666
|
+
available: inWorkspace,
|
|
22667
|
+
run: () => session.setSelectedDocumentIds([])
|
|
22668
|
+
},
|
|
22669
|
+
{
|
|
22670
|
+
id: "summarise-document",
|
|
22671
|
+
label: "Summarise a document",
|
|
22672
|
+
category: "Documents",
|
|
22673
|
+
icon: "FileText",
|
|
22674
|
+
keywords: ["summary", "brief", "overview"],
|
|
22675
|
+
available: inWorkspace,
|
|
22676
|
+
run: () => startWorkflowOnDocuments("summarise")
|
|
22677
|
+
},
|
|
22678
|
+
{
|
|
22679
|
+
id: "translate-document",
|
|
22680
|
+
label: "Translate a document",
|
|
22681
|
+
category: "Documents",
|
|
22682
|
+
icon: "Sparkles",
|
|
22683
|
+
keywords: ["translation", "language"],
|
|
22684
|
+
available: inWorkspace,
|
|
22685
|
+
run: () => startWorkflowOnDocuments("translate")
|
|
22686
|
+
},
|
|
22687
|
+
{
|
|
22688
|
+
id: "attach-context",
|
|
22689
|
+
label: "Attach documents to conversation",
|
|
22690
|
+
category: "Conversation",
|
|
22691
|
+
icon: "Paperclip",
|
|
22692
|
+
keywords: ["context", "add documents", "reference"],
|
|
22693
|
+
available: inWorkspace,
|
|
22694
|
+
run: () => openDialog2("conversationDocuments")
|
|
22695
|
+
},
|
|
22696
|
+
{
|
|
22697
|
+
id: "conversation-settings",
|
|
22698
|
+
label: "Open conversation settings",
|
|
22699
|
+
category: "Conversation",
|
|
22700
|
+
icon: "Settings2",
|
|
22701
|
+
keywords: ["model", "config", "options"],
|
|
22702
|
+
run: () => openDialog2("conversationSettings")
|
|
22703
|
+
},
|
|
22704
|
+
{
|
|
22705
|
+
id: "open-skills-library",
|
|
22706
|
+
label: "Browse skills",
|
|
22707
|
+
category: "Conversation",
|
|
22708
|
+
icon: "Library",
|
|
22709
|
+
keywords: ["skills", "start", "summarise", "translate", "commands"],
|
|
22710
|
+
available: ({ isFeatureOn }) => isFeatureOn("skills"),
|
|
22711
|
+
run: () => openDialog2("skillsBrowser")
|
|
22712
|
+
},
|
|
22713
|
+
{
|
|
22714
|
+
id: "clear-conversation-context",
|
|
22715
|
+
label: "Clear attached documents",
|
|
22716
|
+
category: "Conversation",
|
|
22717
|
+
icon: "Eraser",
|
|
22718
|
+
keywords: ["remove context", "detach", "reset"],
|
|
22719
|
+
available: inWorkspace,
|
|
22720
|
+
// Each conversation's documents, cleared by choice: an empty chat does not pick them up again.
|
|
22721
|
+
run: () => Object.keys(session.getState().conversationDocuments).forEach(
|
|
22722
|
+
(id) => session.setConversationDocuments(id, [])
|
|
22723
|
+
)
|
|
22724
|
+
},
|
|
22725
|
+
{
|
|
22726
|
+
id: "open-invite-contacts",
|
|
22727
|
+
label: "Invite contacts",
|
|
22728
|
+
category: "Sharing",
|
|
22729
|
+
icon: "UserPlus",
|
|
22730
|
+
keywords: ["add people", "invite", "share"],
|
|
22731
|
+
run: () => openDialog2("inviteContacts")
|
|
22732
|
+
},
|
|
22733
|
+
{
|
|
22734
|
+
id: "open-projects",
|
|
22735
|
+
label: "Open projects",
|
|
22736
|
+
category: "Account",
|
|
22737
|
+
icon: "FolderKanban",
|
|
22738
|
+
keywords: ["plans", "billing groups", "projects"],
|
|
22739
|
+
available: notTemporary,
|
|
22740
|
+
run: () => environment.openProject()
|
|
22741
|
+
},
|
|
22742
|
+
{
|
|
22743
|
+
id: "open-user-settings",
|
|
22744
|
+
label: "Open account settings",
|
|
22745
|
+
category: "Account",
|
|
22746
|
+
icon: "UserCog",
|
|
22747
|
+
keywords: ["profile", "preferences", "account"],
|
|
22748
|
+
run: () => openSettings()
|
|
22749
|
+
},
|
|
22750
|
+
{
|
|
22751
|
+
id: "view-pro-features",
|
|
22752
|
+
label: "See Pro features",
|
|
22753
|
+
category: "Account",
|
|
22754
|
+
icon: "Crown",
|
|
22755
|
+
keywords: ["upgrade", "premium", "subscription"],
|
|
22756
|
+
available: notTemporary,
|
|
22757
|
+
run: () => openDialog2("welcome")
|
|
22758
|
+
},
|
|
22759
|
+
{
|
|
22760
|
+
id: "logout",
|
|
22761
|
+
label: "Log out",
|
|
22762
|
+
category: "Account",
|
|
22763
|
+
icon: "LogOut",
|
|
22764
|
+
keywords: ["sign out", "exit"],
|
|
22765
|
+
run: () => openDialog2("logout")
|
|
22766
|
+
},
|
|
22767
|
+
{
|
|
22768
|
+
id: "start-welcome-tour",
|
|
22769
|
+
label: "Start the getting-started tour",
|
|
22770
|
+
category: "Help",
|
|
22771
|
+
icon: "Compass",
|
|
22772
|
+
keywords: ["onboarding", "walkthrough", "tutorial"],
|
|
22773
|
+
available: (context) => notTemporary(context) && context.isFeatureOn("welcomeJourney"),
|
|
22774
|
+
// The getting-started checklist, fresh, with the helper header on for the session.
|
|
22775
|
+
run: () => chunk4B6HYQTW_cjs.startWelcomeReplay(session)
|
|
22776
|
+
},
|
|
22777
|
+
{
|
|
22778
|
+
id: "mute-notifications",
|
|
22779
|
+
label: "Mute notifications",
|
|
22780
|
+
category: "Help",
|
|
22781
|
+
icon: "BellOff",
|
|
22782
|
+
keywords: ["silence", "do not disturb", "quiet"],
|
|
22783
|
+
run: () => shell.useNotify.getState().setMuted(true)
|
|
22784
|
+
},
|
|
22785
|
+
{
|
|
22786
|
+
id: "work-offline",
|
|
22787
|
+
label: "Work offline",
|
|
22788
|
+
category: "Help",
|
|
22789
|
+
icon: "WifiOff",
|
|
22790
|
+
keywords: ["offline mode", "disconnect"],
|
|
22791
|
+
run: () => react.setWorkOfflineIn(session, true)
|
|
22792
|
+
}
|
|
22793
|
+
];
|
|
22794
|
+
return Object.fromEntries(
|
|
22795
|
+
actions.filter((action) => !!action).map((action) => [action.id, action])
|
|
22796
|
+
);
|
|
22797
|
+
}
|
|
22798
|
+
var ACTION_ICONS = {
|
|
22799
|
+
Bell: lucideReact.Bell,
|
|
22800
|
+
BellOff: lucideReact.BellOff,
|
|
22801
|
+
Bot: lucideReact.Bot,
|
|
22802
|
+
ClipboardList: lucideReact.ClipboardList,
|
|
22803
|
+
Columns3: lucideReact.Columns3,
|
|
22804
|
+
Compass: lucideReact.Compass,
|
|
22805
|
+
Crown: lucideReact.Crown,
|
|
22806
|
+
Eraser: lucideReact.Eraser,
|
|
22807
|
+
FileText: lucideReact.FileText,
|
|
22808
|
+
Files: lucideReact.Files,
|
|
22809
|
+
FolderInput: lucideReact.FolderInput,
|
|
22810
|
+
FolderKanban: lucideReact.FolderKanban,
|
|
22811
|
+
FolderTree: lucideReact.FolderTree,
|
|
22812
|
+
LayoutGrid: lucideReact.LayoutGrid,
|
|
22813
|
+
Library: lucideReact.Library,
|
|
22814
|
+
LogOut: lucideReact.LogOut,
|
|
22815
|
+
Megaphone: lucideReact.Megaphone,
|
|
22816
|
+
MessagesSquare: lucideReact.MessagesSquare,
|
|
22817
|
+
Paperclip: lucideReact.Paperclip,
|
|
22818
|
+
Plus: lucideReact.Plus,
|
|
22819
|
+
Search: lucideReact.Search,
|
|
22820
|
+
Send: lucideReact.Send,
|
|
22821
|
+
Settings: lucideReact.Settings,
|
|
22822
|
+
Settings2: lucideReact.Settings2,
|
|
22823
|
+
Sparkles: lucideReact.Sparkles,
|
|
22824
|
+
SquareDashedMousePointer: lucideReact.SquareDashedMousePointer,
|
|
22825
|
+
Tags: lucideReact.Tags,
|
|
22826
|
+
Upload: lucideReact.Upload,
|
|
22827
|
+
UserCog: lucideReact.UserCog,
|
|
22828
|
+
UserPlus: lucideReact.UserPlus,
|
|
22829
|
+
Users: lucideReact.Users,
|
|
22830
|
+
WifiOff: lucideReact.WifiOff,
|
|
22831
|
+
Workflow: lucideReact.Workflow
|
|
22832
|
+
};
|
|
22833
|
+
var actionIcon = (name) => ACTION_ICONS[name] ?? lucideReact.Zap;
|
|
22834
|
+
var DEFAULT_COMMAND_PALETTE_LABELS = {
|
|
22835
|
+
placeholder: "Type a command, a page, or a question\u2026",
|
|
22836
|
+
title: "Command palette",
|
|
22837
|
+
pages: "Pages",
|
|
22838
|
+
ask: "Ask AI",
|
|
22839
|
+
search: "Search documents for",
|
|
22840
|
+
empty: "Nothing matches."
|
|
22841
|
+
};
|
|
22842
|
+
var usePaletteOpen = zustand.create(() => false);
|
|
22843
|
+
var openCommandPalette = () => usePaletteOpen.setState(true, true);
|
|
22844
|
+
var APPLE = /Mac|iPhone|iPad|iPod/;
|
|
22845
|
+
function isPaletteShortcut(event, isApple = typeof navigator !== "undefined" && APPLE.test(navigator.platform || navigator.userAgent)) {
|
|
22846
|
+
if (event.defaultPrevented || event.shiftKey || event.altKey) return false;
|
|
22847
|
+
if (event.key.toLowerCase() !== "k") return false;
|
|
22848
|
+
if (isApple ? !event.metaKey || event.ctrlKey : !event.ctrlKey || event.metaKey) return false;
|
|
22849
|
+
const target = event.target;
|
|
22850
|
+
return !(target instanceof Element && target.closest(
|
|
22851
|
+
'[contenteditable]:not([contenteditable="false"]), [data-docx-editor], .docx-editor'
|
|
22852
|
+
));
|
|
22853
|
+
}
|
|
22854
|
+
function matches(query, ...fields) {
|
|
22855
|
+
const haystack = fields.flat().join(" ").toLowerCase();
|
|
22856
|
+
return query.toLowerCase().split(/\s+/).every((word) => haystack.includes(word));
|
|
22857
|
+
}
|
|
22858
|
+
function ConnectedCommandPalette({
|
|
22859
|
+
navigation: navigationProp,
|
|
22860
|
+
onNavigate,
|
|
22861
|
+
actions,
|
|
22862
|
+
labels: labelOverrides
|
|
22863
|
+
}) {
|
|
22864
|
+
const labels = { ...DEFAULT_COMMAND_PALETTE_LABELS, ...labelOverrides };
|
|
22865
|
+
const isOpen = usePaletteOpen();
|
|
22866
|
+
const shellItems = useShellNavigation()?.visibleItems;
|
|
22867
|
+
const navigation = navigationProp ?? shellItems ?? [];
|
|
22868
|
+
const setOpen = (open) => usePaletteOpen.setState(open, true);
|
|
22869
|
+
const [query, setQuery] = react$1.useState("");
|
|
22870
|
+
const listRef = react$1.useRef(null);
|
|
22871
|
+
const environment = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
22872
|
+
const session = react.useArbiSessionStore();
|
|
22873
|
+
const { workspaceId } = chunk7UAAMA5U_cjs.useConnectedWorkspace();
|
|
22874
|
+
const { isMember, role } = react.useCurrentWorkspace();
|
|
22875
|
+
const context = {
|
|
22876
|
+
workspaceId,
|
|
22877
|
+
isMember,
|
|
22878
|
+
role,
|
|
22879
|
+
isTemporaryAccess: react.useArbiSession().user?.temporary_access_only === true,
|
|
22880
|
+
canCreateProjects: react.useCanCreateProjects(),
|
|
22881
|
+
isFeatureOn: react.useFeatureCheck()
|
|
22882
|
+
};
|
|
22883
|
+
const { ask, search } = useWorkspaceAsk();
|
|
22884
|
+
react$1.useEffect(() => {
|
|
22885
|
+
const onKey = (event) => {
|
|
22886
|
+
if (!isPaletteShortcut(event)) return;
|
|
22887
|
+
event.preventDefault();
|
|
22888
|
+
usePaletteOpen.setState((open) => !open, true);
|
|
22889
|
+
};
|
|
22890
|
+
window.addEventListener("keydown", onKey);
|
|
22891
|
+
return () => window.removeEventListener("keydown", onKey);
|
|
22892
|
+
}, []);
|
|
22893
|
+
react$1.useLayoutEffect(() => {
|
|
22894
|
+
listRef.current?.scrollTo?.({ top: 0 });
|
|
22895
|
+
}, [query]);
|
|
22896
|
+
react$1.useEffect(() => {
|
|
22897
|
+
if (!isOpen) setQuery("");
|
|
22898
|
+
}, [isOpen]);
|
|
22899
|
+
const catalogue = react$1.useMemo(() => {
|
|
22900
|
+
const all = {
|
|
22901
|
+
...createBuiltinActions(environment, session),
|
|
22902
|
+
...actions
|
|
22903
|
+
};
|
|
22904
|
+
return Object.values(all).filter((action) => !!action);
|
|
22905
|
+
}, [environment, session, actions]);
|
|
22906
|
+
const text = query.trim();
|
|
22907
|
+
const pages = navigation.filter((item) => !text || matches(text, item.label, item.keywords));
|
|
22908
|
+
const groups = /* @__PURE__ */ new Map();
|
|
22909
|
+
for (const action of catalogue) {
|
|
22910
|
+
if (action.listed === false || action.available && !action.available(context)) continue;
|
|
22911
|
+
if (text && !matches(text, action.label, action.category, action.keywords)) continue;
|
|
22912
|
+
groups.set(action.category, [...groups.get(action.category) ?? [], action]);
|
|
22913
|
+
}
|
|
22914
|
+
const choose = (run) => {
|
|
22915
|
+
setOpen(false);
|
|
22916
|
+
run();
|
|
22917
|
+
};
|
|
22918
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ui.Dialog, { open: isOpen, onOpenChange: setOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22919
|
+
ui.DialogContent,
|
|
22920
|
+
{
|
|
22921
|
+
className: "top-[12%] max-w-2xl translate-y-0 gap-0 overflow-hidden p-0",
|
|
22922
|
+
"data-testid": "command-palette",
|
|
22923
|
+
children: [
|
|
22924
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { className: "sr-only", children: labels.title }),
|
|
22925
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { className: "sr-only", children: labels.placeholder }),
|
|
22926
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ui.Command, { shouldFilter: false, loop: true, vimBindings: false, children: [
|
|
22927
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
22928
|
+
ui.CommandInput,
|
|
22929
|
+
{
|
|
22930
|
+
value: query,
|
|
22931
|
+
onValueChange: setQuery,
|
|
22932
|
+
placeholder: labels.placeholder,
|
|
22933
|
+
className: "h-12 text-base",
|
|
22934
|
+
"data-testid": "command-palette-input"
|
|
22935
|
+
}
|
|
22936
|
+
),
|
|
22937
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ui.CommandList, { ref: listRef, className: "max-h-[60vh] p-1", children: [
|
|
22938
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.CommandEmpty, { className: "py-6 text-center text-sm text-muted-foreground", children: labels.empty }),
|
|
22939
|
+
pages.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(ui.CommandGroup, { heading: labels.pages, children: pages.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22940
|
+
ui.CommandItem,
|
|
22941
|
+
{
|
|
22942
|
+
value: `page:${item.id}`,
|
|
22943
|
+
onSelect: () => choose(() => onNavigate ? onNavigate(item) : environment.navigate(item.to)),
|
|
22944
|
+
"data-testid": `command-palette-nav-${item.id}`,
|
|
22945
|
+
children: [
|
|
22946
|
+
/* @__PURE__ */ jsxRuntime.jsx(item.icon, { className: "text-muted-foreground" }),
|
|
22947
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children: item.label }),
|
|
22948
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { className: "text-muted-foreground" })
|
|
22949
|
+
]
|
|
22950
|
+
},
|
|
22951
|
+
item.id
|
|
22952
|
+
)) }),
|
|
22953
|
+
[...groups].map(([category, rows]) => /* @__PURE__ */ jsxRuntime.jsx(ui.CommandGroup, { heading: category, children: rows.map((action) => {
|
|
22954
|
+
const Icon = actionIcon(action.icon);
|
|
22955
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22956
|
+
ui.CommandItem,
|
|
22957
|
+
{
|
|
22958
|
+
value: `action:${action.id}`,
|
|
22959
|
+
onSelect: () => choose(action.run),
|
|
22960
|
+
"data-testid": `command-palette-action-${action.id}`,
|
|
22961
|
+
children: [
|
|
22962
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "text-muted-foreground" }),
|
|
22963
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: action.label })
|
|
22964
|
+
]
|
|
22965
|
+
},
|
|
22966
|
+
action.id
|
|
22967
|
+
);
|
|
22968
|
+
}) }, category)),
|
|
22969
|
+
text && workspaceId && /* @__PURE__ */ jsxRuntime.jsxs(ui.CommandGroup, { children: [
|
|
22970
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
22971
|
+
ui.CommandItem,
|
|
22972
|
+
{
|
|
22973
|
+
value: "ask",
|
|
22974
|
+
onSelect: () => choose(() => ask(text)),
|
|
22975
|
+
"data-testid": "command-palette-ask",
|
|
22976
|
+
children: [
|
|
22977
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "text-ai-accent" }),
|
|
22978
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate", children: [
|
|
22979
|
+
labels.ask,
|
|
22980
|
+
": \u201C",
|
|
22981
|
+
text,
|
|
22982
|
+
"\u201D"
|
|
22983
|
+
] })
|
|
22984
|
+
]
|
|
22985
|
+
}
|
|
22986
|
+
),
|
|
22987
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
22988
|
+
ui.CommandItem,
|
|
22989
|
+
{
|
|
22990
|
+
value: "search",
|
|
22991
|
+
onSelect: () => choose(() => search(text)),
|
|
22992
|
+
"data-testid": "command-palette-search",
|
|
22993
|
+
children: [
|
|
22994
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "text-muted-foreground" }),
|
|
22995
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate", children: [
|
|
22996
|
+
labels.search,
|
|
22997
|
+
" \u201C",
|
|
22998
|
+
text,
|
|
22999
|
+
"\u201D"
|
|
23000
|
+
] })
|
|
23001
|
+
]
|
|
23002
|
+
}
|
|
23003
|
+
)
|
|
23004
|
+
] })
|
|
23005
|
+
] })
|
|
23006
|
+
] })
|
|
23007
|
+
]
|
|
23008
|
+
}
|
|
23009
|
+
) });
|
|
23010
|
+
}
|
|
22489
23011
|
var VENDOR_PRODUCTS = {
|
|
22490
23012
|
microsoft: [{ key: "outlook" }, { key: "onedrive", product: "onedrive" }],
|
|
22491
23013
|
gmail: [{ key: "gmail" }, { key: "googledrive", product: "googledrive" }],
|
|
@@ -22517,7 +23039,7 @@ function AddFromAccountsButton({
|
|
|
22517
23039
|
className: "gap-2",
|
|
22518
23040
|
"data-testid": dataTestId,
|
|
22519
23041
|
children: [
|
|
22520
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center gap-1", children: marks.map((m) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
23042
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center gap-1", children: marks.map((m) => /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.VendorLogo, { vendorKey: m.vendorKey, product: m.product, className: "h-4 w-4" }, m.key)) }),
|
|
22521
23043
|
"Add from accounts"
|
|
22522
23044
|
]
|
|
22523
23045
|
}
|
|
@@ -22601,7 +23123,7 @@ function ConnectedUploadDropzone({
|
|
|
22601
23123
|
const onFiles = browse(fileInputRef);
|
|
22602
23124
|
const onFolder = browse(folderInputRef);
|
|
22603
23125
|
const dropTarget = /* @__PURE__ */ jsxRuntime.jsx(
|
|
22604
|
-
|
|
23126
|
+
chunkERDQ4DAX_cjs.UploadDropArea,
|
|
22605
23127
|
{
|
|
22606
23128
|
isActive: dragActive,
|
|
22607
23129
|
isDisabled: disabled,
|
|
@@ -22615,11 +23137,11 @@ function ConnectedUploadDropzone({
|
|
|
22615
23137
|
onClick: (e) => {
|
|
22616
23138
|
if (e.target === e.currentTarget) onFiles();
|
|
22617
23139
|
},
|
|
22618
|
-
actions: compact ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
23140
|
+
actions: compact ? /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadBrowseButtons, { onFiles, onFolder, isDisabled: disabled }) : void 0
|
|
22619
23141
|
}
|
|
22620
23142
|
);
|
|
22621
23143
|
const urlDialog = (trigger) => onUrlsSubmit ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
22622
|
-
|
|
23144
|
+
chunkERDQ4DAX_cjs.UrlInputDialog,
|
|
22623
23145
|
{
|
|
22624
23146
|
onUrlsSubmit,
|
|
22625
23147
|
processing: disabled,
|
|
@@ -22632,12 +23154,12 @@ function ConnectedUploadDropzone({
|
|
|
22632
23154
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
22633
23155
|
dropTarget,
|
|
22634
23156
|
compactLeadingAction,
|
|
22635
|
-
onUrlsSubmit && /* @__PURE__ */ jsxRuntime.jsx(
|
|
23157
|
+
onUrlsSubmit && /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadSourceSection, { isIsolated: true, className: "flex flex-wrap justify-center gap-2", children: urlDialog(/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadUrlButton, { isDisabled: disabled, isCompact: true })) })
|
|
22636
23158
|
] });
|
|
22637
23159
|
}
|
|
22638
23160
|
if (!source) {
|
|
22639
23161
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22640
|
-
|
|
23162
|
+
chunkERDQ4DAX_cjs.UploadSourcePicker,
|
|
22641
23163
|
{
|
|
22642
23164
|
isDisabled: disabled,
|
|
22643
23165
|
options: [
|
|
@@ -22673,14 +23195,14 @@ function ConnectedUploadDropzone({
|
|
|
22673
23195
|
}
|
|
22674
23196
|
if (source === "computer") {
|
|
22675
23197
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22676
|
-
|
|
23198
|
+
chunkERDQ4DAX_cjs.UploadSourceSection,
|
|
22677
23199
|
{
|
|
22678
23200
|
testId: "upload-source-computer",
|
|
22679
23201
|
className: "flex w-full flex-col gap-3 pointer-coarse:flex-col-reverse",
|
|
22680
23202
|
children: [
|
|
22681
23203
|
dropTarget,
|
|
22682
23204
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
22683
|
-
|
|
23205
|
+
chunkERDQ4DAX_cjs.UploadBrowseButtons,
|
|
22684
23206
|
{
|
|
22685
23207
|
layout: "grid",
|
|
22686
23208
|
onFiles,
|
|
@@ -22693,15 +23215,15 @@ function ConnectedUploadDropzone({
|
|
|
22693
23215
|
);
|
|
22694
23216
|
}
|
|
22695
23217
|
if (source === "internet" && onUrlsSubmit) {
|
|
22696
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
23218
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadSourceSection, { testId: "upload-source-internet", className: "flex flex-wrap gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadSourceSection, { isIsolated: true, children: urlDialog(/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadUrlButton, { isDisabled: disabled })) }) });
|
|
22697
23219
|
}
|
|
22698
23220
|
if (source === "email" && accounts) {
|
|
22699
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
23221
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadSourceSection, { testId: "upload-source-email", isIsolated: true, children: accounts });
|
|
22700
23222
|
}
|
|
22701
23223
|
return null;
|
|
22702
23224
|
})();
|
|
22703
23225
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22704
|
-
|
|
23226
|
+
chunkERDQ4DAX_cjs.UploadFrame,
|
|
22705
23227
|
{
|
|
22706
23228
|
isCompact: compact,
|
|
22707
23229
|
isDimmed: disabled || processingMessage !== null,
|
|
@@ -22762,7 +23284,7 @@ function EmptyWorkspaceUpload({
|
|
|
22762
23284
|
compactLeadingAction: onImportFromEmail && /* @__PURE__ */ jsxRuntime.jsx(AddFromAccountsButton, { onImportFromEmail })
|
|
22763
23285
|
}
|
|
22764
23286
|
),
|
|
22765
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
23287
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.PrivacyExplainerModal, {})
|
|
22766
23288
|
] })
|
|
22767
23289
|
}
|
|
22768
23290
|
);
|
|
@@ -22869,9 +23391,9 @@ function useDocumentFilters({
|
|
|
22869
23391
|
const { data: members = [] } = react.useWorkspaceUsers();
|
|
22870
23392
|
const user = members.find((m) => m.user.external_id === currentUserId)?.user;
|
|
22871
23393
|
const offlineIds = react.useOfflineDocumentIds();
|
|
22872
|
-
const pendingFolders =
|
|
22873
|
-
const persistedDocumentFilters =
|
|
22874
|
-
const setPersistedDocumentFilters =
|
|
23394
|
+
const pendingFolders = chunkHJBVSG6H_cjs.usePendingFolders(selectedWorkspaceId);
|
|
23395
|
+
const persistedDocumentFilters = chunkHJBVSG6H_cjs.useFilesPrefs((state) => state.documentFilters);
|
|
23396
|
+
const setPersistedDocumentFilters = chunkHJBVSG6H_cjs.useFilesPrefs((state) => state.setDocumentFilters);
|
|
22875
23397
|
const folderTree = react$1.useMemo(() => {
|
|
22876
23398
|
const allPaths = /* @__PURE__ */ new Set();
|
|
22877
23399
|
let hasUnfiled = false;
|
|
@@ -23092,7 +23614,7 @@ function useDocumentFilters({
|
|
|
23092
23614
|
{
|
|
23093
23615
|
id: "uploaded_by_me",
|
|
23094
23616
|
label: "Uploaded by me",
|
|
23095
|
-
icon: user ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
23617
|
+
icon: user ? /* @__PURE__ */ jsxRuntime.jsx(chunkJ24LYNTY_cjs.UserAvatar, { user, isMe: true }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.User, { className: "h-4 w-4" }),
|
|
23096
23618
|
count: docs.filter((doc) => doc.created_by_ext_id === currentUserId).length
|
|
23097
23619
|
},
|
|
23098
23620
|
{
|
|
@@ -23213,7 +23735,7 @@ function useDocumentFilters({
|
|
|
23213
23735
|
const folderPath = react$1.useMemo(() => {
|
|
23214
23736
|
for (const [key, state] of documentFilters) {
|
|
23215
23737
|
if (key.startsWith("folder:") && key !== "folder:none" && state === "include") {
|
|
23216
|
-
return
|
|
23738
|
+
return chunkERDQ4DAX_cjs.parseFolderSegments(key.slice("folder:".length));
|
|
23217
23739
|
}
|
|
23218
23740
|
}
|
|
23219
23741
|
return [];
|
|
@@ -23222,7 +23744,7 @@ function useDocumentFilters({
|
|
|
23222
23744
|
(path) => {
|
|
23223
23745
|
const next = new Map(documentFilters);
|
|
23224
23746
|
for (const key of next.keys()) if (key.startsWith("folder:")) next.set(key, null);
|
|
23225
|
-
const joined =
|
|
23747
|
+
const joined = chunkERDQ4DAX_cjs.joinFolderPath(path);
|
|
23226
23748
|
if (joined) next.set(`folder:${joined}`, "include");
|
|
23227
23749
|
setDocumentFilters(next);
|
|
23228
23750
|
},
|
|
@@ -25603,7 +26125,7 @@ function ConnectedMailbox({
|
|
|
25603
26125
|
onTabChange: () => {
|
|
25604
26126
|
},
|
|
25605
26127
|
compactBreakpoint: 360,
|
|
25606
|
-
firstTabContent: account ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
26128
|
+
firstTabContent: account ? /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FilesFilterBar, { children: [
|
|
25607
26129
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25608
26130
|
chunk6UZC4XVV_cjs.FilterInput,
|
|
25609
26131
|
{
|
|
@@ -25638,7 +26160,7 @@ function ConnectedMailbox({
|
|
|
25638
26160
|
}
|
|
25639
26161
|
),
|
|
25640
26162
|
folderList && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
25641
|
-
|
|
26163
|
+
chunkERDQ4DAX_cjs.FolderFilterButton,
|
|
25642
26164
|
{
|
|
25643
26165
|
label: folderList.find((f) => f.id === folderId)?.name ?? "Folders",
|
|
25644
26166
|
isActive: false,
|
|
@@ -25646,7 +26168,7 @@ function ConnectedMailbox({
|
|
|
25646
26168
|
onOpenChange: setFolderMenuOpen,
|
|
25647
26169
|
testId: "mail-folder-button",
|
|
25648
26170
|
children: folderList.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
25649
|
-
|
|
26171
|
+
chunkERDQ4DAX_cjs.FolderPickerRow,
|
|
25650
26172
|
{
|
|
25651
26173
|
label: item.name,
|
|
25652
26174
|
count: item.unread > 0 ? item.unread : void 0,
|
|
@@ -26185,7 +26707,7 @@ function ConnectedSecureMailClaimPage({
|
|
|
26185
26707
|
}) {
|
|
26186
26708
|
const authenticated = react.useArbiSession().status === "signed-in";
|
|
26187
26709
|
const { openMail } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
26188
|
-
const { loading } =
|
|
26710
|
+
const { loading } = chunkMM5Q7AJL_cjs.useAuthPages();
|
|
26189
26711
|
const claim = react.useClaimSecureMail();
|
|
26190
26712
|
const [, setFirstLoginWorkspaces] = react.useTransientView(FIRST_LOGIN_WORKSPACES_VIEW, null);
|
|
26191
26713
|
const [failure, setFailure] = react$1.useState(null);
|
|
@@ -26225,7 +26747,7 @@ function ConnectedSecureMailClaimPage({
|
|
|
26225
26747
|
}
|
|
26226
26748
|
})();
|
|
26227
26749
|
}, [authenticated, claimId, key]);
|
|
26228
|
-
if (!error) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: loading ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
26750
|
+
if (!error) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: loading ?? /* @__PURE__ */ jsxRuntime.jsx(chunk4VSRSF4Q_cjs.LoadingIndicator, { variant: "splash" }) });
|
|
26229
26751
|
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: [
|
|
26230
26752
|
/* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "mb-4 text-sm text-destructive", children: error }),
|
|
26231
26753
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -27089,7 +27611,7 @@ function BookingPagesPanel({ defaultTimeZone, className }) {
|
|
|
27089
27611
|
var selectClass4 = "h-9 w-full rounded-md border border-input bg-background px-2 text-sm text-foreground shadow-sm";
|
|
27090
27612
|
function CreateRoomForm({ zone, onDone }) {
|
|
27091
27613
|
const { notify: notify17 } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
27092
|
-
const
|
|
27614
|
+
const create3 = react.useCreateRoom();
|
|
27093
27615
|
const [name, setName] = react$1.useState("");
|
|
27094
27616
|
const [type, setType] = react$1.useState("room");
|
|
27095
27617
|
const [capacity, setCapacity] = react$1.useState("");
|
|
@@ -27109,7 +27631,7 @@ function CreateRoomForm({ zone, onDone }) {
|
|
|
27109
27631
|
const cap = capacity.trim() ? Number(capacity) : null;
|
|
27110
27632
|
if (cap !== null && (!Number.isInteger(cap) || cap < 1))
|
|
27111
27633
|
return setError("Capacity must be a whole number");
|
|
27112
|
-
|
|
27634
|
+
create3.mutate(
|
|
27113
27635
|
{
|
|
27114
27636
|
name: name.trim(),
|
|
27115
27637
|
type,
|
|
@@ -27200,8 +27722,8 @@ function CreateRoomForm({ zone, onDone }) {
|
|
|
27200
27722
|
error && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-destructive", children: error }),
|
|
27201
27723
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
27202
27724
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { type: "button", variant: "ghost", onClick: onDone, children: "Cancel" }),
|
|
27203
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { type: "submit", disabled:
|
|
27204
|
-
|
|
27725
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { type: "submit", disabled: create3.isPending, children: [
|
|
27726
|
+
create3.isPending && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-1 size-4 animate-spin" }),
|
|
27205
27727
|
"Create"
|
|
27206
27728
|
] })
|
|
27207
27729
|
] })
|
|
@@ -29371,7 +29893,7 @@ function ProcessingSettingsFooter({
|
|
|
29371
29893
|
[configField]
|
|
29372
29894
|
);
|
|
29373
29895
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
29374
|
-
|
|
29896
|
+
chunkERDQ4DAX_cjs.UploadFooterBar,
|
|
29375
29897
|
{
|
|
29376
29898
|
skipDuplicates,
|
|
29377
29899
|
onSkipDuplicatesChange: (value) => handleConfigChange("Parser", "SKIP_DUPLICATES", value),
|
|
@@ -29380,7 +29902,7 @@ function ProcessingSettingsFooter({
|
|
|
29380
29902
|
autoRenameInstruction,
|
|
29381
29903
|
onAutoRenameInstructionChange: (value) => handleConfigChange("DoctagLLM", "AUTO_RENAME_INSTRUCTION", value),
|
|
29382
29904
|
shareToggle: /* @__PURE__ */ jsxRuntime.jsx(
|
|
29383
|
-
|
|
29905
|
+
chunkERDQ4DAX_cjs.ShareToggle,
|
|
29384
29906
|
{
|
|
29385
29907
|
isVisible: isShared,
|
|
29386
29908
|
onToggle: onSharedChange,
|
|
@@ -29557,7 +30079,7 @@ ${summary}`,
|
|
|
29557
30079
|
}
|
|
29558
30080
|
);
|
|
29559
30081
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-0 flex-1 flex-col", "data-testid": "upload-documents", children: [
|
|
29560
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-y-auto pb-2", children: uploading === null ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
30082
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-y-auto pb-2", children: uploading === null ? /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.UploadContainer, { className: "w-full px-4 pb-4 pt-2 sm:px-6", children: [
|
|
29561
30083
|
files.length === 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
29562
30084
|
ConnectedUploadDropzone,
|
|
29563
30085
|
{
|
|
@@ -29573,7 +30095,7 @@ ${summary}`,
|
|
|
29573
30095
|
}
|
|
29574
30096
|
),
|
|
29575
30097
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
29576
|
-
|
|
30098
|
+
chunkERDQ4DAX_cjs.SelectedFilesList,
|
|
29577
30099
|
{
|
|
29578
30100
|
renderFileIcon,
|
|
29579
30101
|
files,
|
|
@@ -29582,10 +30104,10 @@ ${summary}`,
|
|
|
29582
30104
|
formatFileSize: formatFileSize4
|
|
29583
30105
|
}
|
|
29584
30106
|
),
|
|
29585
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
29586
|
-
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
29587
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
29588
|
-
|
|
30107
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.RejectedFilesList, { files: refused, onClear: () => setRefused([]) }),
|
|
30108
|
+
error && /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadErrorMessage, { message: error })
|
|
30109
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadContainer, { className: "w-full p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
30110
|
+
chunkERDQ4DAX_cjs.UploadProgress,
|
|
29589
30111
|
{
|
|
29590
30112
|
fileCount: count2,
|
|
29591
30113
|
entityLabel: plural5(count2),
|
|
@@ -29725,7 +30247,7 @@ var PROVIDER_FAMILIES = [
|
|
|
29725
30247
|
{ key: "google", label: "Google", vendors: ["gmail"] }
|
|
29726
30248
|
];
|
|
29727
30249
|
function VendorGlyph({ catalog }) {
|
|
29728
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30250
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.VendorLogo, { vendorKey: catalog.vendor_key, className: "h-7 w-7" });
|
|
29729
30251
|
}
|
|
29730
30252
|
function mailboxProductName(catalog) {
|
|
29731
30253
|
if (catalog.vendor_key === "microsoft") return "Outlook";
|
|
@@ -29792,7 +30314,7 @@ function EmailProviderRow({
|
|
|
29792
30314
|
const emailNoun = (n) => n === 1 ? "email" : "emails";
|
|
29793
30315
|
const syncedCount = thisSync?.synced_count ?? 0;
|
|
29794
30316
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
29795
|
-
|
|
30317
|
+
chunkERDQ4DAX_cjs.ImportRow,
|
|
29796
30318
|
{
|
|
29797
30319
|
testId: `email-provider-row-${catalog.vendor_key}`,
|
|
29798
30320
|
logo: /* @__PURE__ */ jsxRuntime.jsx(VendorGlyph, { catalog }),
|
|
@@ -29801,7 +30323,7 @@ function EmailProviderRow({
|
|
|
29801
30323
|
// Connecting AND reconnecting are owned by the family header, so a
|
|
29802
30324
|
// not-connected or needs-reconnect row shows no button of its own.
|
|
29803
30325
|
!isConnected || needsReconnect ? null : /* @__PURE__ */ jsxRuntime.jsx(
|
|
29804
|
-
|
|
30326
|
+
chunkERDQ4DAX_cjs.ImportRunActions,
|
|
29805
30327
|
{
|
|
29806
30328
|
isRunning: running,
|
|
29807
30329
|
isStopping: cancelSync.isPending,
|
|
@@ -29816,10 +30338,10 @@ function EmailProviderRow({
|
|
|
29816
30338
|
),
|
|
29817
30339
|
children: [
|
|
29818
30340
|
isConnected && !needsReconnect && !running && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
29819
|
-
|
|
30341
|
+
chunkERDQ4DAX_cjs.ImportSummary,
|
|
29820
30342
|
{
|
|
29821
|
-
aside: /* @__PURE__ */ jsxRuntime.jsx(
|
|
29822
|
-
|
|
30343
|
+
aside: /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ImportAside, { children: thisSync && thisSync.folders.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
30344
|
+
chunkERDQ4DAX_cjs.FolderSummary,
|
|
29823
30345
|
{
|
|
29824
30346
|
names: thisSync.folders.map(
|
|
29825
30347
|
(id) => mailboxFolders?.find((f) => f.id === id)?.name
|
|
@@ -29842,7 +30364,7 @@ function EmailProviderRow({
|
|
|
29842
30364
|
}
|
|
29843
30365
|
),
|
|
29844
30366
|
running && /* @__PURE__ */ jsxRuntime.jsx(
|
|
29845
|
-
|
|
30367
|
+
chunkERDQ4DAX_cjs.ImportProgress,
|
|
29846
30368
|
{
|
|
29847
30369
|
processed: progress?.processed ?? 0,
|
|
29848
30370
|
total: progress?.total,
|
|
@@ -29959,9 +30481,9 @@ function EmailImportPanel({
|
|
|
29959
30481
|
return { family, entries, extra, identity, connectVendor, connected, needsReconnect };
|
|
29960
30482
|
}).filter((g) => g.entries.length > 0 || g.extra);
|
|
29961
30483
|
if (groups.length === 0) return null;
|
|
29962
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30484
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ImportPanel, { "data-testid": "email-import-panel", children: groups.map(
|
|
29963
30485
|
({ family, entries, extra, identity, connectVendor, connected, needsReconnect }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
29964
|
-
|
|
30486
|
+
chunkERDQ4DAX_cjs.ImportFamilySection,
|
|
29965
30487
|
{
|
|
29966
30488
|
label: family.label,
|
|
29967
30489
|
identity,
|
|
@@ -29970,7 +30492,7 @@ function EmailImportPanel({
|
|
|
29970
30492
|
onAction: () => void (!connected ? connectFamily(connectVendor) : needsReconnect ? reconnectFamily(connectVendor) : disconnectFamily(family, connectVendor, identity)),
|
|
29971
30493
|
testId: `import-family-${family.key}`,
|
|
29972
30494
|
actionButton: !connected ? { testId: `import-family-connect-${family.key}` } : needsReconnect ? { testId: `import-family-reconnect-${family.key}` } : { testId: `import-family-disconnect-${family.key}` },
|
|
29973
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
30495
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.ImportList, { children: [
|
|
29974
30496
|
entries.map((entry) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
29975
30497
|
EmailProviderRow,
|
|
29976
30498
|
{
|
|
@@ -30054,7 +30576,7 @@ function driveProduct(vendorKey) {
|
|
|
30054
30576
|
}
|
|
30055
30577
|
function VendorGlyph2({ catalog }) {
|
|
30056
30578
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30057
|
-
|
|
30579
|
+
chunkERDQ4DAX_cjs.VendorLogo,
|
|
30058
30580
|
{
|
|
30059
30581
|
vendorKey: catalog.vendor_key,
|
|
30060
30582
|
product: driveProduct(catalog.vendor_key).glyph,
|
|
@@ -30177,7 +30699,7 @@ function OneDriveProviderRow({
|
|
|
30177
30699
|
const driveNoun = (n) => n === 1 ? "document" : "documents";
|
|
30178
30700
|
const showRunActions = isConnected && !needsReconnect;
|
|
30179
30701
|
const reconnectAction = ownsAuth && needsReconnect ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
30180
|
-
|
|
30702
|
+
chunkERDQ4DAX_cjs.ImportActionButton,
|
|
30181
30703
|
{
|
|
30182
30704
|
onClick: () => void reconnectSelf(),
|
|
30183
30705
|
disabled: reauthPending,
|
|
@@ -30186,7 +30708,7 @@ function OneDriveProviderRow({
|
|
|
30186
30708
|
}
|
|
30187
30709
|
) : null;
|
|
30188
30710
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
30189
|
-
|
|
30711
|
+
chunkERDQ4DAX_cjs.ImportRow,
|
|
30190
30712
|
{
|
|
30191
30713
|
testId: `onedrive-provider-row-${catalog.vendor_key}`,
|
|
30192
30714
|
logo: /* @__PURE__ */ jsxRuntime.jsx(VendorGlyph2, { catalog }),
|
|
@@ -30198,7 +30720,7 @@ function OneDriveProviderRow({
|
|
|
30198
30720
|
// Until folders are configured here (or when nothing new is pending), Import now
|
|
30199
30721
|
// stays disabled; the gear opens the folder picker.
|
|
30200
30722
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30201
|
-
|
|
30723
|
+
chunkERDQ4DAX_cjs.ImportRunActions,
|
|
30202
30724
|
{
|
|
30203
30725
|
isRunning: running,
|
|
30204
30726
|
isStopping: cancelSync.isPending,
|
|
@@ -30217,16 +30739,16 @@ function OneDriveProviderRow({
|
|
|
30217
30739
|
) : reconnectAction
|
|
30218
30740
|
),
|
|
30219
30741
|
children: [
|
|
30220
|
-
ownsAuth && needsReconnect && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
30742
|
+
ownsAuth && needsReconnect && /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.ImportHint, { "data-testid": `onedrive-reconnect-hint-${catalog.vendor_key}`, children: [
|
|
30221
30743
|
"Couldn\u2019t reach SharePoint. Click ",
|
|
30222
30744
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: "Reconnect" }),
|
|
30223
30745
|
" \u2014 if it keeps happening, log out and back in to refresh the connection."
|
|
30224
30746
|
] }),
|
|
30225
30747
|
configuredHere && !needsReconnect && !running && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
30226
|
-
|
|
30748
|
+
chunkERDQ4DAX_cjs.ImportSummary,
|
|
30227
30749
|
{
|
|
30228
30750
|
className: "mt-2",
|
|
30229
|
-
aside: typeof pendingCount === "number" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
30751
|
+
aside: typeof pendingCount === "number" ? /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ImportAside, { className: "max-w-none shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx("span", { "data-testid": `drive-pending-${catalog.vendor_key}`, children: pendingCount > 0 ? `${pendingCount.toLocaleString()} new ${driveNoun(pendingCount)} to sync` : "No new documents to sync" }) }) : void 0,
|
|
30230
30752
|
children: [
|
|
30231
30753
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
30232
30754
|
"Syncing ",
|
|
@@ -30254,7 +30776,7 @@ function OneDriveProviderRow({
|
|
|
30254
30776
|
}
|
|
30255
30777
|
),
|
|
30256
30778
|
running && /* @__PURE__ */ jsxRuntime.jsx(
|
|
30257
|
-
|
|
30779
|
+
chunkERDQ4DAX_cjs.ImportProgress,
|
|
30258
30780
|
{
|
|
30259
30781
|
processed: progress?.processed ?? 0,
|
|
30260
30782
|
total: progress?.total,
|
|
@@ -30318,13 +30840,13 @@ function SharePointEnableRow({
|
|
|
30318
30840
|
}
|
|
30319
30841
|
};
|
|
30320
30842
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30321
|
-
|
|
30843
|
+
chunkERDQ4DAX_cjs.ImportRow,
|
|
30322
30844
|
{
|
|
30323
30845
|
testId: `onedrive-provider-row-${catalog.vendor_key}`,
|
|
30324
|
-
logo: /* @__PURE__ */ jsxRuntime.jsx(
|
|
30846
|
+
logo: /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.VendorLogo, { vendorKey: catalog.vendor_key, product: product.glyph, className: "h-7 w-7" }),
|
|
30325
30847
|
name: product.name,
|
|
30326
30848
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
30327
|
-
|
|
30849
|
+
chunkERDQ4DAX_cjs.ImportActionButton,
|
|
30328
30850
|
{
|
|
30329
30851
|
onClick: () => void enable(),
|
|
30330
30852
|
disabled: pending,
|
|
@@ -30332,7 +30854,7 @@ function SharePointEnableRow({
|
|
|
30332
30854
|
children: pending ? "Enabling\u2026" : `Enable ${product.name}`
|
|
30333
30855
|
}
|
|
30334
30856
|
),
|
|
30335
|
-
children: sharePointAdminUrl && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
30857
|
+
children: sharePointAdminUrl && /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.ImportHint, { children: [
|
|
30336
30858
|
"Does your organization require admin approval?",
|
|
30337
30859
|
" ",
|
|
30338
30860
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -30381,11 +30903,11 @@ function DriveImportPanel({
|
|
|
30381
30903
|
}
|
|
30382
30904
|
const product = driveProduct(entry.vendor_key);
|
|
30383
30905
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30384
|
-
|
|
30906
|
+
chunkERDQ4DAX_cjs.ImportRow,
|
|
30385
30907
|
{
|
|
30386
30908
|
testId: `onedrive-provider-row-${entry.vendor_key}`,
|
|
30387
30909
|
logo: /* @__PURE__ */ jsxRuntime.jsx(
|
|
30388
|
-
|
|
30910
|
+
chunkERDQ4DAX_cjs.VendorLogo,
|
|
30389
30911
|
{
|
|
30390
30912
|
vendorKey: entry.vendor_key,
|
|
30391
30913
|
product: product.glyph,
|
|
@@ -30410,7 +30932,7 @@ function DriveImportPanel({
|
|
|
30410
30932
|
);
|
|
30411
30933
|
}).filter(Boolean);
|
|
30412
30934
|
if (rows.length === 0) return null;
|
|
30413
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30935
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ImportList, { "data-testid": "onedrive-import-panel", children: rows });
|
|
30414
30936
|
}
|
|
30415
30937
|
function useHasAccountsImport() {
|
|
30416
30938
|
const isVendorVisible = react.useConnectorVendorVisibility();
|
|
@@ -30601,17 +31123,130 @@ function ConnectedBulkTagCrumbs() {
|
|
|
30601
31123
|
}
|
|
30602
31124
|
);
|
|
30603
31125
|
}
|
|
30604
|
-
var
|
|
30605
|
-
|
|
30606
|
-
|
|
30607
|
-
|
|
30608
|
-
|
|
30609
|
-
|
|
30610
|
-
|
|
31126
|
+
var NO_USERS = [];
|
|
31127
|
+
var NO_DOCUMENTS2 = [];
|
|
31128
|
+
var NO_FOLDER_UPDATE = () => {
|
|
31129
|
+
};
|
|
31130
|
+
function DocumentNameCellRenderer(params) {
|
|
31131
|
+
const {
|
|
31132
|
+
data: doc,
|
|
31133
|
+
canEdit,
|
|
31134
|
+
onOpenDocument,
|
|
31135
|
+
onReviewDocument,
|
|
31136
|
+
onDocumentChat,
|
|
31137
|
+
onDownloadDocument,
|
|
31138
|
+
onMoveDocument,
|
|
31139
|
+
onDeleteDocument
|
|
31140
|
+
} = params;
|
|
31141
|
+
if (!doc) return null;
|
|
31142
|
+
const context = params.context;
|
|
31143
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31144
|
+
chunkJ24LYNTY_cjs.DocumentNameCell,
|
|
31145
|
+
{
|
|
31146
|
+
doc,
|
|
31147
|
+
canEdit: canEdit(params),
|
|
31148
|
+
users: context?.getWorkspaceUsers?.() ?? NO_USERS,
|
|
31149
|
+
onOpen: () => onOpenDocument(doc.external_id),
|
|
31150
|
+
onReview: onReviewDocument && (() => onReviewDocument(doc.external_id)),
|
|
31151
|
+
onDocumentChat: onDocumentChat && (() => onDocumentChat(doc.external_id)),
|
|
31152
|
+
onRename: () => params.api.startEditingCell({ rowIndex: params.node.rowIndex ?? 0, colKey: "title" }),
|
|
31153
|
+
onDownload: () => onDownloadDocument?.(doc),
|
|
31154
|
+
onMove: () => onMoveDocument?.(doc.external_id),
|
|
31155
|
+
onDelete: () => onDeleteDocument?.(doc.external_id)
|
|
31156
|
+
}
|
|
31157
|
+
);
|
|
31158
|
+
}
|
|
31159
|
+
function SharedCellRenderer(params) {
|
|
31160
|
+
if (!params.data) return null;
|
|
31161
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31162
|
+
chunkJ24LYNTY_cjs.DocumentSharedCell,
|
|
31163
|
+
{
|
|
31164
|
+
document: params.data,
|
|
31165
|
+
disabled: !params.canToggle(params),
|
|
31166
|
+
disabledTooltip: "Only the owner can change visibility",
|
|
31167
|
+
onToggle: params.onToggleShared
|
|
31168
|
+
}
|
|
31169
|
+
);
|
|
31170
|
+
}
|
|
31171
|
+
function StatusCellRenderer(params) {
|
|
31172
|
+
if (!params.data) return null;
|
|
31173
|
+
const context = params.context;
|
|
31174
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31175
|
+
chunkJ24LYNTY_cjs.StatusCell,
|
|
31176
|
+
{
|
|
31177
|
+
doc: params.data,
|
|
31178
|
+
onStatusClick: params.onStatusClick,
|
|
31179
|
+
actions: context?.getHostActions?.()
|
|
31180
|
+
}
|
|
31181
|
+
);
|
|
31182
|
+
}
|
|
31183
|
+
function LabelsCellRenderer(params) {
|
|
31184
|
+
if (!params.data) return null;
|
|
31185
|
+
const context = params.context;
|
|
31186
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31187
|
+
chunkJ24LYNTY_cjs.DocumentLabelsCell,
|
|
31188
|
+
{
|
|
31189
|
+
doc: params.data,
|
|
31190
|
+
labels: params.labels,
|
|
31191
|
+
createDocTag: params.createDocTag,
|
|
31192
|
+
deleteDocTag: params.deleteDocTag,
|
|
31193
|
+
createTag: params.createTag,
|
|
31194
|
+
isMember: params.isMember,
|
|
31195
|
+
rowHeight: params.node.rowHeight ?? 52,
|
|
31196
|
+
actions: context?.getHostActions?.()
|
|
31197
|
+
}
|
|
31198
|
+
);
|
|
31199
|
+
}
|
|
31200
|
+
function RelatedDocsCellRenderer(params) {
|
|
31201
|
+
if (!params.data) return null;
|
|
31202
|
+
const context = params.context;
|
|
31203
|
+
const related = context?.getRelatedDocs?.().get(params.data.external_id);
|
|
31204
|
+
if (!related || react.getRelatedTotal(related) === 0) return null;
|
|
31205
|
+
const { onOpenDocument, onDeleteDocument } = params;
|
|
31206
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31207
|
+
chunkJ24LYNTY_cjs.RelatedDocumentsCell,
|
|
31208
|
+
{
|
|
31209
|
+
currentDoc: params.data,
|
|
31210
|
+
related,
|
|
31211
|
+
viewingDocumentId: context?.getViewingDocumentId?.() ?? null,
|
|
31212
|
+
onDocumentClick: onOpenDocument,
|
|
31213
|
+
onDelete: (doc) => onDeleteDocument?.(doc.external_id),
|
|
31214
|
+
onCompare: context?.getHostActions?.().compareDocuments
|
|
31215
|
+
}
|
|
31216
|
+
);
|
|
31217
|
+
}
|
|
31218
|
+
function FolderCellRenderer(params) {
|
|
31219
|
+
if (!params.data) return null;
|
|
31220
|
+
const context = params.context;
|
|
31221
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31222
|
+
chunkJ24LYNTY_cjs.DocumentFolderCell,
|
|
31223
|
+
{
|
|
31224
|
+
document: params.data,
|
|
31225
|
+
isEditable: params.canEdit(params),
|
|
31226
|
+
allDocuments: context?.getDocuments?.() ?? NO_DOCUMENTS2,
|
|
31227
|
+
onUpdateFolder: context?.updateFolder ?? NO_FOLDER_UPDATE
|
|
31228
|
+
}
|
|
31229
|
+
);
|
|
31230
|
+
}
|
|
31231
|
+
function CreatedByCellRenderer(params) {
|
|
31232
|
+
if (!params.data) return null;
|
|
31233
|
+
const context = params.context;
|
|
31234
|
+
const creator = context?.getWorkspaceUsers?.().find((u) => u.external_id === params.data.created_by_ext_id);
|
|
31235
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
31236
|
+
chunkJ24LYNTY_cjs.UserAvatar,
|
|
31237
|
+
{
|
|
31238
|
+
user: creator,
|
|
31239
|
+
isMe: !!creator && creator.external_id === context?.getCurrentUserId?.(),
|
|
31240
|
+
onOpen: context?.getHostActions?.().openUser
|
|
31241
|
+
}
|
|
31242
|
+
) });
|
|
31243
|
+
}
|
|
31244
|
+
function CheckboxCellRenderer(params) {
|
|
31245
|
+
const { tagId, tagName, tagColor, isMember } = params;
|
|
30611
31246
|
if (!params.data) return null;
|
|
30612
31247
|
const isChecked = params.value === true;
|
|
30613
31248
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30614
|
-
|
|
31249
|
+
chunkERDQ4DAX_cjs.CheckboxCell,
|
|
30615
31250
|
{
|
|
30616
31251
|
isChecked,
|
|
30617
31252
|
color: tagColor,
|
|
@@ -30620,12 +31255,9 @@ var CheckboxCellRenderer = react$1.memo(function CheckboxCellRenderer2({
|
|
|
30620
31255
|
onToggle: () => params.node.setDataValue(tagId, !isChecked)
|
|
30621
31256
|
}
|
|
30622
31257
|
);
|
|
30623
|
-
}
|
|
30624
|
-
|
|
30625
|
-
params
|
|
30626
|
-
tag,
|
|
30627
|
-
isCheckbox
|
|
30628
|
-
}) {
|
|
31258
|
+
}
|
|
31259
|
+
function TagHeaderComponent(params) {
|
|
31260
|
+
const { tag, isCheckbox } = params;
|
|
30629
31261
|
const [sort, setSort] = react$1.useState(params.column.getSort());
|
|
30630
31262
|
react$1.useEffect(() => {
|
|
30631
31263
|
const updateSort = () => setSort(params.column.getSort());
|
|
@@ -30634,16 +31266,16 @@ var TagHeaderComponent = react$1.memo(function TagHeaderComponent2({
|
|
|
30634
31266
|
return () => params.column.removeEventListener("sortChanged", updateSort);
|
|
30635
31267
|
}, [params.column]);
|
|
30636
31268
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30637
|
-
|
|
31269
|
+
chunkERDQ4DAX_cjs.TagColumnHeader,
|
|
30638
31270
|
{
|
|
30639
31271
|
isCentered: isCheckbox,
|
|
30640
31272
|
sort,
|
|
30641
31273
|
onSort: params.enableSorting ? (additive) => params.progressSort(additive) : void 0,
|
|
30642
|
-
filter: /* @__PURE__ */ jsxRuntime.jsx(
|
|
30643
|
-
label: /* @__PURE__ */ jsxRuntime.jsx(
|
|
31274
|
+
filter: /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FilterButton, { params, colId: tag.external_id }),
|
|
31275
|
+
label: /* @__PURE__ */ jsxRuntime.jsx(chunkVD33HXFZ_cjs.ConnectedTagEntity, { tag, size: "sm" })
|
|
30644
31276
|
}
|
|
30645
31277
|
);
|
|
30646
|
-
}
|
|
31278
|
+
}
|
|
30647
31279
|
var TAG_FILTER_PARAMS = {
|
|
30648
31280
|
buttons: ["reset", "apply"],
|
|
30649
31281
|
closeOnApply: true
|
|
@@ -30717,23 +31349,21 @@ function createTagColumn({
|
|
|
30717
31349
|
headerClass: isCheckbox ? "ag-header-cell-center" : void 0,
|
|
30718
31350
|
// Custom comparator for sorting - use factory to create stable function
|
|
30719
31351
|
comparator: createTagComparator(tag.tag_type.type),
|
|
30720
|
-
|
|
30721
|
-
|
|
30722
|
-
|
|
30723
|
-
|
|
30724
|
-
|
|
30725
|
-
|
|
30726
|
-
|
|
30727
|
-
|
|
30728
|
-
|
|
30729
|
-
) : void 0,
|
|
30730
|
-
// Use default rendering for text/number/select - shows value with truncation
|
|
30731
|
-
cellEditor: isSelect ? chunkVJTDTWNZ_cjs.MultiSelectCellEditor : isText ? "agLargeTextCellEditor" : void 0,
|
|
31352
|
+
// Text/number/select use the default rendering (the value, truncated).
|
|
31353
|
+
cellRenderer: isCheckbox ? CheckboxCellRenderer : void 0,
|
|
31354
|
+
cellRendererParams: isCheckbox ? {
|
|
31355
|
+
tagId: tag.external_id,
|
|
31356
|
+
tagName: tag.name,
|
|
31357
|
+
tagColor,
|
|
31358
|
+
isMember
|
|
31359
|
+
} : void 0,
|
|
31360
|
+
cellEditor: isSelect ? chunkERDQ4DAX_cjs.MultiSelectCellEditor : isText ? "agLargeTextCellEditor" : void 0,
|
|
30732
31361
|
cellEditorParams: isSelect ? createMultiSelectCellEditorParams(tag.tag_type.options || []) : isText ? { rows: 8, cols: 50 } : void 0,
|
|
30733
31362
|
cellEditorPopup: isText || isSelect,
|
|
30734
31363
|
// Text and Select tags use popup editor for better UX
|
|
30735
31364
|
// Header with icon and title, filter button on left
|
|
30736
|
-
headerComponent:
|
|
31365
|
+
headerComponent: TagHeaderComponent,
|
|
31366
|
+
headerComponentParams: { tag, isCheckbox },
|
|
30737
31367
|
// Value getter
|
|
30738
31368
|
valueGetter: (params) => {
|
|
30739
31369
|
if (!params.data) return isCheckbox ? false : "";
|
|
@@ -30822,6 +31452,8 @@ function createTagColumn({
|
|
|
30822
31452
|
}
|
|
30823
31453
|
};
|
|
30824
31454
|
}
|
|
31455
|
+
|
|
31456
|
+
// src/connection/files/grid/documentColumns.tsx
|
|
30825
31457
|
var FILTER_PARAMS = {
|
|
30826
31458
|
buttons: ["reset", "apply"],
|
|
30827
31459
|
closeOnApply: true
|
|
@@ -30845,101 +31477,9 @@ function createDocumentColumns({
|
|
|
30845
31477
|
onToggleShared,
|
|
30846
31478
|
notify: notify17
|
|
30847
31479
|
}) {
|
|
30848
|
-
const isRowEditableByOwner = (params) =>
|
|
30849
|
-
const isRowEditableByMember = (params) =>
|
|
30850
|
-
const documentNameCellRenderer = (params) => {
|
|
30851
|
-
const doc = params.data;
|
|
30852
|
-
if (!doc) return null;
|
|
30853
|
-
const context = params.context;
|
|
30854
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30855
|
-
chunkERVXJW7P_cjs.DocumentNameCell,
|
|
30856
|
-
{
|
|
30857
|
-
doc,
|
|
30858
|
-
canEdit: isRowEditableByMember(params),
|
|
30859
|
-
users: context?.getWorkspaceUsers?.() ?? NO_USERS,
|
|
30860
|
-
onOpen: () => handleToggleDocumentViewer(doc.external_id),
|
|
30861
|
-
onReview: onReviewDocument && (() => onReviewDocument(doc.external_id)),
|
|
30862
|
-
onDocumentChat: onDocumentChat && (() => onDocumentChat(doc.external_id)),
|
|
30863
|
-
onRename: () => params.api.startEditingCell({ rowIndex: params.node.rowIndex ?? 0, colKey: "title" }),
|
|
30864
|
-
onDownload: () => onDownloadDocument?.(doc),
|
|
30865
|
-
onMove: () => onMoveDocument?.(doc.external_id),
|
|
30866
|
-
onDelete: () => onDeleteDocument?.(doc.external_id)
|
|
30867
|
-
}
|
|
30868
|
-
);
|
|
30869
|
-
};
|
|
30870
|
-
const sharedCellRenderer = (params) => {
|
|
30871
|
-
if (!params.data) return null;
|
|
30872
|
-
const isOwner = isRowEditableByOwner(params);
|
|
30873
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30874
|
-
chunkERVXJW7P_cjs.DocumentSharedCell,
|
|
30875
|
-
{
|
|
30876
|
-
document: params.data,
|
|
30877
|
-
disabled: !isOwner,
|
|
30878
|
-
disabledTooltip: "Only the owner can change visibility",
|
|
30879
|
-
onToggle: onToggleShared
|
|
30880
|
-
}
|
|
30881
|
-
);
|
|
30882
|
-
};
|
|
30883
|
-
const statusCellRenderer = (params) => {
|
|
30884
|
-
if (!params.data) return null;
|
|
30885
|
-
const context = params.context;
|
|
30886
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30887
|
-
chunkERVXJW7P_cjs.StatusCell,
|
|
30888
|
-
{
|
|
30889
|
-
doc: params.data,
|
|
30890
|
-
onStatusClick,
|
|
30891
|
-
actions: context?.getHostActions?.()
|
|
30892
|
-
}
|
|
30893
|
-
);
|
|
30894
|
-
};
|
|
31480
|
+
const isRowEditableByOwner = (params) => chunkERDQ4DAX_cjs.canChangeVisibility(params.data, currentUserExtId);
|
|
31481
|
+
const isRowEditableByMember = (params) => chunkERDQ4DAX_cjs.canEditDocumentFields(params.data, currentUserExtId, workspaceRole);
|
|
30895
31482
|
const checkboxTags = availableTags.filter(browser.isLabelTag);
|
|
30896
|
-
const tagsCellRenderer = (params) => {
|
|
30897
|
-
if (!params.data) return null;
|
|
30898
|
-
const context = params.context;
|
|
30899
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30900
|
-
chunkERVXJW7P_cjs.DocumentLabelsCell,
|
|
30901
|
-
{
|
|
30902
|
-
doc: params.data,
|
|
30903
|
-
labels: checkboxTags,
|
|
30904
|
-
createDocTag,
|
|
30905
|
-
deleteDocTag,
|
|
30906
|
-
createTag,
|
|
30907
|
-
isMember,
|
|
30908
|
-
rowHeight: params.node.rowHeight ?? 52,
|
|
30909
|
-
actions: context?.getHostActions?.()
|
|
30910
|
-
}
|
|
30911
|
-
);
|
|
30912
|
-
};
|
|
30913
|
-
const relatedDocsCellRenderer = (params) => {
|
|
30914
|
-
if (!params.data) return null;
|
|
30915
|
-
const context = params.context;
|
|
30916
|
-
const related = context?.getRelatedDocs?.().get(params.data.external_id);
|
|
30917
|
-
if (!related || react.getRelatedTotal(related) === 0) return null;
|
|
30918
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30919
|
-
chunkERVXJW7P_cjs.RelatedDocumentsCell,
|
|
30920
|
-
{
|
|
30921
|
-
currentDoc: params.data,
|
|
30922
|
-
related,
|
|
30923
|
-
viewingDocumentId: context?.getViewingDocumentId?.() ?? null,
|
|
30924
|
-
onDocumentClick: handleToggleDocumentViewer,
|
|
30925
|
-
onDelete: (doc) => onDeleteDocument?.(doc.external_id),
|
|
30926
|
-
onCompare: context?.getHostActions?.().compareDocuments
|
|
30927
|
-
}
|
|
30928
|
-
);
|
|
30929
|
-
};
|
|
30930
|
-
const folderCellRenderer = (params) => {
|
|
30931
|
-
if (!params.data) return null;
|
|
30932
|
-
const context = params.context;
|
|
30933
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30934
|
-
chunkERVXJW7P_cjs.DocumentFolderCell,
|
|
30935
|
-
{
|
|
30936
|
-
document: params.data,
|
|
30937
|
-
isEditable: isRowEditableByMember(params),
|
|
30938
|
-
allDocuments: context?.getDocuments?.() ?? NO_DOCUMENTS2,
|
|
30939
|
-
onUpdateFolder: context?.updateFolder ?? NO_FOLDER_UPDATE
|
|
30940
|
-
}
|
|
30941
|
-
);
|
|
30942
|
-
};
|
|
30943
31483
|
const allColumns = [];
|
|
30944
31484
|
allColumns.push({
|
|
30945
31485
|
colId: "status",
|
|
@@ -30990,7 +31530,8 @@ function createDocumentColumns({
|
|
|
30990
31530
|
}
|
|
30991
31531
|
return 0;
|
|
30992
31532
|
},
|
|
30993
|
-
cellRenderer:
|
|
31533
|
+
cellRenderer: StatusCellRenderer,
|
|
31534
|
+
cellRendererParams: { onStatusClick },
|
|
30994
31535
|
// Status is a single icon — center it horizontally (header + cell) rather
|
|
30995
31536
|
// than left-aligning a lone glyph against the column edge. `cell-status`
|
|
30996
31537
|
// trims the cell's vertical padding so the progress bar + label fit (and sit
|
|
@@ -31026,7 +31567,16 @@ function createDocumentColumns({
|
|
|
31026
31567
|
cellEditorPopup: true,
|
|
31027
31568
|
cellEditorParams: { rows: 5, cols: 50 },
|
|
31028
31569
|
context: { icon: lucideReact.FileText },
|
|
31029
|
-
cellRenderer:
|
|
31570
|
+
cellRenderer: DocumentNameCellRenderer,
|
|
31571
|
+
cellRendererParams: {
|
|
31572
|
+
canEdit: isRowEditableByMember,
|
|
31573
|
+
onOpenDocument: handleToggleDocumentViewer,
|
|
31574
|
+
onReviewDocument,
|
|
31575
|
+
onDocumentChat,
|
|
31576
|
+
onDownloadDocument,
|
|
31577
|
+
onMoveDocument,
|
|
31578
|
+
onDeleteDocument
|
|
31579
|
+
},
|
|
31030
31580
|
valueGetter: (params) => ui.getDocumentTitle(params.data, "Untitled"),
|
|
31031
31581
|
valueSetter: (params) => {
|
|
31032
31582
|
if (!params.data) return false;
|
|
@@ -31051,7 +31601,7 @@ function createDocumentColumns({
|
|
|
31051
31601
|
singleClickEdit: true,
|
|
31052
31602
|
cellEditor: "agSelectCellEditor",
|
|
31053
31603
|
cellEditorParams: {
|
|
31054
|
-
values: [...
|
|
31604
|
+
values: [...chunkERDQ4DAX_cjs.DOCUMENT_TYPE_OPTIONS]
|
|
31055
31605
|
},
|
|
31056
31606
|
context: { icon: lucideReact.Sparkles },
|
|
31057
31607
|
valueGetter: (params) => ui.getDocumentNature(params.data) || "",
|
|
@@ -31272,7 +31822,8 @@ function createDocumentColumns({
|
|
|
31272
31822
|
filterParams: FILTER_PARAMS,
|
|
31273
31823
|
context: { icon: lucideReact.FolderOpen },
|
|
31274
31824
|
valueFormatter: (params) => ui.formatFolderLabel(params.value),
|
|
31275
|
-
cellRenderer:
|
|
31825
|
+
cellRenderer: FolderCellRenderer,
|
|
31826
|
+
cellRendererParams: { canEdit: isRowEditableByMember },
|
|
31276
31827
|
cellClass: (params) => isRowEditableByMember(params) ? "cell-editable-member relative" : "cell-editable-readonly relative"
|
|
31277
31828
|
});
|
|
31278
31829
|
allColumns.push({
|
|
@@ -31337,7 +31888,11 @@ function createDocumentColumns({
|
|
|
31337
31888
|
const paddedCount = String(meta.count).padStart(6, "0");
|
|
31338
31889
|
return `${meta.tier}|${paddedCount}|${groupId}|${rank}|${doc.external_id}`;
|
|
31339
31890
|
},
|
|
31340
|
-
cellRenderer:
|
|
31891
|
+
cellRenderer: RelatedDocsCellRenderer,
|
|
31892
|
+
cellRendererParams: {
|
|
31893
|
+
onOpenDocument: handleToggleDocumentViewer,
|
|
31894
|
+
onDeleteDocument
|
|
31895
|
+
}
|
|
31341
31896
|
});
|
|
31342
31897
|
allColumns.push({
|
|
31343
31898
|
colId: "shared",
|
|
@@ -31350,21 +31905,12 @@ function createDocumentColumns({
|
|
|
31350
31905
|
valueGetter: (params) => {
|
|
31351
31906
|
return params.data?.shared ?? false;
|
|
31352
31907
|
},
|
|
31353
|
-
cellRenderer:
|
|
31908
|
+
cellRenderer: SharedCellRenderer,
|
|
31909
|
+
cellRendererParams: {
|
|
31910
|
+
canToggle: isRowEditableByOwner,
|
|
31911
|
+
onToggleShared
|
|
31912
|
+
}
|
|
31354
31913
|
});
|
|
31355
|
-
const createdByCellRenderer = (params) => {
|
|
31356
|
-
if (!params.data) return null;
|
|
31357
|
-
const context = params.context;
|
|
31358
|
-
const creator = context?.getWorkspaceUsers?.().find((u) => u.external_id === params.data.created_by_ext_id);
|
|
31359
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
31360
|
-
chunkERVXJW7P_cjs.UserAvatar,
|
|
31361
|
-
{
|
|
31362
|
-
user: creator,
|
|
31363
|
-
isMe: !!creator && creator.external_id === context?.getCurrentUserId?.(),
|
|
31364
|
-
onOpen: context?.getHostActions?.().openUser
|
|
31365
|
-
}
|
|
31366
|
-
) });
|
|
31367
|
-
};
|
|
31368
31914
|
allColumns.push({
|
|
31369
31915
|
colId: "created_by",
|
|
31370
31916
|
headerName: "By",
|
|
@@ -31379,7 +31925,7 @@ function createDocumentColumns({
|
|
|
31379
31925
|
const fullName = [creator.given_name, creator.family_name].filter(Boolean).join(" ");
|
|
31380
31926
|
return fullName || creator.email || "";
|
|
31381
31927
|
},
|
|
31382
|
-
cellRenderer:
|
|
31928
|
+
cellRenderer: CreatedByCellRenderer
|
|
31383
31929
|
});
|
|
31384
31930
|
allColumns.push({
|
|
31385
31931
|
colId: "all_tags",
|
|
@@ -31401,7 +31947,14 @@ function createDocumentColumns({
|
|
|
31401
31947
|
}).filter(Boolean);
|
|
31402
31948
|
return tagNames.join(" ");
|
|
31403
31949
|
},
|
|
31404
|
-
cellRenderer:
|
|
31950
|
+
cellRenderer: LabelsCellRenderer,
|
|
31951
|
+
cellRendererParams: {
|
|
31952
|
+
labels: checkboxTags,
|
|
31953
|
+
createDocTag,
|
|
31954
|
+
deleteDocTag,
|
|
31955
|
+
createTag,
|
|
31956
|
+
isMember
|
|
31957
|
+
},
|
|
31405
31958
|
// Add CSS class for hover icon (matches title field)
|
|
31406
31959
|
cellClass: isMember ? "cell-editable-member relative !pr-0" : "cell-editable-readonly relative"
|
|
31407
31960
|
});
|
|
@@ -31430,10 +31983,6 @@ function createDocumentColumns({
|
|
|
31430
31983
|
);
|
|
31431
31984
|
return [...allColumns.map(withEmptyDash), ...tagColumns];
|
|
31432
31985
|
}
|
|
31433
|
-
var NO_USERS = [];
|
|
31434
|
-
var NO_DOCUMENTS2 = [];
|
|
31435
|
-
var NO_FOLDER_UPDATE = () => {
|
|
31436
|
-
};
|
|
31437
31986
|
function isPhoneViewport() {
|
|
31438
31987
|
return typeof window !== "undefined" && window.matchMedia?.("(max-width: 480px)")?.matches === true;
|
|
31439
31988
|
}
|
|
@@ -31589,7 +32138,7 @@ function useDocumentTable({
|
|
|
31589
32138
|
}
|
|
31590
32139
|
const stabilizedTagIds = prevTagIdsRef.current;
|
|
31591
32140
|
const stabilizedTagNames = prevTagNamesRef.current;
|
|
31592
|
-
const defaultVisibleColumns = react$1.useMemo(() => [...
|
|
32141
|
+
const defaultVisibleColumns = react$1.useMemo(() => [...chunkERDQ4DAX_cjs.DEFAULT_DOCUMENT_COLUMNS], []);
|
|
31593
32142
|
const toggleShared = react$1.useCallback((docId, shared) => {
|
|
31594
32143
|
updateDocRef.current.mutate({ documents: [{ external_id: docId, shared }] });
|
|
31595
32144
|
}, []);
|
|
@@ -31854,10 +32403,10 @@ function ConnectedFilesBulkActions({
|
|
|
31854
32403
|
const bulk = useDocumentBulkActions(selectedDocuments);
|
|
31855
32404
|
const count2 = selectedDocuments.length;
|
|
31856
32405
|
const noun = ui.getEntityLabel("DOCUMENT", count2 === 1 ? "SINGULAR" : "PLURAL");
|
|
31857
|
-
const shareState =
|
|
32406
|
+
const shareState = chunkERDQ4DAX_cjs.shareStateOf(bulk.freshSelectedDocuments);
|
|
31858
32407
|
const handleToggleShare = async (shouldShare) => {
|
|
31859
32408
|
if (shouldShare) return bulk.share();
|
|
31860
|
-
const confirmed = await
|
|
32409
|
+
const confirmed = await chunkERDQ4DAX_cjs.confirmHideFromMembers(
|
|
31861
32410
|
confirm,
|
|
31862
32411
|
bulk.freshSelectedDocuments.length,
|
|
31863
32412
|
members
|
|
@@ -31874,7 +32423,7 @@ function ConnectedFilesBulkActions({
|
|
|
31874
32423
|
const { openDocumentsChat, openFieldsManager } = actions;
|
|
31875
32424
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
31876
32425
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31877
|
-
|
|
32426
|
+
chunkERDQ4DAX_cjs.BulkActionsBar,
|
|
31878
32427
|
{
|
|
31879
32428
|
count: count2,
|
|
31880
32429
|
onClear: onClearSelection,
|
|
@@ -31900,7 +32449,7 @@ function ConnectedFilesBulkActions({
|
|
|
31900
32449
|
onDelete: () => setConfirming("delete"),
|
|
31901
32450
|
shareState,
|
|
31902
32451
|
shareLabels: shareState === "shared" ? { share: "Make private" } : void 0,
|
|
31903
|
-
shareTooltip:
|
|
32452
|
+
shareTooltip: chunkERDQ4DAX_cjs.shareTooltipFor(shareState, bulk.freshSelectedDocuments.length === 1),
|
|
31904
32453
|
onToggleShare: (shouldShare) => void handleToggleShare(shouldShare)
|
|
31905
32454
|
}
|
|
31906
32455
|
),
|
|
@@ -31915,7 +32464,7 @@ function ConnectedFilesBulkActions({
|
|
|
31915
32464
|
onClearSelection();
|
|
31916
32465
|
},
|
|
31917
32466
|
title: `Delete ${count2} ${noun}`,
|
|
31918
|
-
description: `Delete ${namedTargets(selectedDocuments)}? ${count2 === 1 ?
|
|
32467
|
+
description: `Delete ${namedTargets(selectedDocuments)}? ${count2 === 1 ? chunkERDQ4DAX_cjs.RECENTLY_DELETED_HINT : chunkERDQ4DAX_cjs.RECENTLY_DELETED_HINT_PLURAL}`,
|
|
31919
32468
|
confirmText: "Delete",
|
|
31920
32469
|
variant: "destructive"
|
|
31921
32470
|
}
|
|
@@ -32166,7 +32715,7 @@ function useAiReviewLiveUpdates() {
|
|
|
32166
32715
|
if (message.batch_type !== "doctag_generate") return;
|
|
32167
32716
|
const docIds = message.doc_ext_ids ?? [];
|
|
32168
32717
|
if (!docIds.length) return;
|
|
32169
|
-
void refreshDocuments(docIds).then(() =>
|
|
32718
|
+
void refreshDocuments(docIds).then(() => chunkHJBVSG6H_cjs.useAiReviewStore.getState().markFinished(docIds));
|
|
32170
32719
|
const { clearTask } = react.useArbiWsStore.getState();
|
|
32171
32720
|
for (const id of docIds) clearTask(id);
|
|
32172
32721
|
});
|
|
@@ -32201,7 +32750,7 @@ function useBatchCompleteToasts() {
|
|
|
32201
32750
|
timer.current = null;
|
|
32202
32751
|
const runs = pending.current;
|
|
32203
32752
|
pending.current = /* @__PURE__ */ new Map();
|
|
32204
|
-
const hasReview = !!
|
|
32753
|
+
const hasReview = !!chunkHJBVSG6H_cjs.useAiReviewStore.getState().run;
|
|
32205
32754
|
for (const [id, entry] of runs) {
|
|
32206
32755
|
const n = entry.docIds.size;
|
|
32207
32756
|
notify17(
|
|
@@ -32214,7 +32763,7 @@ function useBatchCompleteToasts() {
|
|
|
32214
32763
|
...hasReview && {
|
|
32215
32764
|
action: {
|
|
32216
32765
|
label: "View results",
|
|
32217
|
-
onClick: () =>
|
|
32766
|
+
onClick: () => chunkHJBVSG6H_cjs.useAiReviewStore.getState().setOpen(true)
|
|
32218
32767
|
}
|
|
32219
32768
|
}
|
|
32220
32769
|
}
|
|
@@ -32222,7 +32771,7 @@ function useBatchCompleteToasts() {
|
|
|
32222
32771
|
}
|
|
32223
32772
|
}, AI_FIELDS_NOTICE_WINDOW_MS);
|
|
32224
32773
|
} else if (message.batch_type === "entity_extract") {
|
|
32225
|
-
say(`${
|
|
32774
|
+
say(`${chunk4VSRSF4Q_cjs.entitiesPhrase()} extracted from ${chunk4VSRSF4Q_cjs.documentCount(docIds.length)}`, "success", {
|
|
32226
32775
|
...openTags && { action: { label: "View", onClick: openTags } }
|
|
32227
32776
|
});
|
|
32228
32777
|
} else if (message.batch_type === "upload") {
|
|
@@ -32261,12 +32810,12 @@ function ConnectedMoveToFolder({
|
|
|
32261
32810
|
setIsSubmitting(true);
|
|
32262
32811
|
try {
|
|
32263
32812
|
if (folderToMove) {
|
|
32264
|
-
const docsInFolder =
|
|
32813
|
+
const docsInFolder = chunkERDQ4DAX_cjs.collectFolderDocs(allDocs, folderToMove.path);
|
|
32265
32814
|
if (docsInFolder.length === 0) {
|
|
32266
32815
|
onClose();
|
|
32267
32816
|
return;
|
|
32268
32817
|
}
|
|
32269
|
-
const newPrefixSegments = targetFolder ? [...
|
|
32818
|
+
const newPrefixSegments = targetFolder ? [...chunkERDQ4DAX_cjs.parseFolderSegments(targetFolder), folderToMove.name] : [folderToMove.name];
|
|
32270
32819
|
await renameFolder(docsInFolder, folderToMove.path, newPrefixSegments);
|
|
32271
32820
|
const dest = targetFolder ? `"${targetFolder}/${folderToMove.name}"` : `"${folderToMove.name}" (root)`;
|
|
32272
32821
|
notify17(`Moved folder to ${dest}`, "success");
|
|
@@ -32291,9 +32840,9 @@ function ConnectedMoveToFolder({
|
|
|
32291
32840
|
}
|
|
32292
32841
|
};
|
|
32293
32842
|
const isFolderMode = !!folderToMove;
|
|
32294
|
-
const folders =
|
|
32843
|
+
const folders = chunkJ24LYNTY_cjs.useDocumentFolders(allDocs, targetFolder);
|
|
32295
32844
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32296
|
-
|
|
32845
|
+
chunkERDQ4DAX_cjs.MoveToFolderDialog,
|
|
32297
32846
|
{
|
|
32298
32847
|
open: isOpen,
|
|
32299
32848
|
onClose,
|
|
@@ -32303,7 +32852,7 @@ function ConnectedMoveToFolder({
|
|
|
32303
32852
|
isSubmitting,
|
|
32304
32853
|
onConfirm: handleMove,
|
|
32305
32854
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32306
|
-
|
|
32855
|
+
chunkERDQ4DAX_cjs.FolderCommandList,
|
|
32307
32856
|
{
|
|
32308
32857
|
folders,
|
|
32309
32858
|
value: targetFolder,
|
|
@@ -32531,7 +33080,7 @@ function ConnectedBulkTagEditor({
|
|
|
32531
33080
|
const isClearing = change?.action === "remove";
|
|
32532
33081
|
return {
|
|
32533
33082
|
id: tag.external_id,
|
|
32534
|
-
badge: /* @__PURE__ */ jsxRuntime.jsx(
|
|
33083
|
+
badge: /* @__PURE__ */ jsxRuntime.jsx(chunkVD33HXFZ_cjs.ConnectedTagEntity, { tag, size: "md" }),
|
|
32535
33084
|
type: tag.tag_type.type,
|
|
32536
33085
|
color: ui.getEntityColor(tag.external_id, "medium"),
|
|
32537
33086
|
options: tag.tag_type.type === "select" ? tag.tag_type.options : void 0,
|
|
@@ -32563,7 +33112,7 @@ function ConnectedBulkTagEditor({
|
|
|
32563
33112
|
const documentsLabel = ui.getEntityLabel("DOCUMENT", "PLURAL").toLowerCase();
|
|
32564
33113
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32565
33114
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32566
|
-
|
|
33115
|
+
chunkERDQ4DAX_cjs.BulkTagEditorDialog,
|
|
32567
33116
|
{
|
|
32568
33117
|
open,
|
|
32569
33118
|
onClose,
|
|
@@ -32621,7 +33170,7 @@ function ConnectedBulkTagEditor({
|
|
|
32621
33170
|
}
|
|
32622
33171
|
),
|
|
32623
33172
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32624
|
-
|
|
33173
|
+
chunkERDQ4DAX_cjs.BulkReplaceDialog,
|
|
32625
33174
|
{
|
|
32626
33175
|
open: showGenerateConfirmation,
|
|
32627
33176
|
onClose: () => setShowGenerateConfirmation(false),
|
|
@@ -32736,7 +33285,7 @@ function ViewSelector({
|
|
|
32736
33285
|
columns: defaultColumns,
|
|
32737
33286
|
icon: lucideReact.Table,
|
|
32738
33287
|
// Both built-ins load at the minimal (compact) row height.
|
|
32739
|
-
rowHeight:
|
|
33288
|
+
rowHeight: chunkERDQ4DAX_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
|
|
32740
33289
|
// [] = loading this view unpins everything.
|
|
32741
33290
|
pinnedLeft: []
|
|
32742
33291
|
},
|
|
@@ -32747,15 +33296,15 @@ function ViewSelector({
|
|
|
32747
33296
|
// batch-select checkbox and Title stay fixed left while scrolling.
|
|
32748
33297
|
columns: defaultColumns,
|
|
32749
33298
|
icon: lucideReact.Columns3,
|
|
32750
|
-
rowHeight:
|
|
33299
|
+
rowHeight: chunkERDQ4DAX_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
|
|
32751
33300
|
pinnedLeft: DOCUMENT_VIEW_PINNED
|
|
32752
33301
|
},
|
|
32753
33302
|
{
|
|
32754
33303
|
key: "email-default",
|
|
32755
33304
|
label: "Email view",
|
|
32756
|
-
columns: [...
|
|
33305
|
+
columns: [...chunkERDQ4DAX_cjs.EMAIL_VIEW_COLUMNS],
|
|
32757
33306
|
icon: lucideReact.Mail,
|
|
32758
|
-
rowHeight:
|
|
33307
|
+
rowHeight: chunkERDQ4DAX_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
|
|
32759
33308
|
pinnedLeft: []
|
|
32760
33309
|
}
|
|
32761
33310
|
],
|
|
@@ -32779,7 +33328,7 @@ function ViewSelector({
|
|
|
32779
33328
|
},
|
|
32780
33329
|
[confirm, workspaceId, deleteView, notify17]
|
|
32781
33330
|
);
|
|
32782
|
-
const menu =
|
|
33331
|
+
const menu = chunkERDQ4DAX_cjs.useGridViews({
|
|
32783
33332
|
getGridApi,
|
|
32784
33333
|
defaultColumns,
|
|
32785
33334
|
builtins,
|
|
@@ -32794,7 +33343,7 @@ function ViewSelector({
|
|
|
32794
33343
|
onDeleteView,
|
|
32795
33344
|
isSaving
|
|
32796
33345
|
});
|
|
32797
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33346
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ViewSelectorMenu, { ...menu });
|
|
32798
33347
|
}
|
|
32799
33348
|
function DocumentsFilterBarActions({
|
|
32800
33349
|
isModal,
|
|
@@ -32834,7 +33383,7 @@ function DocumentsFilterBarActions({
|
|
|
32834
33383
|
),
|
|
32835
33384
|
documentsViewMode === "grid" && // The phone list is a fixed two-line layout, so row density only applies from sm up.
|
|
32836
33385
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden sm:block", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32837
|
-
|
|
33386
|
+
chunkERDQ4DAX_cjs.RowDensityControl,
|
|
32838
33387
|
{
|
|
32839
33388
|
rowHeight: documentsRowHeight,
|
|
32840
33389
|
onRowHeightChange: onDocumentsRowHeightChange
|
|
@@ -32942,8 +33491,8 @@ function DocumentsFilterBarActions({
|
|
|
32942
33491
|
}
|
|
32943
33492
|
function PersistedGridView(props) {
|
|
32944
33493
|
const { persistState, gridId } = props;
|
|
32945
|
-
const setGridState =
|
|
32946
|
-
const gridState = persistState && gridId ?
|
|
33494
|
+
const setGridState = chunkHJBVSG6H_cjs.useFilesGridStates((state) => state.setGridState);
|
|
33495
|
+
const gridState = persistState && gridId ? chunkHJBVSG6H_cjs.useFilesGridStates.getState().gridStates[gridId] : void 0;
|
|
32947
33496
|
const onGridStateChange = react$1.useCallback(
|
|
32948
33497
|
(state) => {
|
|
32949
33498
|
if (persistState && gridId) setGridState(gridId, state);
|
|
@@ -33045,13 +33594,13 @@ var TABLET_TABLE_BELOW = 860;
|
|
|
33045
33594
|
var TABLET_VIEWPORT_BELOW = 1100;
|
|
33046
33595
|
var NO_CONVERSATION_DOCUMENTS2 = [];
|
|
33047
33596
|
var DocumentReviewCard = react$1.lazy(
|
|
33048
|
-
() => import('../DocumentReviewCard-
|
|
33597
|
+
() => import('../DocumentReviewCard-7VJ3MMYG.cjs').then((module) => ({ default: module.DocumentReviewCard }))
|
|
33049
33598
|
);
|
|
33050
33599
|
var FilesViewerDialog = react$1.lazy(
|
|
33051
|
-
() => import('../FilesViewerDialog-
|
|
33600
|
+
() => import('../FilesViewerDialog-IQ5UDAZX.cjs').then((module) => ({ default: module.FilesViewerDialog }))
|
|
33052
33601
|
);
|
|
33053
33602
|
function defaultReviewCard(props) {
|
|
33054
|
-
return /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
33603
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk4VSRSF4Q_cjs.LoadingIndicator, { message: "Loading document viewer..." }), children: /* @__PURE__ */ jsxRuntime.jsx(DocumentReviewCard, { ...props }, `navigator-${props.currentDocument.external_id}`) });
|
|
33055
33604
|
}
|
|
33056
33605
|
function ConnectedFilesPage({
|
|
33057
33606
|
isModal = false,
|
|
@@ -33073,7 +33622,7 @@ function ConnectedFilesPage({
|
|
|
33073
33622
|
GridComponent = PersistedGridView,
|
|
33074
33623
|
gridStateVersion,
|
|
33075
33624
|
onGridApi,
|
|
33076
|
-
prefsKey =
|
|
33625
|
+
prefsKey = chunkHJBVSG6H_cjs.FILES_PREFS_KEY,
|
|
33077
33626
|
defaultViewMode
|
|
33078
33627
|
}) {
|
|
33079
33628
|
const { openDocument, openDialog: openDialog2, openProcessing, openTags } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
@@ -33119,8 +33668,8 @@ function ConnectedFilesPage({
|
|
|
33119
33668
|
const inConversationDocuments = react.useArbiSessionState(
|
|
33120
33669
|
(s) => s.conversationDocuments[s.conversationId ?? "new"] ?? NO_CONVERSATION_DOCUMENTS2
|
|
33121
33670
|
);
|
|
33122
|
-
const viewMode =
|
|
33123
|
-
const setPrefsViewMode =
|
|
33671
|
+
const viewMode = chunkHJBVSG6H_cjs.useFilesPrefs((s) => chunkHJBVSG6H_cjs.filesViewMode(s, prefsKey, defaultViewMode));
|
|
33672
|
+
const setPrefsViewMode = chunkHJBVSG6H_cjs.useFilesPrefs((s) => s.setViewMode);
|
|
33124
33673
|
const setViewMode = react$1.useCallback(
|
|
33125
33674
|
(mode) => setPrefsViewMode(mode, prefsKey),
|
|
33126
33675
|
[setPrefsViewMode, prefsKey]
|
|
@@ -33150,7 +33699,7 @@ function ConnectedFilesPage({
|
|
|
33150
33699
|
shownPlaceRef.current = null;
|
|
33151
33700
|
if (session.getState().documentViewer.compareId)
|
|
33152
33701
|
session.setDocumentViewer({ compareId: null });
|
|
33153
|
-
if (
|
|
33702
|
+
if (chunkHJBVSG6H_cjs.filesViewMode(chunkHJBVSG6H_cjs.useFilesPrefs.getState(), prefsKey, defaultViewMode) !== "navigator")
|
|
33154
33703
|
session.setViewingDocument(null);
|
|
33155
33704
|
if (!fromLink) latest.current.onDocumentChange?.(null);
|
|
33156
33705
|
},
|
|
@@ -33178,6 +33727,7 @@ function ConnectedFilesPage({
|
|
|
33178
33727
|
if (ownsViewer && dialog && !viewingDocumentRef) {
|
|
33179
33728
|
setDialog(null);
|
|
33180
33729
|
shownPlaceRef.current = null;
|
|
33730
|
+
latest.current.onDocumentChange?.(null);
|
|
33181
33731
|
}
|
|
33182
33732
|
}, [ownsViewer, dialog, viewingDocumentRef]);
|
|
33183
33733
|
const viewingDraft = react.useArbiSessionState(
|
|
@@ -33185,6 +33735,23 @@ function ConnectedFilesPage({
|
|
|
33185
33735
|
);
|
|
33186
33736
|
const compareId = react.useArbiSessionState((s) => s.documentViewer.compareId ?? null);
|
|
33187
33737
|
const wholeViewerKey = !ownsViewer || !viewingDocumentRef ? null : viewingDraft ? `draft|${viewingDocumentRef}` : compareId ? `compare|${viewingDocumentRef}|${compareId}` : null;
|
|
33738
|
+
const lastCompareRef = react$1.useRef({ documentRef: viewingDocumentRef, compareId });
|
|
33739
|
+
react$1.useEffect(() => {
|
|
33740
|
+
const previous = lastCompareRef.current;
|
|
33741
|
+
lastCompareRef.current = { documentRef: viewingDocumentRef, compareId };
|
|
33742
|
+
if (!ownsViewer || previous.documentRef === viewingDocumentRef || !previous.compareId) return;
|
|
33743
|
+
if (session.getState().documentViewer.compareId === previous.compareId)
|
|
33744
|
+
session.setDocumentViewer({ compareId: null });
|
|
33745
|
+
}, [ownsViewer, viewingDocumentRef, compareId, session]);
|
|
33746
|
+
const ownsViewerRef = react$1.useRef(ownsViewer);
|
|
33747
|
+
ownsViewerRef.current = ownsViewer;
|
|
33748
|
+
react$1.useEffect(
|
|
33749
|
+
() => () => {
|
|
33750
|
+
if (ownsViewerRef.current && session.getState().documentViewer.compareId)
|
|
33751
|
+
session.setDocumentViewer({ compareId: null });
|
|
33752
|
+
},
|
|
33753
|
+
[session]
|
|
33754
|
+
);
|
|
33188
33755
|
const wholeViewerKeyRef = react$1.useRef(null);
|
|
33189
33756
|
react$1.useEffect(() => {
|
|
33190
33757
|
const previous = wholeViewerKeyRef.current;
|
|
@@ -33221,9 +33788,9 @@ function ConnectedFilesPage({
|
|
|
33221
33788
|
else if (linkedPlaceKey !== shownPlaceRef.current) showInDialog(place, true);
|
|
33222
33789
|
} else if (previous && ownsViewer && shownPlaceRef.current) closeDialog2(true);
|
|
33223
33790
|
}, [linkedPlaceKey]);
|
|
33224
|
-
const rowHeight =
|
|
33225
|
-
const setRowHeight =
|
|
33226
|
-
const ownGridStates =
|
|
33791
|
+
const rowHeight = chunkHJBVSG6H_cjs.useFilesPrefs((s) => s.rowHeight);
|
|
33792
|
+
const setRowHeight = chunkHJBVSG6H_cjs.useFilesPrefs((s) => s.setRowHeight);
|
|
33793
|
+
const ownGridStates = chunkHJBVSG6H_cjs.useFilesGridStates((s) => s.gridStates);
|
|
33227
33794
|
const stateVersion = gridStateVersion ?? ownGridStates;
|
|
33228
33795
|
const [pageEl, setPageEl] = react$1.useState(null);
|
|
33229
33796
|
const [isTabletWidth, setIsTabletWidth] = react$1.useState(false);
|
|
@@ -33253,15 +33820,15 @@ function ConnectedFilesPage({
|
|
|
33253
33820
|
const [explorerSortReversed, setExplorerSortReversed] = react$1.useState(false);
|
|
33254
33821
|
const [explorerTileSize, setExplorerTileSize] = react$1.useState(TILE_DEFAULT);
|
|
33255
33822
|
const [urlDialogOpen, setUrlDialogOpen] = react$1.useState(false);
|
|
33256
|
-
const move =
|
|
33257
|
-
const openMove =
|
|
33258
|
-
const closeMove =
|
|
33259
|
-
const bulkTagsOpen =
|
|
33260
|
-
const setBulkTagsOpen =
|
|
33261
|
-
const deleteRequest =
|
|
33262
|
-
const requestDelete =
|
|
33263
|
-
const exportOpen =
|
|
33264
|
-
const setExportOpen =
|
|
33823
|
+
const move = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.move);
|
|
33824
|
+
const openMove = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.openMove);
|
|
33825
|
+
const closeMove = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.closeMove);
|
|
33826
|
+
const bulkTagsOpen = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.bulkTagsOpen);
|
|
33827
|
+
const setBulkTagsOpen = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.setBulkTagsOpen);
|
|
33828
|
+
const deleteRequest = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.deleteRequest);
|
|
33829
|
+
const requestDelete = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.requestDelete);
|
|
33830
|
+
const exportOpen = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.exportOpen);
|
|
33831
|
+
const setExportOpen = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.setExportOpen);
|
|
33265
33832
|
const openOwnExport = react$1.useCallback(() => setExportOpen(true), [setExportOpen]);
|
|
33266
33833
|
const exportItems = react$1.useMemo(
|
|
33267
33834
|
() => selectedDocuments.map((doc) => ({
|
|
@@ -33304,17 +33871,17 @@ function ConnectedFilesPage({
|
|
|
33304
33871
|
const relatedDocsMap = useFilesPageSession(documents, workspaceId);
|
|
33305
33872
|
const defaultVisibleColumns = react$1.useMemo(
|
|
33306
33873
|
() => [
|
|
33307
|
-
...
|
|
33874
|
+
...chunkERDQ4DAX_cjs.DEFAULT_DOCUMENT_COLUMNS,
|
|
33308
33875
|
...allTags.filter(browser.isAnnotationTag).map((tag) => tag.external_id)
|
|
33309
33876
|
],
|
|
33310
33877
|
[allTags]
|
|
33311
33878
|
);
|
|
33312
33879
|
const handleReorderColumns = react$1.useCallback((ids, gridApi2) => {
|
|
33313
|
-
if (gridApi2)
|
|
33880
|
+
if (gridApi2) chunkERDQ4DAX_cjs.applyColumnLayout(gridApi2, ids);
|
|
33314
33881
|
}, []);
|
|
33315
33882
|
const handleLoadView = react$1.useCallback(
|
|
33316
33883
|
(view, gridApi2) => {
|
|
33317
|
-
|
|
33884
|
+
chunkERDQ4DAX_cjs.applyViewColumns(gridApi2, view, handleReorderColumns);
|
|
33318
33885
|
if (typeof view.tile_size === "number") setExplorerTileSize(view.tile_size);
|
|
33319
33886
|
if (typeof view.row_height === "number") setRowHeight(view.row_height);
|
|
33320
33887
|
},
|
|
@@ -33407,7 +33974,7 @@ function ConnectedFilesPage({
|
|
|
33407
33974
|
);
|
|
33408
33975
|
const currentDocument = viewingDocumentId ? filteredDocuments.find((d) => d.external_id === viewingDocumentId) ?? documents.find((d) => d.external_id === viewingDocumentId) ?? null : null;
|
|
33409
33976
|
const navigatorDocuments = react$1.useMemo(
|
|
33410
|
-
() =>
|
|
33977
|
+
() => chunkERDQ4DAX_cjs.sortExplorerFiles(filteredDocuments, explorerSort, explorerSortReversed),
|
|
33411
33978
|
[filteredDocuments, explorerSort, explorerSortReversed]
|
|
33412
33979
|
);
|
|
33413
33980
|
const navigatorOnNavigate = react$1.useCallback(
|
|
@@ -33477,7 +34044,7 @@ function ConnectedFilesPage({
|
|
|
33477
34044
|
},
|
|
33478
34045
|
rowHeight
|
|
33479
34046
|
};
|
|
33480
|
-
const documentsTabActions = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
34047
|
+
const documentsTabActions = /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FilesFilterBar, { children: [
|
|
33481
34048
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33482
34049
|
chunk6UZC4XVV_cjs.FilterInput,
|
|
33483
34050
|
{
|
|
@@ -33512,7 +34079,7 @@ function ConnectedFilesPage({
|
|
|
33512
34079
|
),
|
|
33513
34080
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
|
|
33514
34081
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33515
|
-
|
|
34082
|
+
chunkERDQ4DAX_cjs.DocumentsFolderButton,
|
|
33516
34083
|
{
|
|
33517
34084
|
documents,
|
|
33518
34085
|
documentFilters,
|
|
@@ -33520,7 +34087,7 @@ function ConnectedFilesPage({
|
|
|
33520
34087
|
onNewFolder: canUpload ? handleNewFolder : void 0
|
|
33521
34088
|
}
|
|
33522
34089
|
),
|
|
33523
|
-
openTags && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34090
|
+
openTags && /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FilesTagsButton, { onClick: openTags }),
|
|
33524
34091
|
workspaceId && /* @__PURE__ */ jsxRuntime.jsx(ConnectedRecentlyDeletedButton, { workspaceExtId: workspaceId })
|
|
33525
34092
|
] })
|
|
33526
34093
|
] });
|
|
@@ -33543,9 +34110,9 @@ function ConnectedFilesPage({
|
|
|
33543
34110
|
);
|
|
33544
34111
|
const reviewGridId = isModal ? "documents-modal-grid-v6" : "documents-main-grid-v6";
|
|
33545
34112
|
const showBulkBar = (viewMode === "grid" || viewMode === "explorer" || viewMode === "navigator") && documents.length > 0;
|
|
33546
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
34113
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FilesPage, { isModal, ref: setPageEl, children: [
|
|
33547
34114
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33548
|
-
|
|
34115
|
+
chunkERDQ4DAX_cjs.UrlInputDialog,
|
|
33549
34116
|
{
|
|
33550
34117
|
open: urlDialogOpen,
|
|
33551
34118
|
onOpenChange: setUrlDialogOpen,
|
|
@@ -33554,7 +34121,7 @@ function ConnectedFilesPage({
|
|
|
33554
34121
|
titleIcon: workspace && /* @__PURE__ */ jsxRuntime.jsx(ConnectedWorkspaceEntity, { workspace, size: 24, variant: "icon" })
|
|
33555
34122
|
}
|
|
33556
34123
|
),
|
|
33557
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
34124
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FilesPageHeader, { children: [
|
|
33558
34125
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33559
34126
|
chunkSJSGSHIT_cjs.TabHeader,
|
|
33560
34127
|
{
|
|
@@ -33575,7 +34142,7 @@ function ConnectedFilesPage({
|
|
|
33575
34142
|
activeTabId: "documents",
|
|
33576
34143
|
onTabChange: () => handleViewModeChange(lastDocsViewRef.current),
|
|
33577
34144
|
firstTabContent: isNarrowFilterRow ? null : documentsTabActions,
|
|
33578
|
-
centerContent: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
34145
|
+
centerContent: /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FilesViewCenter, { className: isNarrowFilterRow ? "min-w-0" : void 0, children: [
|
|
33579
34146
|
!isNarrowFilterRow && viewToggle,
|
|
33580
34147
|
/* @__PURE__ */ jsxRuntime.jsx(ProgressiveLoadingChip, {})
|
|
33581
34148
|
] }),
|
|
@@ -33605,14 +34172,14 @@ function ConnectedFilesPage({
|
|
|
33605
34172
|
}
|
|
33606
34173
|
),
|
|
33607
34174
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33608
|
-
|
|
34175
|
+
chunkERDQ4DAX_cjs.FilesToolbar,
|
|
33609
34176
|
{
|
|
33610
34177
|
className: "px-3 pb-2",
|
|
33611
34178
|
rightActions: viewMode === "grid" || viewMode === "explorer" || viewMode === "navigator" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
33612
34179
|
viewMode === "grid" ? (
|
|
33613
34180
|
// ‹ n / N › over the table's displayed rows; a step opens the document.
|
|
33614
34181
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33615
|
-
|
|
34182
|
+
chunk4VSRSF4Q_cjs.GridRowNavigator,
|
|
33616
34183
|
{
|
|
33617
34184
|
gridApi,
|
|
33618
34185
|
selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
|
|
@@ -33627,7 +34194,7 @@ function ConnectedFilesPage({
|
|
|
33627
34194
|
) : viewMode === "explorer" ? (
|
|
33628
34195
|
// The same over the explorer's tiles.
|
|
33629
34196
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33630
|
-
|
|
34197
|
+
chunkERDQ4DAX_cjs.ExplorerFileNavigator,
|
|
33631
34198
|
{
|
|
33632
34199
|
fileIds: explorerFileIds,
|
|
33633
34200
|
selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
|
|
@@ -33666,7 +34233,7 @@ function ConnectedFilesPage({
|
|
|
33666
34233
|
}
|
|
33667
34234
|
),
|
|
33668
34235
|
viewMode === "navigator" && currentDocument && /* @__PURE__ */ jsxRuntime.jsx(
|
|
33669
|
-
|
|
34236
|
+
chunkERDQ4DAX_cjs.NavigatorPickerBar,
|
|
33670
34237
|
{
|
|
33671
34238
|
currentDocument,
|
|
33672
34239
|
documents: navigatorDocuments,
|
|
@@ -33693,11 +34260,11 @@ function ConnectedFilesPage({
|
|
|
33693
34260
|
}
|
|
33694
34261
|
}
|
|
33695
34262
|
) }),
|
|
33696
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
34263
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FilesPageMain, { children: [
|
|
33697
34264
|
viewMode === "grid" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
33698
|
-
|
|
34265
|
+
chunkERDQ4DAX_cjs.DocumentGrid,
|
|
33699
34266
|
{
|
|
33700
|
-
layout:
|
|
34267
|
+
layout: chunkERDQ4DAX_cjs.resolveDocumentGridLayout(isNarrowFilterRow, isModal, isTabletWidth),
|
|
33701
34268
|
presets: gridPresets,
|
|
33702
34269
|
GridComponent,
|
|
33703
34270
|
showEmptyWorkspace: documents.length === 0 && !isLoading && isMember,
|
|
@@ -33791,7 +34358,7 @@ function ConnectedFilesPage({
|
|
|
33791
34358
|
onProduce: () => openDialog2("productionSet")
|
|
33792
34359
|
}
|
|
33793
34360
|
),
|
|
33794
|
-
isModal && onClose && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34361
|
+
isModal && onClose && /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FilesModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outline", onClick: onClose, children: "Close" }) }),
|
|
33795
34362
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33796
34363
|
chunkJDFBEGQO_cjs.ConfirmDialog,
|
|
33797
34364
|
{
|
|
@@ -33802,7 +34369,7 @@ function ConnectedFilesPage({
|
|
|
33802
34369
|
requestDelete(null);
|
|
33803
34370
|
},
|
|
33804
34371
|
title: "Delete Document",
|
|
33805
|
-
description: deleteRequest ? `Delete "${ui.getDocumentTitle(deleteRequest, "this document")}"? ${
|
|
34372
|
+
description: deleteRequest ? `Delete "${ui.getDocumentTitle(deleteRequest, "this document")}"? ${chunkERDQ4DAX_cjs.RECENTLY_DELETED_HINT}` : "",
|
|
33806
34373
|
confirmText: "Delete",
|
|
33807
34374
|
variant: "destructive"
|
|
33808
34375
|
}
|
|
@@ -33878,8 +34445,8 @@ function ConnectedFilesPage({
|
|
|
33878
34445
|
}
|
|
33879
34446
|
var NO_DOCUMENTS3 = [];
|
|
33880
34447
|
function ConnectedAiReviewHost(props) {
|
|
33881
|
-
const open =
|
|
33882
|
-
const setOpen =
|
|
34448
|
+
const open = chunkHJBVSG6H_cjs.useAiReviewStore((s) => s.open);
|
|
34449
|
+
const setOpen = chunkHJBVSG6H_cjs.useAiReviewStore((s) => s.setOpen);
|
|
33883
34450
|
return /* @__PURE__ */ jsxRuntime.jsx(ConnectedAiReview, { open, onOpenChange: setOpen, ...props });
|
|
33884
34451
|
}
|
|
33885
34452
|
function ConnectedGridView(props) {
|
|
@@ -33915,7 +34482,7 @@ function ProcessingSection({
|
|
|
33915
34482
|
tasks,
|
|
33916
34483
|
onDelete
|
|
33917
34484
|
}) {
|
|
33918
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34485
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.TaskSection, { title, count: count2, status, tooltip: SECTION_TOOLTIPS[status], children: /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.UploadTaskList, { tasks, title: "", onDelete, renderFileIcon: renderFileIcon2 }) });
|
|
33919
34486
|
}
|
|
33920
34487
|
function ConnectedDocumentProcessingPanel({
|
|
33921
34488
|
workspaceId,
|
|
@@ -34271,7 +34838,7 @@ var MENU_LABELS = {
|
|
|
34271
34838
|
};
|
|
34272
34839
|
function applyDatabaseColumns(columns, api) {
|
|
34273
34840
|
const kept = (id) => api.getColumn(id) ? [id] : [];
|
|
34274
|
-
|
|
34841
|
+
chunkERDQ4DAX_cjs.applyColumnLayout(api, [...kept(chunkIK4MSXXR_cjs.OPEN_ROW_COL_ID), ...columns, ...kept(chunkIK4MSXXR_cjs.ADD_COLUMN_COL_ID)]);
|
|
34275
34842
|
}
|
|
34276
34843
|
function DatabaseViewsMenu({
|
|
34277
34844
|
databaseId,
|
|
@@ -34290,7 +34857,7 @@ function DatabaseViewsMenu({
|
|
|
34290
34857
|
[defaultColumns]
|
|
34291
34858
|
);
|
|
34292
34859
|
const onLoadView = react$1.useCallback(
|
|
34293
|
-
(view, api) =>
|
|
34860
|
+
(view, api) => chunkERDQ4DAX_cjs.applyViewColumns(api, view, applyDatabaseColumns),
|
|
34294
34861
|
[]
|
|
34295
34862
|
);
|
|
34296
34863
|
const onSaveView = react$1.useCallback(
|
|
@@ -34310,7 +34877,7 @@ function DatabaseViewsMenu({
|
|
|
34310
34877
|
},
|
|
34311
34878
|
[confirm, deleteView, notify17]
|
|
34312
34879
|
);
|
|
34313
|
-
const menu =
|
|
34880
|
+
const menu = chunkERDQ4DAX_cjs.useGridViews({
|
|
34314
34881
|
getGridApi,
|
|
34315
34882
|
defaultColumns,
|
|
34316
34883
|
builtins,
|
|
@@ -34323,7 +34890,7 @@ function DatabaseViewsMenu({
|
|
|
34323
34890
|
onDeleteView,
|
|
34324
34891
|
isSaving
|
|
34325
34892
|
});
|
|
34326
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34893
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ViewSelectorMenu, { ...menu, labels: MENU_LABELS });
|
|
34327
34894
|
}
|
|
34328
34895
|
function useMoveLocalViews(gridId, ready, importViews) {
|
|
34329
34896
|
const localViews = react.useArbiSessionState((state) => state.grid.savedViews[gridId]);
|
|
@@ -37039,7 +37606,7 @@ function resolveLaunchInputs(workflow, request) {
|
|
|
37039
37606
|
function useWorkflowLaunch() {
|
|
37040
37607
|
const { skills } = chunkPZYPWY7G_cjs.useWorkflowDefinitions();
|
|
37041
37608
|
const launch = react$1.useCallback(
|
|
37042
|
-
(workflowId, options2 = {}) =>
|
|
37609
|
+
(workflowId, options2 = {}) => chunkKBXATCF4_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
|
|
37043
37610
|
[]
|
|
37044
37611
|
);
|
|
37045
37612
|
const itemsFor = react$1.useCallback(
|
|
@@ -37068,8 +37635,8 @@ function useWorkflowLaunch() {
|
|
|
37068
37635
|
return { launch, itemsFor, scopeItemsFor };
|
|
37069
37636
|
}
|
|
37070
37637
|
function Inner() {
|
|
37071
|
-
const request =
|
|
37072
|
-
const close =
|
|
37638
|
+
const request = chunkKBXATCF4_cjs.useWorkflowLaunchRequest();
|
|
37639
|
+
const close = chunkKBXATCF4_cjs.closeWorkflowLaunch;
|
|
37073
37640
|
const { skills } = chunkPZYPWY7G_cjs.useWorkflowDefinitions();
|
|
37074
37641
|
const run = chunkIU3SXE62_cjs.useLaunchWorkflow({ landing: request?.landing });
|
|
37075
37642
|
const workflow = skills.find((w) => w.id === request?.workflowId);
|
|
@@ -37107,7 +37674,7 @@ function Inner() {
|
|
|
37107
37674
|
);
|
|
37108
37675
|
}
|
|
37109
37676
|
function WorkflowLaunchHost() {
|
|
37110
|
-
return
|
|
37677
|
+
return chunkKBXATCF4_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
|
|
37111
37678
|
}
|
|
37112
37679
|
function isNeedsConfirmationDetail(detail) {
|
|
37113
37680
|
return typeof detail === "object" && detail !== null && detail.needs_confirmation === "resource_private";
|
|
@@ -37419,7 +37986,7 @@ function ConnectedConversationSettings() {
|
|
|
37419
37986
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
37420
37987
|
chunkMMSHLHTA_cjs.ModelSelectionSection,
|
|
37421
37988
|
{
|
|
37422
|
-
selector: /* @__PURE__ */ jsxRuntime.jsx(
|
|
37989
|
+
selector: /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedModelSelector, {}),
|
|
37423
37990
|
onUseDefaults: settings.resetToDefaults
|
|
37424
37991
|
}
|
|
37425
37992
|
)
|
|
@@ -37478,7 +38045,7 @@ var BUILTIN_GLOBAL_DIALOGS = {
|
|
|
37478
38045
|
testId: "workspace-transfer-modal"
|
|
37479
38046
|
}
|
|
37480
38047
|
),
|
|
37481
|
-
logout: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
38048
|
+
logout: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedLogoutDialog, { open: props !== null, onClose }),
|
|
37482
38049
|
conversationSettings: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedConversationSettingsDialog, { open: props !== null, onClose }),
|
|
37483
38050
|
unarchiveWorkspace: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedUnarchiveWorkspaceDialog, { workspaceId: props?.workspaceId ?? null, onClose }),
|
|
37484
38051
|
productionSet: ConnectedProductionSetDialog,
|
|
@@ -37555,7 +38122,7 @@ function WorkflowRunStatusCell({ conversation }) {
|
|
|
37555
38122
|
return person ? ui.getUserDisplayName(person) : void 0;
|
|
37556
38123
|
};
|
|
37557
38124
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
37558
|
-
|
|
38125
|
+
chunkKBXATCF4_cjs.WorkflowRunStatus,
|
|
37559
38126
|
{
|
|
37560
38127
|
steps,
|
|
37561
38128
|
states,
|
|
@@ -37589,7 +38156,7 @@ function ConversationStatusCell({ conversation }) {
|
|
|
37589
38156
|
if (conversation.plan?.steps?.length && !isLiveGenerating)
|
|
37590
38157
|
return /* @__PURE__ */ jsxRuntime.jsx(WorkflowRunStatusCell, { conversation });
|
|
37591
38158
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
37592
|
-
|
|
38159
|
+
chunkKBXATCF4_cjs.ThreadStatusLine,
|
|
37593
38160
|
{
|
|
37594
38161
|
state: threadStateOf(conversation, isLiveGenerating),
|
|
37595
38162
|
className: "h-full",
|
|
@@ -37839,7 +38406,7 @@ function useThreadLabels(canEditShared) {
|
|
|
37839
38406
|
if (failed)
|
|
37840
38407
|
notify17(`Could not update labels on ${failed} thread${failed === 1 ? "" : "s"}.`, "error");
|
|
37841
38408
|
};
|
|
37842
|
-
const
|
|
38409
|
+
const create3 = async (rows, name) => {
|
|
37843
38410
|
if (!canEdit(rows) || !name.trim()) return;
|
|
37844
38411
|
try {
|
|
37845
38412
|
const existing = labels.find((tag) => tag.name.toLowerCase() === name.trim().toLowerCase());
|
|
@@ -37856,12 +38423,12 @@ function useThreadLabels(canEditShared) {
|
|
|
37856
38423
|
return {
|
|
37857
38424
|
labelText: (row2) => labels.filter((tag) => row2.label_ext_ids?.includes(tag.external_id)).map((tag) => tag.name).join(" "),
|
|
37858
38425
|
renderLabels: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
37859
|
-
|
|
38426
|
+
chunkERDQ4DAX_cjs.LabelMultiSelectView,
|
|
37860
38427
|
{
|
|
37861
38428
|
options: options2,
|
|
37862
38429
|
appliedIds: new Set(row2.label_ext_ids ?? []),
|
|
37863
38430
|
onToggle: (id) => void apply([row2], id, Boolean(row2.label_ext_ids?.includes(id))),
|
|
37864
|
-
onCreate: (name) => void
|
|
38431
|
+
onCreate: (name) => void create3([row2], name),
|
|
37865
38432
|
rowHeight: 40
|
|
37866
38433
|
}
|
|
37867
38434
|
),
|
|
@@ -37875,7 +38442,7 @@ function useThreadLabels(canEditShared) {
|
|
|
37875
38442
|
).map((label) => label.id)
|
|
37876
38443
|
);
|
|
37877
38444
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
37878
|
-
|
|
38445
|
+
chunkERDQ4DAX_cjs.BulkLabelSelectView,
|
|
37879
38446
|
{
|
|
37880
38447
|
options: options2,
|
|
37881
38448
|
appliedIds: all,
|
|
@@ -37883,7 +38450,7 @@ function useThreadLabels(canEditShared) {
|
|
|
37883
38450
|
disabled: !canEdit(rows) || update.isPending || createTag.isPending,
|
|
37884
38451
|
isCompact,
|
|
37885
38452
|
onToggle: (id) => void apply(rows, id, all.has(id)),
|
|
37886
|
-
onCreate: (name) => void
|
|
38453
|
+
onCreate: (name) => void create3(rows, name)
|
|
37887
38454
|
}
|
|
37888
38455
|
);
|
|
37889
38456
|
}
|
|
@@ -37906,7 +38473,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
37906
38473
|
return /* @__PURE__ */ jsxRuntime.jsxs(chunkM2FOXGJU_cjs.ComposerDock, { children: [
|
|
37907
38474
|
slashWorkflows.launcher,
|
|
37908
38475
|
/* @__PURE__ */ jsxRuntime.jsx(chunkM2FOXGJU_cjs.ComposerContainer, { className: "mx-auto max-w-[49rem] px-3 sm:px-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
37909
|
-
|
|
38476
|
+
chunkMM5Q7AJL_cjs.ConversationComposer,
|
|
37910
38477
|
{
|
|
37911
38478
|
value: draft,
|
|
37912
38479
|
onValueChange: setDraft,
|
|
@@ -37915,7 +38482,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
37915
38482
|
isConversationEmpty: true,
|
|
37916
38483
|
shouldOfferFollowUp: false,
|
|
37917
38484
|
skills,
|
|
37918
|
-
modelSelector: /* @__PURE__ */ jsxRuntime.jsx(
|
|
38485
|
+
modelSelector: /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedModelSelector, { variant: "compact" }),
|
|
37919
38486
|
rightButton: /* @__PURE__ */ jsxRuntime.jsx(chunkM2FOXGJU_cjs.ComposerSend, { onSend: send, disabled: !draft.trim() })
|
|
37920
38487
|
}
|
|
37921
38488
|
) })
|
|
@@ -38046,7 +38613,7 @@ function AgentBarShell({
|
|
|
38046
38613
|
}, [isStepsExpanded, steps]);
|
|
38047
38614
|
const visibleStepCount = react$1.useMemo(() => browser.topLevelAgentSteps(steps ?? []).length, [steps]);
|
|
38048
38615
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
38049
|
-
|
|
38616
|
+
chunkKBXATCF4_cjs.AgentBar,
|
|
38050
38617
|
{
|
|
38051
38618
|
className,
|
|
38052
38619
|
testId,
|
|
@@ -38058,7 +38625,7 @@ function AgentBarShell({
|
|
|
38058
38625
|
drawerRef: scrollRef,
|
|
38059
38626
|
onDrawerScroll: handleDrawerScroll,
|
|
38060
38627
|
drawer: /* @__PURE__ */ jsxRuntime.jsx(
|
|
38061
|
-
|
|
38628
|
+
chunkMM5Q7AJL_cjs.AgentSteps,
|
|
38062
38629
|
{
|
|
38063
38630
|
steps: stepList,
|
|
38064
38631
|
isStreaming,
|
|
@@ -38110,7 +38677,7 @@ function AgentControlBar({
|
|
|
38110
38677
|
const waitingOnChildren = runningLanes.length > 0 && ["sub_agent", "spawn_subagent", "deep_research", "run_skill"].includes(currentTool ?? "");
|
|
38111
38678
|
const waitingLabel = runningLanes.length === 1 ? `Waiting on ${runningLanes[0].job}` : `Waiting on ${runningLanes.length} sub-agents`;
|
|
38112
38679
|
const liveTimerNode = liveTimer && /* @__PURE__ */ jsxRuntime.jsx(
|
|
38113
|
-
|
|
38680
|
+
chunkMM5Q7AJL_cjs.MessageLiveSeconds,
|
|
38114
38681
|
{
|
|
38115
38682
|
...liveTimer,
|
|
38116
38683
|
offsetSeconds: currentStep?.t ?? 0,
|
|
@@ -38119,7 +38686,7 @@ function AgentControlBar({
|
|
|
38119
38686
|
}
|
|
38120
38687
|
);
|
|
38121
38688
|
const status = /* @__PURE__ */ jsxRuntime.jsx(
|
|
38122
|
-
|
|
38689
|
+
chunkKBXATCF4_cjs.AgentBarStatus,
|
|
38123
38690
|
{
|
|
38124
38691
|
state: showState ? controlState : void 0,
|
|
38125
38692
|
stateLabel: STATE_LABEL[controlState],
|
|
@@ -38161,7 +38728,7 @@ function AgentControlBar({
|
|
|
38161
38728
|
];
|
|
38162
38729
|
const controls = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
38163
38730
|
onStop && /* @__PURE__ */ jsxRuntime.jsx(
|
|
38164
|
-
|
|
38731
|
+
chunkKBXATCF4_cjs.AgentBarIconButton,
|
|
38165
38732
|
{
|
|
38166
38733
|
onClick: onStop,
|
|
38167
38734
|
title: "Stop",
|
|
@@ -38170,22 +38737,22 @@ function AgentControlBar({
|
|
|
38170
38737
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3 w-3", fill: "currentColor" })
|
|
38171
38738
|
}
|
|
38172
38739
|
),
|
|
38173
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
38740
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.AgentBarMenu, { items: menuItems })
|
|
38174
38741
|
] });
|
|
38175
38742
|
const displayedQueuedMessages = (transientQueuedMessages ?? []).filter(
|
|
38176
38743
|
(message) => !message.serverId || !queuedMessages.some((queued) => queued.external_id === message.serverId)
|
|
38177
38744
|
);
|
|
38178
38745
|
const queuedNotes = displayedQueuedMessages.filter((message) => message.content);
|
|
38179
|
-
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
38746
|
+
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.AgentBarNotes, { children: [
|
|
38180
38747
|
queuedNotes.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
38181
|
-
|
|
38748
|
+
chunkKBXATCF4_cjs.AgentBarQueuedNote,
|
|
38182
38749
|
{
|
|
38183
38750
|
text: message.content ?? "",
|
|
38184
38751
|
isAcknowledged: message.acknowledged
|
|
38185
38752
|
},
|
|
38186
38753
|
index
|
|
38187
38754
|
)),
|
|
38188
|
-
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(
|
|
38755
|
+
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
|
|
38189
38756
|
] }) : null;
|
|
38190
38757
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
38191
38758
|
AgentBarShell,
|
|
@@ -38334,7 +38901,7 @@ function ConnectedConversationEmpty({
|
|
|
38334
38901
|
compactLeadingAction: onImportFromEmail && /* @__PURE__ */ jsxRuntime.jsx(AddFromAccountsButton, { onImportFromEmail })
|
|
38335
38902
|
}
|
|
38336
38903
|
),
|
|
38337
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
38904
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.PrivacyExplainerModal, {})
|
|
38338
38905
|
] })
|
|
38339
38906
|
}
|
|
38340
38907
|
);
|
|
@@ -39169,7 +39736,7 @@ function ConversationThread({
|
|
|
39169
39736
|
useStartRequestedDraft();
|
|
39170
39737
|
const orphanedMessage = react.getOrphanedLastMessage(messageHistory, isGenerating, assistantMode);
|
|
39171
39738
|
return /* @__PURE__ */ jsxRuntime.jsxs(chunk32YCMXT2_cjs.ConversationBody, { children: [
|
|
39172
|
-
/* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationMain, { "data-testid": `conversation-${currentConversationId}`, children: threadsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationLoading, {}) : messageHistory.length > 0 || isBranching ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
39739
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationMain, { "data-testid": `conversation-${currentConversationId}`, children: threadsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationLoading, {}) : messageHistory.length > 0 || isBranching ? /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.AskAgainContext.Provider, { value: handleAskAgain, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZHBGG3T3_cjs.TranscriptRunsContext.Provider, { value: transcriptRunInfo, children: [
|
|
39173
39740
|
meetingCallExtId && transcriptLineCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center py-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
39174
39741
|
chunkZBP4ZSAJ_cjs.ConversationFilter,
|
|
39175
39742
|
{
|
|
@@ -39187,7 +39754,7 @@ function ConversationThread({
|
|
|
39187
39754
|
]
|
|
39188
39755
|
}
|
|
39189
39756
|
) }),
|
|
39190
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39757
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedMessageArea, { ref: containerRef, messages: visibleMessages }),
|
|
39191
39758
|
showProvisional && /* @__PURE__ */ jsxRuntime.jsx(chunkV534NNMX_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
|
|
39192
39759
|
] }) }) : meetingCallExtId ? (
|
|
39193
39760
|
// A meeting thread with nothing yet: call-aware, not the upload prompt.
|
|
@@ -39195,7 +39762,7 @@ function ConversationThread({
|
|
|
39195
39762
|
/* @__PURE__ */ jsxRuntime.jsx(chunkV534NNMX_cjs.CallConversationEmpty, { callExtId: meetingCallExtId }),
|
|
39196
39763
|
/* @__PURE__ */ jsxRuntime.jsx(chunkV534NNMX_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
|
|
39197
39764
|
] })
|
|
39198
|
-
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
39765
|
+
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
39199
39766
|
ConnectedConversationEmpty,
|
|
39200
39767
|
{
|
|
39201
39768
|
hasDocuments: allWorkspaceDocuments.length > 0,
|
|
@@ -39266,7 +39833,7 @@ function ConversationThread({
|
|
|
39266
39833
|
children: react.READ_ONLY_MEETING_TEXT
|
|
39267
39834
|
}
|
|
39268
39835
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
39269
|
-
|
|
39836
|
+
chunkMM5Q7AJL_cjs.ConversationComposer,
|
|
39270
39837
|
{
|
|
39271
39838
|
handleSendMessage: handleUserSend,
|
|
39272
39839
|
placeholder: pendingAnswer ? "Type your answer to ARBI \u2014 or pick an option above" : void 0,
|
|
@@ -39606,7 +40173,7 @@ function ConnectedThreadsPage({
|
|
|
39606
40173
|
};
|
|
39607
40174
|
const page = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col", "data-testid": "threads-page", children: [
|
|
39608
40175
|
/* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-0 flex-1 flex-col bg-background", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
39609
|
-
|
|
40176
|
+
chunkKBXATCF4_cjs.ConversationListView,
|
|
39610
40177
|
{
|
|
39611
40178
|
showHeader,
|
|
39612
40179
|
conversations: tasks,
|
|
@@ -39625,7 +40192,7 @@ function ConnectedThreadsPage({
|
|
|
39625
40192
|
renderLabels: threadLabels.renderLabels,
|
|
39626
40193
|
labelText: threadLabels.labelText,
|
|
39627
40194
|
renderBy: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
39628
|
-
|
|
40195
|
+
chunkKBXATCF4_cjs.ConversationTurnSpeaker,
|
|
39629
40196
|
{
|
|
39630
40197
|
variant: "icon",
|
|
39631
40198
|
role: row2.last_message_role,
|
|
@@ -40012,7 +40579,7 @@ function ConnectedChatDocumentsTab({
|
|
|
40012
40579
|
testId: `document-hover-toggle-${doc.external_id}`
|
|
40013
40580
|
},
|
|
40014
40581
|
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
40015
|
-
|
|
40582
|
+
chunkERDQ4DAX_cjs.DocStatusIcon,
|
|
40016
40583
|
{
|
|
40017
40584
|
status: doc.status,
|
|
40018
40585
|
onClick: onStatusClick,
|
|
@@ -40507,7 +41074,7 @@ function ConnectedConversationPage({
|
|
|
40507
41074
|
);
|
|
40508
41075
|
const { data: workspaceTags = [] } = react.useTags();
|
|
40509
41076
|
const { tagId: threadTagId, clear: clearThreadTag } = useThreadTagFilter();
|
|
40510
|
-
const historyCount =
|
|
41077
|
+
const historyCount = chunkKBXATCF4_cjs.filterConversationRows(
|
|
40511
41078
|
threadTagId ? conversations.filter((row2) => row2.label_ext_ids?.includes(threadTagId)) : conversations,
|
|
40512
41079
|
threadFilter,
|
|
40513
41080
|
(row2) => workspaceTags.filter((tag) => row2.label_ext_ids?.includes(tag.external_id)).map((tag) => tag.name).join(" "),
|
|
@@ -40566,7 +41133,7 @@ function ConnectedConversationPage({
|
|
|
40566
41133
|
] })
|
|
40567
41134
|
}
|
|
40568
41135
|
),
|
|
40569
|
-
isInChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
41136
|
+
isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunkUSIRUI2M_cjs.ConnectedThreadTaskBar, { conversationId: currentConversationId })
|
|
40570
41137
|
] }),
|
|
40571
41138
|
isInChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
40572
41139
|
ConversationThread,
|
|
@@ -40596,7 +41163,7 @@ function ConnectedConversationPage({
|
|
|
40596
41163
|
!isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationHistoryPane, { children: searchEnabled && semanticSearchOpen ? /* @__PURE__ */ jsxRuntime.jsx(ConnectedThreadsPage, { showHeader: false, search: true, ResultsBoundary }) : /* @__PURE__ */ jsxRuntime.jsx(ConnectedThreadsPage, { showHeader: false }) })
|
|
40597
41164
|
] }),
|
|
40598
41165
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
40599
|
-
|
|
41166
|
+
chunkERDQ4DAX_cjs.UrlInputDialog,
|
|
40600
41167
|
{
|
|
40601
41168
|
open: urlDialogOpen,
|
|
40602
41169
|
onOpenChange: setUrlDialogOpen,
|
|
@@ -40775,7 +41342,7 @@ function SsoResendVerificationButton({
|
|
|
40775
41342
|
onClick: async () => handleResendEmailVerification(),
|
|
40776
41343
|
disabled: loading || disabled,
|
|
40777
41344
|
"aria-label": "Resend verification email",
|
|
40778
|
-
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
41345
|
+
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunk4VSRSF4Q_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
40779
41346
|
"Didn't get a verification email? ",
|
|
40780
41347
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: "Resend" })
|
|
40781
41348
|
] })
|
|
@@ -40786,16 +41353,16 @@ function SsoResendVerificationButton({
|
|
|
40786
41353
|
}
|
|
40787
41354
|
var NO_RECOVERY_KEY_WARNING = "Without your password or a recovery key, we cannot recover your account or data.";
|
|
40788
41355
|
function ConnectedSsoCallback() {
|
|
40789
|
-
const sso =
|
|
41356
|
+
const sso = chunkMM5Q7AJL_cjs.useSsoSignIn();
|
|
40790
41357
|
const { isAuthenticated: isAuthenticated2, isLoading, user } = sso;
|
|
40791
|
-
const auth =
|
|
41358
|
+
const auth = chunkMM5Q7AJL_cjs.useAuthPages();
|
|
40792
41359
|
const { notify: notify17, navigate } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
40793
41360
|
const passwordRules = auth.passwordRules;
|
|
40794
41361
|
const isProcessing = react$1.useRef(false);
|
|
40795
41362
|
const hasCheckedStatus = react$1.useRef(false);
|
|
40796
41363
|
const [accessToken, setAccessToken] = react$1.useState(null);
|
|
40797
41364
|
const [ssoStatus, setSsoStatus] = react$1.useState(null);
|
|
40798
|
-
const ssoName = react$1.useMemo(() =>
|
|
41365
|
+
const ssoName = react$1.useMemo(() => chunkMM5Q7AJL_cjs.resolveSsoName(user ?? {}, ssoStatus ?? {}), [user, ssoStatus]);
|
|
40799
41366
|
const [password, setPassword] = react$1.useState("");
|
|
40800
41367
|
const [confirmPassword, setConfirmPassword] = react$1.useState("");
|
|
40801
41368
|
const [error, setError] = react$1.useState(null);
|
|
@@ -40973,7 +41540,7 @@ function ConnectedSsoCallback() {
|
|
|
40973
41540
|
setIsCheckingStatus(true);
|
|
40974
41541
|
try {
|
|
40975
41542
|
console.info("[SSO] Checking user status...");
|
|
40976
|
-
const response = await
|
|
41543
|
+
const response = await chunkMM5Q7AJL_cjs.ssoAccountStatus(arbi, accessToken, user);
|
|
40977
41544
|
console.info("[SSO] User status:", response.status);
|
|
40978
41545
|
setSsoStatus(response);
|
|
40979
41546
|
} catch (error2) {
|
|
@@ -41017,7 +41584,7 @@ function ConnectedSsoCallback() {
|
|
|
41017
41584
|
setIsSubmitting(true);
|
|
41018
41585
|
setError(null);
|
|
41019
41586
|
try {
|
|
41020
|
-
const { login, registered, linked } = await
|
|
41587
|
+
const { login, registered, linked } = await chunkMM5Q7AJL_cjs.completeSsoSignIn(arbi, {
|
|
41021
41588
|
token: accessToken,
|
|
41022
41589
|
user,
|
|
41023
41590
|
status: ssoStatus,
|
|
@@ -41299,7 +41866,7 @@ function ConnectedSsoCallback() {
|
|
|
41299
41866
|
ssoStatus.status !== "new_user" && auth.footer
|
|
41300
41867
|
] }),
|
|
41301
41868
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41302
|
-
|
|
41869
|
+
chunkMM5Q7AJL_cjs.ConnectedForgotPassword,
|
|
41303
41870
|
{
|
|
41304
41871
|
open: showForgotPasswordModal,
|
|
41305
41872
|
onOpenChange: setShowForgotPasswordModal,
|
|
@@ -41307,7 +41874,7 @@ function ConnectedSsoCallback() {
|
|
|
41307
41874
|
}
|
|
41308
41875
|
),
|
|
41309
41876
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41310
|
-
|
|
41877
|
+
chunkMM5Q7AJL_cjs.ConnectedPasswordChangeDialog,
|
|
41311
41878
|
{
|
|
41312
41879
|
open: showChangePasswordModal,
|
|
41313
41880
|
onClose: () => setShowChangePasswordModal(false),
|
|
@@ -41466,27 +42033,27 @@ function ConnectedOAuthConsentPage({
|
|
|
41466
42033
|
oauthErrorRedirect(params.redirectUri, params.state, "access_denied");
|
|
41467
42034
|
}
|
|
41468
42035
|
if (error && !params) {
|
|
41469
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
42036
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
|
|
41470
42037
|
}
|
|
41471
42038
|
if (!params) {
|
|
41472
42039
|
return null;
|
|
41473
42040
|
}
|
|
41474
42041
|
if (clientInfo?.isLocalAgentFlow) {
|
|
41475
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
42042
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_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." }) });
|
|
41476
42043
|
}
|
|
41477
42044
|
if (!isAuthenticated2) {
|
|
41478
42045
|
return null;
|
|
41479
42046
|
}
|
|
41480
42047
|
if (callbackUrl) {
|
|
41481
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41482
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
42048
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentCard, { size: "md", children: [
|
|
42049
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
|
|
41483
42050
|
"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",
|
|
41484
42051
|
" ",
|
|
41485
42052
|
copied ? "it's already copied to your clipboard." : "copy it first."
|
|
41486
42053
|
] }),
|
|
41487
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
41488
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41489
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
42054
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentSection, { title: "Callback URL", children: [
|
|
42055
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
|
|
42056
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentText, { variant: "hint", children: [
|
|
41490
42057
|
"In Claude Code, paste the URL at the prompt that says",
|
|
41491
42058
|
" ",
|
|
41492
42059
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-foreground", children: '"paste the full redirect URL here"' }),
|
|
@@ -41495,17 +42062,17 @@ function ConnectedOAuthConsentPage({
|
|
|
41495
42062
|
] })
|
|
41496
42063
|
] }) });
|
|
41497
42064
|
}
|
|
41498
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41499
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
41500
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
42065
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentCard, { children: [
|
|
42066
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
|
|
42067
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
|
|
41501
42068
|
" is requesting access to your ",
|
|
41502
42069
|
appName,
|
|
41503
42070
|
" workspace."
|
|
41504
42071
|
] }),
|
|
41505
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41506
|
-
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
41507
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41508
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
42072
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentPermissionList, { items: permissions }) }),
|
|
42073
|
+
error && /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentNotice, { tone: "error", children: error }),
|
|
42074
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
|
|
42075
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentFootnote, { children: footnote })
|
|
41509
42076
|
] }) });
|
|
41510
42077
|
}
|
|
41511
42078
|
function ConnectedSharedFilesPage({
|
|
@@ -41664,30 +42231,6 @@ function ShellAccount({
|
|
|
41664
42231
|
}
|
|
41665
42232
|
);
|
|
41666
42233
|
}
|
|
41667
|
-
function brandMark(brand, placement) {
|
|
41668
|
-
return typeof brand.logo === "function" ? brand.logo(placement) : brand.logo;
|
|
41669
|
-
}
|
|
41670
|
-
var ShellNavigationContext = react$1.createContext(null);
|
|
41671
|
-
function useShellNavigation() {
|
|
41672
|
-
return react$1.useContext(ShellNavigationContext);
|
|
41673
|
-
}
|
|
41674
|
-
var isExternal = (item) => item.external === true || /^[a-z][a-z0-9+.-]*:/i.test(item.to);
|
|
41675
|
-
function pathOf(address) {
|
|
41676
|
-
const path = address.split(/[?#]/)[0] || "/";
|
|
41677
|
-
return path.length > 1 ? path.replace(/\/+$/, "") || "/" : path;
|
|
41678
|
-
}
|
|
41679
|
-
var queryOf = (address) => new URLSearchParams(address.split("#")[0].split("?")[1] ?? "");
|
|
41680
|
-
function matchScore(item, address) {
|
|
41681
|
-
if (isExternal(item)) return -1;
|
|
41682
|
-
const path = pathOf(address);
|
|
41683
|
-
const to = pathOf(item.to);
|
|
41684
|
-
const exact = path === to;
|
|
41685
|
-
if (!exact && (item.end || !path.startsWith(to === "/" ? "/" : `${to}/`))) return -1;
|
|
41686
|
-
const wanted = [...queryOf(item.to)];
|
|
41687
|
-
const here = queryOf(address);
|
|
41688
|
-
const query = !wanted.length ? 1 : wanted.every(([k, v]) => here.getAll(k).includes(v)) ? 2 : 0;
|
|
41689
|
-
return to.length * 3 + (exact ? query : 1);
|
|
41690
|
-
}
|
|
41691
42234
|
function ConnectedShellSidebar({
|
|
41692
42235
|
logo,
|
|
41693
42236
|
items,
|
|
@@ -42182,7 +42725,7 @@ function ConnectedTipBar({
|
|
|
42182
42725
|
className,
|
|
42183
42726
|
revealOnHover = false
|
|
42184
42727
|
}) {
|
|
42185
|
-
const { showHints, settingsLoaded, setShowHintsPersisted, setShowHints } =
|
|
42728
|
+
const { showHints, settingsLoaded, setShowHintsPersisted, setShowHints } = chunkMM5Q7AJL_cjs.useContextualHints();
|
|
42186
42729
|
const { dismissed, dismissTip } = react.useDismissedTips();
|
|
42187
42730
|
const { notify: notify17 } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
|
|
42188
42731
|
const { data: workspaces } = react.useWorkspaces();
|
|
@@ -42193,7 +42736,7 @@ function ConnectedTipBar({
|
|
|
42193
42736
|
workspaceOpen,
|
|
42194
42737
|
...state
|
|
42195
42738
|
};
|
|
42196
|
-
const { tip, index, count: count2, previous, next, onHoverChange } =
|
|
42739
|
+
const { tip, index, count: count2, previous, next, onHoverChange } = chunk4VSRSF4Q_cjs.useTipsPlacement({
|
|
42197
42740
|
registry,
|
|
42198
42741
|
context,
|
|
42199
42742
|
state: situation,
|
|
@@ -42252,15 +42795,15 @@ var DEFAULT_GETTING_STARTED_STEPS = {
|
|
|
42252
42795
|
},
|
|
42253
42796
|
upload: {
|
|
42254
42797
|
title: "Upload a document",
|
|
42255
|
-
description: (
|
|
42798
|
+
description: (inWorkspace2) => inWorkspace2 ? "Add a file under \u201CFiles\u201D." : "Open a workspace, then add a file under \u201CFiles\u201D."
|
|
42256
42799
|
},
|
|
42257
42800
|
ask: {
|
|
42258
42801
|
title: "Ask a question",
|
|
42259
|
-
description: (
|
|
42802
|
+
description: (inWorkspace2) => inWorkspace2 ? "Open \u201CThreads\u201D and ask a question." : "In a workspace, open \u201CThreads\u201D and ask a question."
|
|
42260
42803
|
},
|
|
42261
42804
|
invite: {
|
|
42262
42805
|
title: "Invite a colleague",
|
|
42263
|
-
description: (
|
|
42806
|
+
description: (inWorkspace2) => inWorkspace2 ? "Invite someone from the members section." : "Open a workspace\u2019s members to invite someone."
|
|
42264
42807
|
}
|
|
42265
42808
|
};
|
|
42266
42809
|
var NO_TIPS = [];
|
|
@@ -42271,14 +42814,14 @@ function useGettingStarted({
|
|
|
42271
42814
|
const { user } = react.useArbiSession();
|
|
42272
42815
|
const userExtId = user?.external_id;
|
|
42273
42816
|
const temporaryOnly = user?.temporary_access_only === true;
|
|
42274
|
-
const { showHints, settingsLoaded, setShowHints, setShowHintsPersisted } =
|
|
42817
|
+
const { showHints, settingsLoaded, setShowHints, setShowHintsPersisted } = chunkMM5Q7AJL_cjs.useContextualHints();
|
|
42275
42818
|
const { dismissed, loaded: dismissedLoaded, dismissTip } = react.useDismissedTips();
|
|
42276
42819
|
const welcomeJourneyEnabled = react.useFeature("welcomeJourney");
|
|
42277
42820
|
const session = react.useArbiSessionStore();
|
|
42278
42821
|
const [replayView] = react.useTransientView(chunk4B6HYQTW_cjs.WELCOME_REPLAY_VIEW, false);
|
|
42279
42822
|
const welcomeReplay = replayView === true;
|
|
42280
42823
|
const welcomeDialogOpen = chunkJDFBEGQO_cjs.useDialogProps("welcome") !== null;
|
|
42281
|
-
const
|
|
42824
|
+
const inWorkspace2 = react.useArbiSessionState((s) => !!s.workspaceId && s.workspaceStatus === "open");
|
|
42282
42825
|
const { data: workspaces, isLoading: workspacesLoading } = react.useWorkspaces();
|
|
42283
42826
|
const { data: projects, isLoading: projectsLoading } = react.useProjects();
|
|
42284
42827
|
const isLoading = workspacesLoading || projectsLoading;
|
|
@@ -42324,13 +42867,13 @@ function useGettingStarted({
|
|
|
42324
42867
|
return {
|
|
42325
42868
|
id,
|
|
42326
42869
|
title: copy.title,
|
|
42327
|
-
description: copy.description(
|
|
42870
|
+
description: copy.description(inWorkspace2),
|
|
42328
42871
|
done: done[id],
|
|
42329
42872
|
...optional ? { optional } : {}
|
|
42330
42873
|
};
|
|
42331
42874
|
};
|
|
42332
42875
|
return [step("workspace"), step("upload"), step("ask"), step("invite", true)];
|
|
42333
|
-
}, [counts,
|
|
42876
|
+
}, [counts, inWorkspace2, welcomeReplay, stepCopy]);
|
|
42334
42877
|
const coreSteps = steps.filter((s) => !s.optional);
|
|
42335
42878
|
const completedCore = coreSteps.filter((s) => s.done).length;
|
|
42336
42879
|
const totalCore = coreSteps.length;
|
|
@@ -42493,15 +43036,15 @@ function ChromeInstallDialog({
|
|
|
42493
43036
|
|
|
42494
43037
|
Object.defineProperty(exports, "ConnectedTagEntity", {
|
|
42495
43038
|
enumerable: true,
|
|
42496
|
-
get: function () { return
|
|
43039
|
+
get: function () { return chunkVD33HXFZ_cjs.ConnectedTagEntity; }
|
|
42497
43040
|
});
|
|
42498
43041
|
Object.defineProperty(exports, "documentFieldContent", {
|
|
42499
43042
|
enumerable: true,
|
|
42500
|
-
get: function () { return
|
|
43043
|
+
get: function () { return chunkVD33HXFZ_cjs.documentFieldContent; }
|
|
42501
43044
|
});
|
|
42502
43045
|
Object.defineProperty(exports, "useMemberLookup", {
|
|
42503
43046
|
enumerable: true,
|
|
42504
|
-
get: function () { return
|
|
43047
|
+
get: function () { return chunkVD33HXFZ_cjs.useMemberLookup; }
|
|
42505
43048
|
});
|
|
42506
43049
|
Object.defineProperty(exports, "DEFAULT_ASK_SUGGESTIONS", {
|
|
42507
43050
|
enumerable: true,
|
|
@@ -42605,267 +43148,267 @@ Object.defineProperty(exports, "useWorkspaceDocs", {
|
|
|
42605
43148
|
});
|
|
42606
43149
|
Object.defineProperty(exports, "ConnectedTaskActivityDialog", {
|
|
42607
43150
|
enumerable: true,
|
|
42608
|
-
get: function () { return
|
|
43151
|
+
get: function () { return chunkUSIRUI2M_cjs.ConnectedTaskActivityDialog; }
|
|
42609
43152
|
});
|
|
42610
43153
|
Object.defineProperty(exports, "ConnectedTaskComposer", {
|
|
42611
43154
|
enumerable: true,
|
|
42612
|
-
get: function () { return
|
|
43155
|
+
get: function () { return chunkUSIRUI2M_cjs.ConnectedTaskComposer; }
|
|
42613
43156
|
});
|
|
42614
43157
|
Object.defineProperty(exports, "ConnectedThreadTaskBar", {
|
|
42615
43158
|
enumerable: true,
|
|
42616
|
-
get: function () { return
|
|
43159
|
+
get: function () { return chunkUSIRUI2M_cjs.ConnectedThreadTaskBar; }
|
|
42617
43160
|
});
|
|
42618
43161
|
Object.defineProperty(exports, "ConnectedWorkflowHistory", {
|
|
42619
43162
|
enumerable: true,
|
|
42620
|
-
get: function () { return
|
|
43163
|
+
get: function () { return chunkUSIRUI2M_cjs.ConnectedWorkflowHistory; }
|
|
42621
43164
|
});
|
|
42622
43165
|
Object.defineProperty(exports, "ConnectedWorkflowRunPage", {
|
|
42623
43166
|
enumerable: true,
|
|
42624
|
-
get: function () { return
|
|
43167
|
+
get: function () { return chunkUSIRUI2M_cjs.ConnectedWorkflowRunPage; }
|
|
42625
43168
|
});
|
|
42626
43169
|
Object.defineProperty(exports, "ConnectedWorkflowRunner", {
|
|
42627
43170
|
enumerable: true,
|
|
42628
|
-
get: function () { return
|
|
43171
|
+
get: function () { return chunkUSIRUI2M_cjs.ConnectedWorkflowRunner; }
|
|
42629
43172
|
});
|
|
42630
43173
|
Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS", {
|
|
42631
43174
|
enumerable: true,
|
|
42632
|
-
get: function () { return
|
|
43175
|
+
get: function () { return chunkUSIRUI2M_cjs.DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS; }
|
|
42633
43176
|
});
|
|
42634
43177
|
Object.defineProperty(exports, "DEFAULT_WORKFLOW_RUN_PAGE_LABELS", {
|
|
42635
43178
|
enumerable: true,
|
|
42636
|
-
get: function () { return
|
|
43179
|
+
get: function () { return chunkUSIRUI2M_cjs.DEFAULT_WORKFLOW_RUN_PAGE_LABELS; }
|
|
42637
43180
|
});
|
|
42638
43181
|
Object.defineProperty(exports, "WorkflowRunThread", {
|
|
42639
43182
|
enumerable: true,
|
|
42640
|
-
get: function () { return
|
|
43183
|
+
get: function () { return chunkUSIRUI2M_cjs.WorkflowRunThread; }
|
|
42641
43184
|
});
|
|
42642
43185
|
Object.defineProperty(exports, "WorkflowRunWorkspaceChangedError", {
|
|
42643
43186
|
enumerable: true,
|
|
42644
|
-
get: function () { return
|
|
43187
|
+
get: function () { return chunkUSIRUI2M_cjs.WorkflowRunWorkspaceChangedError; }
|
|
42645
43188
|
});
|
|
42646
43189
|
Object.defineProperty(exports, "buildProjectSummaries", {
|
|
42647
43190
|
enumerable: true,
|
|
42648
|
-
get: function () { return
|
|
43191
|
+
get: function () { return chunkUSIRUI2M_cjs.buildProjectSummaries; }
|
|
42649
43192
|
});
|
|
42650
43193
|
Object.defineProperty(exports, "primaryProjectWorkspace", {
|
|
42651
43194
|
enumerable: true,
|
|
42652
|
-
get: function () { return
|
|
43195
|
+
get: function () { return chunkUSIRUI2M_cjs.primaryProjectWorkspace; }
|
|
42653
43196
|
});
|
|
42654
43197
|
Object.defineProperty(exports, "useEnsureRequiredLabels", {
|
|
42655
43198
|
enumerable: true,
|
|
42656
|
-
get: function () { return
|
|
43199
|
+
get: function () { return chunkUSIRUI2M_cjs.useEnsureRequiredLabels; }
|
|
42657
43200
|
});
|
|
42658
43201
|
Object.defineProperty(exports, "useProjectSummaries", {
|
|
42659
43202
|
enumerable: true,
|
|
42660
|
-
get: function () { return
|
|
43203
|
+
get: function () { return chunkUSIRUI2M_cjs.useProjectSummaries; }
|
|
42661
43204
|
});
|
|
42662
43205
|
Object.defineProperty(exports, "useProjectSummary", {
|
|
42663
43206
|
enumerable: true,
|
|
42664
|
-
get: function () { return
|
|
43207
|
+
get: function () { return chunkUSIRUI2M_cjs.useProjectSummary; }
|
|
42665
43208
|
});
|
|
42666
43209
|
Object.defineProperty(exports, "useRenderTaskPerson", {
|
|
42667
43210
|
enumerable: true,
|
|
42668
|
-
get: function () { return
|
|
43211
|
+
get: function () { return chunkUSIRUI2M_cjs.useRenderTaskPerson; }
|
|
42669
43212
|
});
|
|
42670
43213
|
Object.defineProperty(exports, "useRequiredLabels", {
|
|
42671
43214
|
enumerable: true,
|
|
42672
|
-
get: function () { return
|
|
43215
|
+
get: function () { return chunkUSIRUI2M_cjs.useRequiredLabels; }
|
|
42673
43216
|
});
|
|
42674
43217
|
Object.defineProperty(exports, "useTaskPeople", {
|
|
42675
43218
|
enumerable: true,
|
|
42676
|
-
get: function () { return
|
|
43219
|
+
get: function () { return chunkUSIRUI2M_cjs.useTaskPeople; }
|
|
42677
43220
|
});
|
|
42678
43221
|
Object.defineProperty(exports, "useWorkflowsPageState", {
|
|
42679
43222
|
enumerable: true,
|
|
42680
|
-
get: function () { return
|
|
43223
|
+
get: function () { return chunkUSIRUI2M_cjs.useWorkflowsPageState; }
|
|
42681
43224
|
});
|
|
42682
43225
|
Object.defineProperty(exports, "workflowRunView", {
|
|
42683
43226
|
enumerable: true,
|
|
42684
|
-
get: function () { return
|
|
43227
|
+
get: function () { return chunkUSIRUI2M_cjs.workflowRunView; }
|
|
42685
43228
|
});
|
|
42686
43229
|
Object.defineProperty(exports, "AgentSteps", {
|
|
42687
43230
|
enumerable: true,
|
|
42688
|
-
get: function () { return
|
|
43231
|
+
get: function () { return chunkMM5Q7AJL_cjs.AgentSteps; }
|
|
42689
43232
|
});
|
|
42690
43233
|
Object.defineProperty(exports, "AnswerTable", {
|
|
42691
43234
|
enumerable: true,
|
|
42692
|
-
get: function () { return
|
|
43235
|
+
get: function () { return chunkMM5Q7AJL_cjs.AnswerTable; }
|
|
42693
43236
|
});
|
|
42694
43237
|
Object.defineProperty(exports, "ArbiChat", {
|
|
42695
43238
|
enumerable: true,
|
|
42696
|
-
get: function () { return
|
|
43239
|
+
get: function () { return chunkMM5Q7AJL_cjs.ArbiChat; }
|
|
42697
43240
|
});
|
|
42698
43241
|
Object.defineProperty(exports, "AskAgainContext", {
|
|
42699
43242
|
enumerable: true,
|
|
42700
|
-
get: function () { return
|
|
43243
|
+
get: function () { return chunkMM5Q7AJL_cjs.AskAgainContext; }
|
|
42701
43244
|
});
|
|
42702
43245
|
Object.defineProperty(exports, "ConnectedBranchControls", {
|
|
42703
43246
|
enumerable: true,
|
|
42704
|
-
get: function () { return
|
|
43247
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedBranchControls; }
|
|
42705
43248
|
});
|
|
42706
43249
|
Object.defineProperty(exports, "ConnectedCitationRenderer", {
|
|
42707
43250
|
enumerable: true,
|
|
42708
|
-
get: function () { return
|
|
43251
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedCitationRenderer; }
|
|
42709
43252
|
});
|
|
42710
43253
|
Object.defineProperty(exports, "ConnectedCompactConversation", {
|
|
42711
43254
|
enumerable: true,
|
|
42712
|
-
get: function () { return
|
|
43255
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedCompactConversation; }
|
|
42713
43256
|
});
|
|
42714
43257
|
Object.defineProperty(exports, "ConnectedCompactLogin", {
|
|
42715
43258
|
enumerable: true,
|
|
42716
|
-
get: function () { return
|
|
43259
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedCompactLogin; }
|
|
42717
43260
|
});
|
|
42718
43261
|
Object.defineProperty(exports, "ConnectedConversationDocumentPicker", {
|
|
42719
43262
|
enumerable: true,
|
|
42720
|
-
get: function () { return
|
|
43263
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedConversationDocumentPicker; }
|
|
42721
43264
|
});
|
|
42722
43265
|
Object.defineProperty(exports, "ConnectedDangerZone", {
|
|
42723
43266
|
enumerable: true,
|
|
42724
|
-
get: function () { return
|
|
43267
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedDangerZone; }
|
|
42725
43268
|
});
|
|
42726
43269
|
Object.defineProperty(exports, "ConnectedEmbeddedChat", {
|
|
42727
43270
|
enumerable: true,
|
|
42728
|
-
get: function () { return
|
|
43271
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedEmbeddedChat; }
|
|
42729
43272
|
});
|
|
42730
43273
|
Object.defineProperty(exports, "ConnectedForgotPassword", {
|
|
42731
43274
|
enumerable: true,
|
|
42732
|
-
get: function () { return
|
|
43275
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedForgotPassword; }
|
|
42733
43276
|
});
|
|
42734
43277
|
Object.defineProperty(exports, "ConnectedIdentityVerification", {
|
|
42735
43278
|
enumerable: true,
|
|
42736
|
-
get: function () { return
|
|
43279
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedIdentityVerification; }
|
|
42737
43280
|
});
|
|
42738
43281
|
Object.defineProperty(exports, "ConnectedLoginPage", {
|
|
42739
43282
|
enumerable: true,
|
|
42740
|
-
get: function () { return
|
|
43283
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedLoginPage; }
|
|
42741
43284
|
});
|
|
42742
43285
|
Object.defineProperty(exports, "ConnectedLogoutDialog", {
|
|
42743
43286
|
enumerable: true,
|
|
42744
|
-
get: function () { return
|
|
43287
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedLogoutDialog; }
|
|
42745
43288
|
});
|
|
42746
43289
|
Object.defineProperty(exports, "ConnectedMessage", {
|
|
42747
43290
|
enumerable: true,
|
|
42748
|
-
get: function () { return
|
|
43291
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedMessage; }
|
|
42749
43292
|
});
|
|
42750
43293
|
Object.defineProperty(exports, "ConnectedMessageArea", {
|
|
42751
43294
|
enumerable: true,
|
|
42752
|
-
get: function () { return
|
|
43295
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedMessageArea; }
|
|
42753
43296
|
});
|
|
42754
43297
|
Object.defineProperty(exports, "ConnectedMessageList", {
|
|
42755
43298
|
enumerable: true,
|
|
42756
|
-
get: function () { return
|
|
43299
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedMessageList; }
|
|
42757
43300
|
});
|
|
42758
43301
|
Object.defineProperty(exports, "ConnectedModelSelector", {
|
|
42759
43302
|
enumerable: true,
|
|
42760
|
-
get: function () { return
|
|
43303
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedModelSelector; }
|
|
42761
43304
|
});
|
|
42762
43305
|
Object.defineProperty(exports, "ConnectedNotificationPreferences", {
|
|
42763
43306
|
enumerable: true,
|
|
42764
|
-
get: function () { return
|
|
43307
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedNotificationPreferences; }
|
|
42765
43308
|
});
|
|
42766
43309
|
Object.defineProperty(exports, "ConnectedPasswordChangeDialog", {
|
|
42767
43310
|
enumerable: true,
|
|
42768
|
-
get: function () { return
|
|
43311
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedPasswordChangeDialog; }
|
|
42769
43312
|
});
|
|
42770
43313
|
Object.defineProperty(exports, "ConnectedProfileCard", {
|
|
42771
43314
|
enumerable: true,
|
|
42772
|
-
get: function () { return
|
|
43315
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedProfileCard; }
|
|
42773
43316
|
});
|
|
42774
43317
|
Object.defineProperty(exports, "ConnectedSecuritySection", {
|
|
42775
43318
|
enumerable: true,
|
|
42776
|
-
get: function () { return
|
|
43319
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedSecuritySection; }
|
|
42777
43320
|
});
|
|
42778
43321
|
Object.defineProperty(exports, "ConnectedSessionsRow", {
|
|
42779
43322
|
enumerable: true,
|
|
42780
|
-
get: function () { return
|
|
43323
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedSessionsRow; }
|
|
42781
43324
|
});
|
|
42782
43325
|
Object.defineProperty(exports, "ConnectedThreadsPreview", {
|
|
42783
43326
|
enumerable: true,
|
|
42784
|
-
get: function () { return
|
|
43327
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConnectedThreadsPreview; }
|
|
42785
43328
|
});
|
|
42786
43329
|
Object.defineProperty(exports, "ConversationComposer", {
|
|
42787
43330
|
enumerable: true,
|
|
42788
|
-
get: function () { return
|
|
43331
|
+
get: function () { return chunkMM5Q7AJL_cjs.ConversationComposer; }
|
|
42789
43332
|
});
|
|
42790
43333
|
Object.defineProperty(exports, "EmbeddedChatPanel", {
|
|
42791
43334
|
enumerable: true,
|
|
42792
|
-
get: function () { return
|
|
43335
|
+
get: function () { return chunkMM5Q7AJL_cjs.EmbeddedChatPanel; }
|
|
42793
43336
|
});
|
|
42794
43337
|
Object.defineProperty(exports, "MessageDetailsModal", {
|
|
42795
43338
|
enumerable: true,
|
|
42796
|
-
get: function () { return
|
|
43339
|
+
get: function () { return chunkMM5Q7AJL_cjs.MessageDetailsModal; }
|
|
42797
43340
|
});
|
|
42798
43341
|
Object.defineProperty(exports, "MessageLiveSeconds", {
|
|
42799
43342
|
enumerable: true,
|
|
42800
|
-
get: function () { return
|
|
43343
|
+
get: function () { return chunkMM5Q7AJL_cjs.MessageLiveSeconds; }
|
|
42801
43344
|
});
|
|
42802
43345
|
Object.defineProperty(exports, "PENDING_RECOVERY_KEY", {
|
|
42803
43346
|
enumerable: true,
|
|
42804
|
-
get: function () { return
|
|
43347
|
+
get: function () { return chunkMM5Q7AJL_cjs.PENDING_RECOVERY_KEY; }
|
|
42805
43348
|
});
|
|
42806
43349
|
Object.defineProperty(exports, "PREMIUM_TIER_TAG", {
|
|
42807
43350
|
enumerable: true,
|
|
42808
|
-
get: function () { return
|
|
43351
|
+
get: function () { return chunkMM5Q7AJL_cjs.PREMIUM_TIER_TAG; }
|
|
42809
43352
|
});
|
|
42810
43353
|
Object.defineProperty(exports, "RunningSubagents", {
|
|
42811
43354
|
enumerable: true,
|
|
42812
|
-
get: function () { return
|
|
43355
|
+
get: function () { return chunkMM5Q7AJL_cjs.RunningSubagents; }
|
|
42813
43356
|
});
|
|
42814
43357
|
Object.defineProperty(exports, "STANDARD_TIER_TAG", {
|
|
42815
43358
|
enumerable: true,
|
|
42816
|
-
get: function () { return
|
|
43359
|
+
get: function () { return chunkMM5Q7AJL_cjs.STANDARD_TIER_TAG; }
|
|
42817
43360
|
});
|
|
42818
43361
|
Object.defineProperty(exports, "WorkflowStepMessage", {
|
|
42819
43362
|
enumerable: true,
|
|
42820
|
-
get: function () { return
|
|
43363
|
+
get: function () { return chunkMM5Q7AJL_cjs.WorkflowStepMessage; }
|
|
42821
43364
|
});
|
|
42822
43365
|
Object.defineProperty(exports, "backUpOnSignup", {
|
|
42823
43366
|
enumerable: true,
|
|
42824
|
-
get: function () { return
|
|
43367
|
+
get: function () { return chunkMM5Q7AJL_cjs.backUpOnSignup; }
|
|
42825
43368
|
});
|
|
42826
43369
|
Object.defineProperty(exports, "defaultHost", {
|
|
42827
43370
|
enumerable: true,
|
|
42828
|
-
get: function () { return
|
|
43371
|
+
get: function () { return chunkMM5Q7AJL_cjs.defaultHost; }
|
|
42829
43372
|
});
|
|
42830
43373
|
Object.defineProperty(exports, "renderConnectedUser", {
|
|
42831
43374
|
enumerable: true,
|
|
42832
|
-
get: function () { return
|
|
43375
|
+
get: function () { return chunkMM5Q7AJL_cjs.renderConnectedUser; }
|
|
42833
43376
|
});
|
|
42834
43377
|
Object.defineProperty(exports, "renderSessionStatusIcon", {
|
|
42835
43378
|
enumerable: true,
|
|
42836
|
-
get: function () { return
|
|
43379
|
+
get: function () { return chunkMM5Q7AJL_cjs.renderSessionStatusIcon; }
|
|
42837
43380
|
});
|
|
42838
43381
|
Object.defineProperty(exports, "resolveSsoName", {
|
|
42839
43382
|
enumerable: true,
|
|
42840
|
-
get: function () { return
|
|
43383
|
+
get: function () { return chunkMM5Q7AJL_cjs.resolveSsoName; }
|
|
42841
43384
|
});
|
|
42842
43385
|
Object.defineProperty(exports, "useAuthPages", {
|
|
42843
43386
|
enumerable: true,
|
|
42844
|
-
get: function () { return
|
|
43387
|
+
get: function () { return chunkMM5Q7AJL_cjs.useAuthPages; }
|
|
42845
43388
|
});
|
|
42846
43389
|
Object.defineProperty(exports, "useContextualHints", {
|
|
42847
43390
|
enumerable: true,
|
|
42848
|
-
get: function () { return
|
|
43391
|
+
get: function () { return chunkMM5Q7AJL_cjs.useContextualHints; }
|
|
42849
43392
|
});
|
|
42850
43393
|
Object.defineProperty(exports, "useModelPicker", {
|
|
42851
43394
|
enumerable: true,
|
|
42852
|
-
get: function () { return
|
|
43395
|
+
get: function () { return chunkMM5Q7AJL_cjs.useModelPicker; }
|
|
42853
43396
|
});
|
|
42854
43397
|
Object.defineProperty(exports, "useOpenChunk", {
|
|
42855
43398
|
enumerable: true,
|
|
42856
|
-
get: function () { return
|
|
43399
|
+
get: function () { return chunkMM5Q7AJL_cjs.useOpenChunk; }
|
|
42857
43400
|
});
|
|
42858
43401
|
Object.defineProperty(exports, "useOpenWorkspaceIcon", {
|
|
42859
43402
|
enumerable: true,
|
|
42860
|
-
get: function () { return
|
|
43403
|
+
get: function () { return chunkMM5Q7AJL_cjs.useOpenWorkspaceIcon; }
|
|
42861
43404
|
});
|
|
42862
43405
|
Object.defineProperty(exports, "useSsoSignIn", {
|
|
42863
43406
|
enumerable: true,
|
|
42864
|
-
get: function () { return
|
|
43407
|
+
get: function () { return chunkMM5Q7AJL_cjs.useSsoSignIn; }
|
|
42865
43408
|
});
|
|
42866
43409
|
Object.defineProperty(exports, "useWorkspaceDocTitles", {
|
|
42867
43410
|
enumerable: true,
|
|
42868
|
-
get: function () { return
|
|
43411
|
+
get: function () { return chunkMM5Q7AJL_cjs.useWorkspaceDocTitles; }
|
|
42869
43412
|
});
|
|
42870
43413
|
Object.defineProperty(exports, "ConnectedWorkflowStart", {
|
|
42871
43414
|
enumerable: true,
|
|
@@ -42897,11 +43440,11 @@ Object.defineProperty(exports, "useSlashSkillWorkflows", {
|
|
|
42897
43440
|
});
|
|
42898
43441
|
Object.defineProperty(exports, "useConnectedThreadActivity", {
|
|
42899
43442
|
enumerable: true,
|
|
42900
|
-
get: function () { return
|
|
43443
|
+
get: function () { return chunkSWILV6LT_cjs.useConnectedThreadActivity; }
|
|
42901
43444
|
});
|
|
42902
43445
|
Object.defineProperty(exports, "DocumentUser", {
|
|
42903
43446
|
enumerable: true,
|
|
42904
|
-
get: function () { return
|
|
43447
|
+
get: function () { return chunkMT3RPUQC_cjs.DocumentUser; }
|
|
42905
43448
|
});
|
|
42906
43449
|
Object.defineProperty(exports, "useCanBrowseSkills", {
|
|
42907
43450
|
enumerable: true,
|
|
@@ -42997,35 +43540,35 @@ Object.defineProperty(exports, "ConnectedDocumentToolsProvider", {
|
|
|
42997
43540
|
});
|
|
42998
43541
|
Object.defineProperty(exports, "FILES_PREFS_KEY", {
|
|
42999
43542
|
enumerable: true,
|
|
43000
|
-
get: function () { return
|
|
43543
|
+
get: function () { return chunkHJBVSG6H_cjs.FILES_PREFS_KEY; }
|
|
43001
43544
|
});
|
|
43002
43545
|
Object.defineProperty(exports, "filesViewMode", {
|
|
43003
43546
|
enumerable: true,
|
|
43004
|
-
get: function () { return
|
|
43547
|
+
get: function () { return chunkHJBVSG6H_cjs.filesViewMode; }
|
|
43005
43548
|
});
|
|
43006
43549
|
Object.defineProperty(exports, "useAiReviewStore", {
|
|
43007
43550
|
enumerable: true,
|
|
43008
|
-
get: function () { return
|
|
43551
|
+
get: function () { return chunkHJBVSG6H_cjs.useAiReviewStore; }
|
|
43009
43552
|
});
|
|
43010
43553
|
Object.defineProperty(exports, "useFilesDialogs", {
|
|
43011
43554
|
enumerable: true,
|
|
43012
|
-
get: function () { return
|
|
43555
|
+
get: function () { return chunkHJBVSG6H_cjs.useFilesDialogs; }
|
|
43013
43556
|
});
|
|
43014
43557
|
Object.defineProperty(exports, "useFilesGridStates", {
|
|
43015
43558
|
enumerable: true,
|
|
43016
|
-
get: function () { return
|
|
43559
|
+
get: function () { return chunkHJBVSG6H_cjs.useFilesGridStates; }
|
|
43017
43560
|
});
|
|
43018
43561
|
Object.defineProperty(exports, "useFilesPrefs", {
|
|
43019
43562
|
enumerable: true,
|
|
43020
|
-
get: function () { return
|
|
43563
|
+
get: function () { return chunkHJBVSG6H_cjs.useFilesPrefs; }
|
|
43021
43564
|
});
|
|
43022
43565
|
Object.defineProperty(exports, "useFilesStore", {
|
|
43023
43566
|
enumerable: true,
|
|
43024
|
-
get: function () { return
|
|
43567
|
+
get: function () { return chunkHJBVSG6H_cjs.useFilesStore; }
|
|
43025
43568
|
});
|
|
43026
43569
|
Object.defineProperty(exports, "usePendingFolders", {
|
|
43027
43570
|
enumerable: true,
|
|
43028
|
-
get: function () { return
|
|
43571
|
+
get: function () { return chunkHJBVSG6H_cjs.usePendingFolders; }
|
|
43029
43572
|
});
|
|
43030
43573
|
Object.defineProperty(exports, "ConnectedMarkdown", {
|
|
43031
43574
|
enumerable: true,
|
|
@@ -43057,67 +43600,67 @@ Object.defineProperty(exports, "useDocumentWorkspace", {
|
|
|
43057
43600
|
});
|
|
43058
43601
|
Object.defineProperty(exports, "ConnectedPendingSyncDialog", {
|
|
43059
43602
|
enumerable: true,
|
|
43060
|
-
get: function () { return
|
|
43603
|
+
get: function () { return chunkJ24LYNTY_cjs.ConnectedPendingSyncDialog; }
|
|
43061
43604
|
});
|
|
43062
43605
|
Object.defineProperty(exports, "DocumentFolderCell", {
|
|
43063
43606
|
enumerable: true,
|
|
43064
|
-
get: function () { return
|
|
43607
|
+
get: function () { return chunkJ24LYNTY_cjs.DocumentFolderCell; }
|
|
43065
43608
|
});
|
|
43066
43609
|
Object.defineProperty(exports, "DocumentLabelsCell", {
|
|
43067
43610
|
enumerable: true,
|
|
43068
|
-
get: function () { return
|
|
43611
|
+
get: function () { return chunkJ24LYNTY_cjs.DocumentLabelsCell; }
|
|
43069
43612
|
});
|
|
43070
43613
|
Object.defineProperty(exports, "DocumentNameCell", {
|
|
43071
43614
|
enumerable: true,
|
|
43072
|
-
get: function () { return
|
|
43615
|
+
get: function () { return chunkJ24LYNTY_cjs.DocumentNameCell; }
|
|
43073
43616
|
});
|
|
43074
43617
|
Object.defineProperty(exports, "DocumentSharedCell", {
|
|
43075
43618
|
enumerable: true,
|
|
43076
|
-
get: function () { return
|
|
43619
|
+
get: function () { return chunkJ24LYNTY_cjs.DocumentSharedCell; }
|
|
43077
43620
|
});
|
|
43078
43621
|
Object.defineProperty(exports, "DocumentStatusGlyph", {
|
|
43079
43622
|
enumerable: true,
|
|
43080
|
-
get: function () { return
|
|
43623
|
+
get: function () { return chunkJ24LYNTY_cjs.DocumentStatusGlyph; }
|
|
43081
43624
|
});
|
|
43082
43625
|
Object.defineProperty(exports, "DocumentSyncGlyph", {
|
|
43083
43626
|
enumerable: true,
|
|
43084
|
-
get: function () { return
|
|
43627
|
+
get: function () { return chunkJ24LYNTY_cjs.DocumentSyncGlyph; }
|
|
43085
43628
|
});
|
|
43086
43629
|
Object.defineProperty(exports, "FileTooltipContent", {
|
|
43087
43630
|
enumerable: true,
|
|
43088
|
-
get: function () { return
|
|
43631
|
+
get: function () { return chunkJ24LYNTY_cjs.FileTooltipContent; }
|
|
43089
43632
|
});
|
|
43090
43633
|
Object.defineProperty(exports, "RelatedDocumentsCell", {
|
|
43091
43634
|
enumerable: true,
|
|
43092
|
-
get: function () { return
|
|
43635
|
+
get: function () { return chunkJ24LYNTY_cjs.RelatedDocumentsCell; }
|
|
43093
43636
|
});
|
|
43094
43637
|
Object.defineProperty(exports, "StatusCell", {
|
|
43095
43638
|
enumerable: true,
|
|
43096
|
-
get: function () { return
|
|
43639
|
+
get: function () { return chunkJ24LYNTY_cjs.StatusCell; }
|
|
43097
43640
|
});
|
|
43098
43641
|
Object.defineProperty(exports, "UserAvatar", {
|
|
43099
43642
|
enumerable: true,
|
|
43100
|
-
get: function () { return
|
|
43643
|
+
get: function () { return chunkJ24LYNTY_cjs.UserAvatar; }
|
|
43101
43644
|
});
|
|
43102
43645
|
Object.defineProperty(exports, "isActiveDocumentStatus", {
|
|
43103
43646
|
enumerable: true,
|
|
43104
|
-
get: function () { return
|
|
43647
|
+
get: function () { return chunkJ24LYNTY_cjs.isActiveDocumentStatus; }
|
|
43105
43648
|
});
|
|
43106
43649
|
Object.defineProperty(exports, "openPendingSyncDialog", {
|
|
43107
43650
|
enumerable: true,
|
|
43108
|
-
get: function () { return
|
|
43651
|
+
get: function () { return chunkJ24LYNTY_cjs.openPendingSyncDialog; }
|
|
43109
43652
|
});
|
|
43110
43653
|
Object.defineProperty(exports, "parseQuotaError", {
|
|
43111
43654
|
enumerable: true,
|
|
43112
|
-
get: function () { return
|
|
43655
|
+
get: function () { return chunkJ24LYNTY_cjs.parseQuotaError; }
|
|
43113
43656
|
});
|
|
43114
43657
|
Object.defineProperty(exports, "startMenuItem", {
|
|
43115
43658
|
enumerable: true,
|
|
43116
|
-
get: function () { return
|
|
43659
|
+
get: function () { return chunkJ24LYNTY_cjs.startMenuItem; }
|
|
43117
43660
|
});
|
|
43118
43661
|
Object.defineProperty(exports, "useDocumentFolders", {
|
|
43119
43662
|
enumerable: true,
|
|
43120
|
-
get: function () { return
|
|
43663
|
+
get: function () { return chunkJ24LYNTY_cjs.useDocumentFolders; }
|
|
43121
43664
|
});
|
|
43122
43665
|
Object.defineProperty(exports, "useMeetingThreadMessages", {
|
|
43123
43666
|
enumerable: true,
|
|
@@ -43225,6 +43768,7 @@ exports.ConnectedChatFactsTab = ConnectedChatFactsTab;
|
|
|
43225
43768
|
exports.ConnectedChatMessageBody = ConnectedChatMessageBody;
|
|
43226
43769
|
exports.ConnectedChatPeopleDialog = ConnectedChatPeopleDialog;
|
|
43227
43770
|
exports.ConnectedChatThread = ConnectedChatThread;
|
|
43771
|
+
exports.ConnectedCommandPalette = ConnectedCommandPalette;
|
|
43228
43772
|
exports.ConnectedConfigForm = ConnectedConfigForm;
|
|
43229
43773
|
exports.ConnectedContactCardForm = ConnectedContactCardForm;
|
|
43230
43774
|
exports.ConnectedContactMenu = ConnectedContactMenu;
|
|
@@ -43454,6 +43998,7 @@ exports.closeAccessRequestReview = closeAccessRequestReview;
|
|
|
43454
43998
|
exports.connectedAppsSettingsSection = connectedAppsSettingsSection;
|
|
43455
43999
|
exports.connectionSettingsSection = connectionSettingsSection;
|
|
43456
44000
|
exports.countNotificationTypes = countNotificationTypes;
|
|
44001
|
+
exports.createBuiltinActions = createBuiltinActions;
|
|
43457
44002
|
exports.createDocumentColumns = createDocumentColumns;
|
|
43458
44003
|
exports.createEventCall = createEventCall;
|
|
43459
44004
|
exports.createNotificationTargetOpener = createNotificationTargetOpener;
|
|
@@ -43481,6 +44026,7 @@ exports.loadEventWebinar = loadEventWebinar;
|
|
|
43481
44026
|
exports.mailSettingsSection = mailSettingsSection;
|
|
43482
44027
|
exports.modelConnectionsSettingsSection = modelConnectionsSettingsSection;
|
|
43483
44028
|
exports.offlineMailSupport = offlineMailSupport;
|
|
44029
|
+
exports.openCommandPalette = openCommandPalette;
|
|
43484
44030
|
exports.openFieldsManagerIn = openFieldsManagerIn;
|
|
43485
44031
|
exports.openMeetingLink = openMeetingLink;
|
|
43486
44032
|
exports.openQuotaDialogIfUsedUp = openQuotaDialogIfUsedUp;
|