@arbidocs/blocks 0.5.65 → 0.5.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ConnectedCallDock-GJAGY75U.cjs → ConnectedCallDock-FFIDDYGH.cjs} +6 -6
- package/dist/{ConnectedCallDock-GJAGY75U.cjs.map → ConnectedCallDock-FFIDDYGH.cjs.map} +1 -1
- package/dist/{ConnectedCallDock-DEAEFUUD.js → ConnectedCallDock-VMEBH4LG.js} +6 -6
- package/dist/{ConnectedCallDock-DEAEFUUD.js.map → ConnectedCallDock-VMEBH4LG.js.map} +1 -1
- package/dist/{ConnectedCallRoom-DI7UYRHE.js → ConnectedCallRoom-2FNSX2VG.js} +6 -6
- package/dist/{ConnectedCallRoom-DI7UYRHE.js.map → ConnectedCallRoom-2FNSX2VG.js.map} +1 -1
- package/dist/{ConnectedCallRoom-KLE2PCMQ.cjs → ConnectedCallRoom-HYRLJUIV.cjs} +6 -6
- package/dist/{ConnectedCallRoom-KLE2PCMQ.cjs.map → ConnectedCallRoom-HYRLJUIV.cjs.map} +1 -1
- package/dist/{ConnectedDocumentViewer-YSZWOVGN.cjs → ConnectedDocumentViewer-S6YKCCRN.cjs} +9 -9
- package/dist/{ConnectedDocumentViewer-YSZWOVGN.cjs.map → ConnectedDocumentViewer-S6YKCCRN.cjs.map} +1 -1
- package/dist/{ConnectedDocumentViewer-HKIBNGGG.js → ConnectedDocumentViewer-XFQDHVWM.js} +9 -9
- package/dist/{ConnectedDocumentViewer-HKIBNGGG.js.map → ConnectedDocumentViewer-XFQDHVWM.js.map} +1 -1
- package/dist/agents/index.cjs +260 -260
- package/dist/agents/index.js +3 -3
- package/dist/calls/index.cjs +2 -2
- package/dist/calls/index.js +2 -2
- package/dist/chat/index.cjs +57 -57
- package/dist/chat/index.js +4 -4
- package/dist/{chunk-F777MGVA.cjs → chunk-3SHZPTR2.cjs} +18 -18
- package/dist/{chunk-F777MGVA.cjs.map → chunk-3SHZPTR2.cjs.map} +1 -1
- package/dist/{chunk-TVHTXO6V.cjs → chunk-56WWEK6I.cjs} +4 -4
- package/dist/{chunk-TVHTXO6V.cjs.map → chunk-56WWEK6I.cjs.map} +1 -1
- package/dist/{chunk-CGCTODPC.cjs → chunk-6PGTH2HD.cjs} +4 -4
- package/dist/{chunk-CGCTODPC.cjs.map → chunk-6PGTH2HD.cjs.map} +1 -1
- package/dist/{chunk-6QZ35CTZ.js → chunk-AD76WTGR.js} +3 -3
- package/dist/{chunk-6QZ35CTZ.js.map → chunk-AD76WTGR.js.map} +1 -1
- package/dist/{chunk-ROWJU4SK.cjs → chunk-AKGV6JUC.cjs} +12 -128
- package/dist/chunk-AKGV6JUC.cjs.map +1 -0
- package/dist/{chunk-UIUWCTIZ.js → chunk-APXW5XGA.js} +165 -4
- package/dist/chunk-APXW5XGA.js.map +1 -0
- package/dist/{chunk-SEVFIBF3.cjs → chunk-BFIHXDO6.cjs} +4 -4
- package/dist/{chunk-SEVFIBF3.cjs.map → chunk-BFIHXDO6.cjs.map} +1 -1
- package/dist/{chunk-JSHBC47B.cjs → chunk-BP5KBZLX.cjs} +38 -38
- package/dist/{chunk-JSHBC47B.cjs.map → chunk-BP5KBZLX.cjs.map} +1 -1
- package/dist/{chunk-YQEXBJVO.js → chunk-DF5X27QX.js} +42 -5
- package/dist/chunk-DF5X27QX.js.map +1 -0
- package/dist/{chunk-CJF7B5A7.cjs → chunk-DRUNPUDT.cjs} +3 -3
- package/dist/{chunk-CJF7B5A7.cjs.map → chunk-DRUNPUDT.cjs.map} +1 -1
- package/dist/{chunk-6OMIIF76.js → chunk-EM4KOKE6.js} +3 -3
- package/dist/{chunk-6OMIIF76.js.map → chunk-EM4KOKE6.js.map} +1 -1
- package/dist/{chunk-GPYLXEZO.js → chunk-FCOK73I3.js} +6 -120
- package/dist/chunk-FCOK73I3.js.map +1 -0
- package/dist/{chunk-ITRI47DF.cjs → chunk-GMGEAWFX.cjs} +41 -4
- package/dist/chunk-GMGEAWFX.cjs.map +1 -0
- package/dist/{chunk-LNH6NYG4.js → chunk-I3VBVP6R.js} +121 -6
- package/dist/chunk-I3VBVP6R.js.map +1 -0
- package/dist/{chunk-ZZHMJXM5.cjs → chunk-IXZCXK6Q.cjs} +122 -5
- package/dist/chunk-IXZCXK6Q.cjs.map +1 -0
- package/dist/{chunk-C2S246BV.js → chunk-J6FRFIVL.js} +3 -3
- package/dist/{chunk-C2S246BV.js.map → chunk-J6FRFIVL.js.map} +1 -1
- package/dist/{chunk-PLEMVK2W.js → chunk-KQLUMK56.js} +3 -3
- package/dist/{chunk-PLEMVK2W.js.map → chunk-KQLUMK56.js.map} +1 -1
- package/dist/{chunk-PNZVUH46.cjs → chunk-LAQ3Y5JP.cjs} +6 -6
- package/dist/{chunk-PNZVUH46.cjs.map → chunk-LAQ3Y5JP.cjs.map} +1 -1
- package/dist/{chunk-AESJLGMC.cjs → chunk-NDKZ6OR3.cjs} +6 -6
- package/dist/{chunk-AESJLGMC.cjs.map → chunk-NDKZ6OR3.cjs.map} +1 -1
- package/dist/{chunk-43IVRSFX.js → chunk-NVXNTHL4.js} +3 -3
- package/dist/{chunk-43IVRSFX.js.map → chunk-NVXNTHL4.js.map} +1 -1
- package/dist/{chunk-5EGTGHBW.js → chunk-PMWZTVIY.js} +3 -3
- package/dist/{chunk-5EGTGHBW.js.map → chunk-PMWZTVIY.js.map} +1 -1
- package/dist/{chunk-7MOQO6NO.cjs → chunk-RB54N5I7.cjs} +53 -5
- package/dist/chunk-RB54N5I7.cjs.map +1 -0
- package/dist/{chunk-2C4YUIVX.js → chunk-T2VGD4X6.js} +3 -3
- package/dist/{chunk-2C4YUIVX.js.map → chunk-T2VGD4X6.js.map} +1 -1
- package/dist/{chunk-4Q7ON335.js → chunk-TCCJ5I6G.js} +3 -3
- package/dist/{chunk-4Q7ON335.js.map → chunk-TCCJ5I6G.js.map} +1 -1
- package/dist/{chunk-4CI42DCG.js → chunk-U52KPOXT.js} +50 -5
- package/dist/chunk-U52KPOXT.js.map +1 -0
- package/dist/{chunk-SFTQO3TU.js → chunk-UO3FS6ZF.js} +3 -3
- package/dist/{chunk-SFTQO3TU.js.map → chunk-UO3FS6ZF.js.map} +1 -1
- package/dist/{chunk-LFS6UWSJ.cjs → chunk-XWUGPV7H.cjs} +5 -5
- package/dist/{chunk-LFS6UWSJ.cjs.map → chunk-XWUGPV7H.cjs.map} +1 -1
- package/dist/{chunk-OM5IVNEW.cjs → chunk-Z4KXF7WS.cjs} +165 -2
- package/dist/chunk-Z4KXF7WS.cjs.map +1 -0
- package/dist/connect/index.cjs +564 -283
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +3 -0
- package/dist/connect/index.js +292 -19
- package/dist/connect/index.js.map +1 -1
- package/dist/connect/viewer.cjs +7 -7
- package/dist/connect/viewer.js +7 -7
- package/dist/connection/runtime/ConnectedAppRuntime.d.ts +1 -1
- package/dist/connection/runtime/index.d.ts +1 -1
- package/dist/connection/runtime/requests.d.ts +8 -0
- package/dist/connection/runtime/useWelcomeDialog.d.ts +3 -0
- package/dist/connection/tips/ConnectedGettingStarted.d.ts +20 -0
- package/dist/connection/tips/ConnectedTipBar.d.ts +49 -0
- package/dist/connection/tips/useGettingStarted.d.ts +51 -0
- package/dist/embed/index.cjs +1 -1
- package/dist/embed/index.js +1 -1
- package/dist/home/index.cjs +23 -178
- package/dist/home/index.cjs.map +1 -1
- package/dist/home/index.js +3 -164
- package/dist/home/index.js.map +1 -1
- package/dist/index.cjs +457 -485
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +15 -54
- package/dist/index.js.map +1 -1
- package/dist/shell/index.cjs +73 -73
- package/dist/shell/index.js +4 -4
- package/dist/studio/index.cjs +8 -8
- package/dist/studio/index.js +5 -5
- package/dist/tips/index.d.ts +1 -1
- package/dist/tips/visibility.d.ts +7 -0
- package/dist/workflow-canvas/index.cjs +17 -17
- package/dist/workflow-canvas/index.js +4 -4
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/chunk-4CI42DCG.js.map +0 -1
- package/dist/chunk-7MOQO6NO.cjs.map +0 -1
- package/dist/chunk-GPYLXEZO.js.map +0 -1
- package/dist/chunk-ITRI47DF.cjs.map +0 -1
- package/dist/chunk-LNH6NYG4.js.map +0 -1
- package/dist/chunk-OM5IVNEW.cjs.map +0 -1
- package/dist/chunk-ROWJU4SK.cjs.map +0 -1
- package/dist/chunk-UIUWCTIZ.js.map +0 -1
- package/dist/chunk-YQEXBJVO.js.map +0 -1
- package/dist/chunk-ZZHMJXM5.cjs.map +0 -1
package/dist/connect/index.cjs
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
|
|
4
4
|
var chunkEG3BB32W_cjs = require('../chunk-EG3BB32W.cjs');
|
|
5
5
|
var chunkZ7DJS6M3_cjs = require('../chunk-Z7DJS6M3.cjs');
|
|
6
|
-
var
|
|
7
|
-
var chunkJSHBC47B_cjs = require('../chunk-JSHBC47B.cjs');
|
|
8
|
-
var chunkE5625KT2_cjs = require('../chunk-E5625KT2.cjs');
|
|
6
|
+
var chunkBFIHXDO6_cjs = require('../chunk-BFIHXDO6.cjs');
|
|
9
7
|
var chunk2GSZG6KA_cjs = require('../chunk-2GSZG6KA.cjs');
|
|
8
|
+
var chunkBP5KBZLX_cjs = require('../chunk-BP5KBZLX.cjs');
|
|
9
|
+
var chunkE5625KT2_cjs = require('../chunk-E5625KT2.cjs');
|
|
10
10
|
var chunkHYAYXLIZ_cjs = require('../chunk-HYAYXLIZ.cjs');
|
|
11
11
|
var chunkKWJW5TMH_cjs = require('../chunk-KWJW5TMH.cjs');
|
|
12
12
|
var chunkPSIKUQYM_cjs = require('../chunk-PSIKUQYM.cjs');
|
|
@@ -16,7 +16,7 @@ var chunkEGJ7WJ6Q_cjs = require('../chunk-EGJ7WJ6Q.cjs');
|
|
|
16
16
|
var chunkJBL4PPEE_cjs = require('../chunk-JBL4PPEE.cjs');
|
|
17
17
|
var chunkF73EZQT4_cjs = require('../chunk-F73EZQT4.cjs');
|
|
18
18
|
var chunkXFL67STW_cjs = require('../chunk-XFL67STW.cjs');
|
|
19
|
-
var
|
|
19
|
+
var chunkZ4KXF7WS_cjs = require('../chunk-Z4KXF7WS.cjs');
|
|
20
20
|
var chunkOU3RGQFX_cjs = require('../chunk-OU3RGQFX.cjs');
|
|
21
21
|
require('../chunk-REH7PX3N.cjs');
|
|
22
22
|
require('../chunk-H32DV7XS.cjs');
|
|
@@ -38,10 +38,10 @@ require('../chunk-JH6JTI76.cjs');
|
|
|
38
38
|
var chunkIRY63R4L_cjs = require('../chunk-IRY63R4L.cjs');
|
|
39
39
|
require('../chunk-UWIILWDI.cjs');
|
|
40
40
|
require('../chunk-ZESMRGDV.cjs');
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var chunkZ3LFF3YT_cjs = require('../chunk-Z3LFF3YT.cjs');
|
|
41
|
+
var chunkRB54N5I7_cjs = require('../chunk-RB54N5I7.cjs');
|
|
42
|
+
var chunkNDKZ6OR3_cjs = require('../chunk-NDKZ6OR3.cjs');
|
|
44
43
|
var chunkC2ECYOPP_cjs = require('../chunk-C2ECYOPP.cjs');
|
|
44
|
+
var chunkZ3LFF3YT_cjs = require('../chunk-Z3LFF3YT.cjs');
|
|
45
45
|
var chunkTMX7YFVM_cjs = require('../chunk-TMX7YFVM.cjs');
|
|
46
46
|
require('../chunk-QXNEXPUL.cjs');
|
|
47
47
|
var chunkQZTNTP75_cjs = require('../chunk-QZTNTP75.cjs');
|
|
@@ -57,8 +57,8 @@ var chunkJIOHDVWH_cjs = require('../chunk-JIOHDVWH.cjs');
|
|
|
57
57
|
var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
|
|
58
58
|
var chunkMZZ3SBQL_cjs = require('../chunk-MZZ3SBQL.cjs');
|
|
59
59
|
var chunk5Y6V7F6W_cjs = require('../chunk-5Y6V7F6W.cjs');
|
|
60
|
-
var
|
|
61
|
-
var
|
|
60
|
+
var chunkIXZCXK6Q_cjs = require('../chunk-IXZCXK6Q.cjs');
|
|
61
|
+
var chunkXWUGPV7H_cjs = require('../chunk-XWUGPV7H.cjs');
|
|
62
62
|
var chunkAXAHA4LL_cjs = require('../chunk-AXAHA4LL.cjs');
|
|
63
63
|
var chunkY5WE72RB_cjs = require('../chunk-Y5WE72RB.cjs');
|
|
64
64
|
var chunk4623VCCR_cjs = require('../chunk-4623VCCR.cjs');
|
|
@@ -68,10 +68,11 @@ var chunkNSD37OF5_cjs = require('../chunk-NSD37OF5.cjs');
|
|
|
68
68
|
var chunkZU2B2RZK_cjs = require('../chunk-ZU2B2RZK.cjs');
|
|
69
69
|
require('../chunk-72YEEUH7.cjs');
|
|
70
70
|
require('../chunk-D54JXTPG.cjs');
|
|
71
|
-
var
|
|
71
|
+
var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
|
|
72
|
+
var chunkDRUNPUDT_cjs = require('../chunk-DRUNPUDT.cjs');
|
|
72
73
|
var chunkZXW6WFZG_cjs = require('../chunk-ZXW6WFZG.cjs');
|
|
73
|
-
var chunkRFIBUWLF_cjs = require('../chunk-RFIBUWLF.cjs');
|
|
74
74
|
require('../chunk-I4IS6ST6.cjs');
|
|
75
|
+
var chunkRFIBUWLF_cjs = require('../chunk-RFIBUWLF.cjs');
|
|
75
76
|
var chunkK26RLK2Y_cjs = require('../chunk-K26RLK2Y.cjs');
|
|
76
77
|
require('../chunk-3YEXZX4H.cjs');
|
|
77
78
|
var chunkAQPZ4QMV_cjs = require('../chunk-AQPZ4QMV.cjs');
|
|
@@ -83,7 +84,6 @@ require('../chunk-AHDJXIUB.cjs');
|
|
|
83
84
|
var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
|
|
84
85
|
require('../chunk-2UYT7MIX.cjs');
|
|
85
86
|
var chunkLKK52DEY_cjs = require('../chunk-LKK52DEY.cjs');
|
|
86
|
-
var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
|
|
87
87
|
var chunkLM6IGIXR_cjs = require('../chunk-LM6IGIXR.cjs');
|
|
88
88
|
var chunkHXSIR4PI_cjs = require('../chunk-HXSIR4PI.cjs');
|
|
89
89
|
var chunkCG757WKY_cjs = require('../chunk-CG757WKY.cjs');
|
|
@@ -100,15 +100,15 @@ var chunkMOIZ2R5X_cjs = require('../chunk-MOIZ2R5X.cjs');
|
|
|
100
100
|
var chunkEFS3XXZS_cjs = require('../chunk-EFS3XXZS.cjs');
|
|
101
101
|
var chunkWVEFRQSW_cjs = require('../chunk-WVEFRQSW.cjs');
|
|
102
102
|
var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
|
|
103
|
-
var
|
|
104
|
-
require('../chunk-
|
|
103
|
+
var chunk56WWEK6I_cjs = require('../chunk-56WWEK6I.cjs');
|
|
104
|
+
require('../chunk-LAQ3Y5JP.cjs');
|
|
105
105
|
require('../chunk-LT6WRY7A.cjs');
|
|
106
106
|
var chunk2NW66KJF_cjs = require('../chunk-2NW66KJF.cjs');
|
|
107
107
|
var chunkDASZUEP3_cjs = require('../chunk-DASZUEP3.cjs');
|
|
108
108
|
var chunkUVZSX6GP_cjs = require('../chunk-UVZSX6GP.cjs');
|
|
109
109
|
var chunkWWFHS6EI_cjs = require('../chunk-WWFHS6EI.cjs');
|
|
110
110
|
require('../chunk-Z2XZ2D4N.cjs');
|
|
111
|
-
var
|
|
111
|
+
var chunkGMGEAWFX_cjs = require('../chunk-GMGEAWFX.cjs');
|
|
112
112
|
require('../chunk-KQF7POTG.cjs');
|
|
113
113
|
require('../chunk-IN6ILI5A.cjs');
|
|
114
114
|
require('../chunk-BRDCHYIT.cjs');
|
|
@@ -233,7 +233,7 @@ function ConnectedWorkspaceActivity({
|
|
|
233
233
|
[feed.data]
|
|
234
234
|
);
|
|
235
235
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
236
|
-
|
|
236
|
+
chunkRB54N5I7_cjs.WorkspaceActivityList,
|
|
237
237
|
{
|
|
238
238
|
...listProps,
|
|
239
239
|
items,
|
|
@@ -1370,7 +1370,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1370
1370
|
onChange: (e) => {
|
|
1371
1371
|
const file = e.target.files?.[0];
|
|
1372
1372
|
e.target.value = "";
|
|
1373
|
-
if (file) void add(() =>
|
|
1373
|
+
if (file) void add(() => chunkDRUNPUDT_cjs.importSkillFile(file));
|
|
1374
1374
|
}
|
|
1375
1375
|
}
|
|
1376
1376
|
),
|
|
@@ -1395,7 +1395,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1395
1395
|
className: "space-y-2",
|
|
1396
1396
|
onSubmit: (e) => {
|
|
1397
1397
|
e.preventDefault();
|
|
1398
|
-
if (url.trim()) void add(() =>
|
|
1398
|
+
if (url.trim()) void add(() => chunkDRUNPUDT_cjs.importSkillFromUrl(url));
|
|
1399
1399
|
},
|
|
1400
1400
|
children: [
|
|
1401
1401
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
|
|
@@ -1458,9 +1458,9 @@ function ConnectedSkillsLibrary({
|
|
|
1458
1458
|
const [type, setType] = react$1.useState("all");
|
|
1459
1459
|
const [view, setView] = react$1.useState("gallery");
|
|
1460
1460
|
const [isBusy, setIsBusy] = react$1.useState(false);
|
|
1461
|
-
const all = react$1.useMemo(() =>
|
|
1461
|
+
const all = react$1.useMemo(() => chunkDRUNPUDT_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
|
|
1462
1462
|
const shown = react$1.useMemo(
|
|
1463
|
-
() =>
|
|
1463
|
+
() => chunkDRUNPUDT_cjs.filterLibrarySkills(all, { query, source, type }),
|
|
1464
1464
|
[all, query, source, type]
|
|
1465
1465
|
);
|
|
1466
1466
|
const current = all.find((s) => s.slug === selected) ?? null;
|
|
@@ -1471,21 +1471,21 @@ function ConnectedSkillsLibrary({
|
|
|
1471
1471
|
const count2 = (s) => all.filter((x) => x.source === s).length;
|
|
1472
1472
|
const sourceOptions = [
|
|
1473
1473
|
{ id: "all", label: "All", count: all.length },
|
|
1474
|
-
{ id: "builtin", label:
|
|
1475
|
-
{ id: "mine", label:
|
|
1476
|
-
{ id: "shared", label:
|
|
1474
|
+
{ id: "builtin", label: chunkDRUNPUDT_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
|
|
1475
|
+
{ id: "mine", label: chunkDRUNPUDT_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
|
|
1476
|
+
{ id: "shared", label: chunkDRUNPUDT_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
|
|
1477
1477
|
];
|
|
1478
1478
|
const types = [...new Set(all.map((s) => s.type))];
|
|
1479
1479
|
const typeOptions = [
|
|
1480
1480
|
{ id: "all", label: "Any kind" },
|
|
1481
|
-
...types.map((t) => ({ id: t, label:
|
|
1481
|
+
...types.map((t) => ({ id: t, label: chunkDRUNPUDT_cjs.SKILL_TYPE_LABELS[t] ?? t }))
|
|
1482
1482
|
];
|
|
1483
1483
|
const pick = (slug) => {
|
|
1484
1484
|
setSelected(slug);
|
|
1485
1485
|
setMode("detail");
|
|
1486
1486
|
};
|
|
1487
1487
|
const markdownOf = async (skill) => {
|
|
1488
|
-
if (!skill.docExtId) return
|
|
1488
|
+
if (!skill.docExtId) return chunkDRUNPUDT_cjs.workflowToSkillMarkdown(skill.workflow);
|
|
1489
1489
|
const response = await arbi.documents.download(skill.docExtId);
|
|
1490
1490
|
if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
|
|
1491
1491
|
return response.text();
|
|
@@ -1549,7 +1549,7 @@ function ConnectedSkillsLibrary({
|
|
|
1549
1549
|
try {
|
|
1550
1550
|
documentTools.downloadBlob(
|
|
1551
1551
|
new Blob([await markdownOf(skill)], { type: "text/markdown" }),
|
|
1552
|
-
|
|
1552
|
+
chunkDRUNPUDT_cjs.SKILL_MAIN_FILENAME
|
|
1553
1553
|
);
|
|
1554
1554
|
} catch (error) {
|
|
1555
1555
|
notify16(errorText(error, "Could not export the skill"), "error");
|
|
@@ -1590,10 +1590,10 @@ function ConnectedSkillsLibrary({
|
|
|
1590
1590
|
}
|
|
1591
1591
|
)
|
|
1592
1592
|
] }),
|
|
1593
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1593
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.SkillViewToggle, { value: view, onChange: setView })
|
|
1594
1594
|
] }),
|
|
1595
1595
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1596
|
-
|
|
1596
|
+
chunkDRUNPUDT_cjs.SkillFilterChips,
|
|
1597
1597
|
{
|
|
1598
1598
|
label: "Show",
|
|
1599
1599
|
value: source,
|
|
@@ -1602,7 +1602,7 @@ function ConnectedSkillsLibrary({
|
|
|
1602
1602
|
}
|
|
1603
1603
|
),
|
|
1604
1604
|
types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1605
|
-
|
|
1605
|
+
chunkDRUNPUDT_cjs.SkillFilterChips,
|
|
1606
1606
|
{
|
|
1607
1607
|
label: "Kind",
|
|
1608
1608
|
value: type,
|
|
@@ -1649,12 +1649,12 @@ function ConnectedSkillsLibrary({
|
|
|
1649
1649
|
view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
|
|
1650
1650
|
),
|
|
1651
1651
|
children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1652
|
-
|
|
1652
|
+
chunkDRUNPUDT_cjs.SkillTile,
|
|
1653
1653
|
{
|
|
1654
1654
|
name: skill.title,
|
|
1655
1655
|
testId: `skill-tile-${skill.slug}`,
|
|
1656
1656
|
description: skill.description,
|
|
1657
|
-
sourceLabel: skill.isShared ? `${
|
|
1657
|
+
sourceLabel: skill.isShared ? `${chunkDRUNPUDT_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkDRUNPUDT_cjs.SKILL_SOURCE_LABELS[skill.source],
|
|
1658
1658
|
type: skill.type,
|
|
1659
1659
|
icon,
|
|
1660
1660
|
layout: view,
|
|
@@ -1689,7 +1689,7 @@ function ConnectedSkillsLibrary({
|
|
|
1689
1689
|
}
|
|
1690
1690
|
),
|
|
1691
1691
|
mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1692
|
-
|
|
1692
|
+
chunkDRUNPUDT_cjs.SkillGenerateForm,
|
|
1693
1693
|
{
|
|
1694
1694
|
icon,
|
|
1695
1695
|
onGenerate: (desc) => {
|
|
@@ -1716,11 +1716,11 @@ function ConnectedSkillsLibrary({
|
|
|
1716
1716
|
),
|
|
1717
1717
|
mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
|
|
1718
1718
|
mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1719
|
-
|
|
1719
|
+
chunkDRUNPUDT_cjs.SkillLibraryDetail,
|
|
1720
1720
|
{
|
|
1721
1721
|
skill: current,
|
|
1722
1722
|
icon,
|
|
1723
|
-
instructions: current.docExtId ? currentText ?
|
|
1723
|
+
instructions: current.docExtId ? currentText ? chunkDRUNPUDT_cjs.parseSkillFrontmatter(currentText, chunkDRUNPUDT_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
|
|
1724
1724
|
isLoading: !!current.docExtId && textLoading,
|
|
1725
1725
|
actions: {
|
|
1726
1726
|
onRun: () => onRun(current.slug),
|
|
@@ -1755,7 +1755,7 @@ function SkillEditor({
|
|
|
1755
1755
|
const [seeded, setSeeded] = react$1.useState(!isEditing);
|
|
1756
1756
|
const [nameError, setNameError] = react$1.useState(null);
|
|
1757
1757
|
if (isEditing && !seeded && text2 !== void 0) {
|
|
1758
|
-
const parsed =
|
|
1758
|
+
const parsed = chunkDRUNPUDT_cjs.parseSkillFrontmatter(text2, chunkDRUNPUDT_cjs.SKILL_MAIN_FILENAME);
|
|
1759
1759
|
setDescription(parsed.description ?? "");
|
|
1760
1760
|
setBody(parsed.content ?? "");
|
|
1761
1761
|
setSeeded(true);
|
|
@@ -1769,15 +1769,15 @@ function SkillEditor({
|
|
|
1769
1769
|
notify16("Add a short description.", "error");
|
|
1770
1770
|
return;
|
|
1771
1771
|
}
|
|
1772
|
-
const slug =
|
|
1772
|
+
const slug = chunkDRUNPUDT_cjs.skillSlug(name);
|
|
1773
1773
|
try {
|
|
1774
|
-
await onSave(slug,
|
|
1774
|
+
await onSave(slug, chunkDRUNPUDT_cjs.serializeSkill({ name: slug, description, body }), isEditing);
|
|
1775
1775
|
} catch (err) {
|
|
1776
1776
|
notify16(errorText(err, "Could not save the skill"), "error");
|
|
1777
1777
|
}
|
|
1778
1778
|
};
|
|
1779
1779
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1780
|
-
|
|
1780
|
+
chunkDRUNPUDT_cjs.SkillEditForm,
|
|
1781
1781
|
{
|
|
1782
1782
|
name,
|
|
1783
1783
|
onNameChange: setName,
|
|
@@ -1816,7 +1816,7 @@ var DEFAULT_CONNECTED_SKILLS_BROWSER_LABELS = {
|
|
|
1816
1816
|
function ConnectedSkillsBrowser({
|
|
1817
1817
|
props,
|
|
1818
1818
|
onClose: close,
|
|
1819
|
-
builtins =
|
|
1819
|
+
builtins = chunkDRUNPUDT_cjs.BUILTIN_SKILLS,
|
|
1820
1820
|
renderEditor,
|
|
1821
1821
|
labels
|
|
1822
1822
|
}) {
|
|
@@ -1869,7 +1869,7 @@ function ConnectedSkillsBrowser({
|
|
|
1869
1869
|
}
|
|
1870
1870
|
) }),
|
|
1871
1871
|
runSkillId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1872
|
-
|
|
1872
|
+
chunkBP5KBZLX_cjs.ConnectedTaskComposer,
|
|
1873
1873
|
{
|
|
1874
1874
|
kind: "workflow",
|
|
1875
1875
|
open: true,
|
|
@@ -1893,9 +1893,9 @@ function ConnectedAgentCreator({
|
|
|
1893
1893
|
agent,
|
|
1894
1894
|
initialName,
|
|
1895
1895
|
onSaved,
|
|
1896
|
-
capabilities =
|
|
1897
|
-
templates =
|
|
1898
|
-
types =
|
|
1896
|
+
capabilities = chunkDRUNPUDT_cjs.DEFAULT_AGENT_CAPABILITIES,
|
|
1897
|
+
templates = chunkDRUNPUDT_cjs.DEFAULT_AGENT_TEMPLATES,
|
|
1898
|
+
types = chunkDRUNPUDT_cjs.DEFAULT_AGENT_TYPES,
|
|
1899
1899
|
canRevokeWorkspaces = false,
|
|
1900
1900
|
labels
|
|
1901
1901
|
}) {
|
|
@@ -1937,7 +1937,7 @@ function ConnectedAgentCreator({
|
|
|
1937
1937
|
const initialValues = react$1.useMemo(
|
|
1938
1938
|
() => ({
|
|
1939
1939
|
name: agent?.given_name ?? initialName ?? "",
|
|
1940
|
-
persona: isEdit ?
|
|
1940
|
+
persona: isEdit ? chunkDRUNPUDT_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
|
|
1941
1941
|
modelName: String(agents.AGENT_MODEL_NAME ?? ""),
|
|
1942
1942
|
capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
|
|
1943
1943
|
type: "builtin",
|
|
@@ -1956,7 +1956,7 @@ function ConnectedAgentCreator({
|
|
|
1956
1956
|
try {
|
|
1957
1957
|
let agentExtId = agent?.external_id ?? early?.id ?? "";
|
|
1958
1958
|
if (!agentExtId) {
|
|
1959
|
-
if (!
|
|
1959
|
+
if (!chunkDRUNPUDT_cjs.isValidAgentName(values.name)) {
|
|
1960
1960
|
notify16("Give the agent a name first.", "error");
|
|
1961
1961
|
return;
|
|
1962
1962
|
}
|
|
@@ -1992,7 +1992,7 @@ function ConnectedAgentCreator({
|
|
|
1992
1992
|
title: `agent-${name}`,
|
|
1993
1993
|
sections: {
|
|
1994
1994
|
Agents: {
|
|
1995
|
-
PERSONA:
|
|
1995
|
+
PERSONA: chunkDRUNPUDT_cjs.composePersona(name, values.persona),
|
|
1996
1996
|
...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
|
|
1997
1997
|
...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
|
|
1998
1998
|
ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
|
|
@@ -2015,7 +2015,7 @@ function ConnectedAgentCreator({
|
|
|
2015
2015
|
};
|
|
2016
2016
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2017
2017
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2018
|
-
|
|
2018
|
+
chunkDRUNPUDT_cjs.AgentCreator,
|
|
2019
2019
|
{
|
|
2020
2020
|
open: ready,
|
|
2021
2021
|
onOpenChange,
|
|
@@ -2031,11 +2031,11 @@ function ConnectedAgentCreator({
|
|
|
2031
2031
|
) : void 0,
|
|
2032
2032
|
revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
|
|
2033
2033
|
avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2034
|
-
|
|
2034
|
+
chunkDRUNPUDT_cjs.AgentAvatarField,
|
|
2035
2035
|
{
|
|
2036
2036
|
picture,
|
|
2037
2037
|
isBusy: avatarBusy,
|
|
2038
|
-
canGenerate: isEdit ||
|
|
2038
|
+
canGenerate: isEdit || chunkDRUNPUDT_cjs.isValidAgentName(values.name),
|
|
2039
2039
|
onGenerate: () => handleGenerateAvatar(values)
|
|
2040
2040
|
}
|
|
2041
2041
|
),
|
|
@@ -2087,7 +2087,7 @@ function ConnectedAgentCreator({
|
|
|
2087
2087
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
|
|
2088
2088
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
|
|
2089
2089
|
] }),
|
|
2090
|
-
connect && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2090
|
+
connect && /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
|
|
2091
2091
|
]
|
|
2092
2092
|
}
|
|
2093
2093
|
) })
|
|
@@ -2536,7 +2536,7 @@ function useMemoryCount(enabled) {
|
|
|
2536
2536
|
}
|
|
2537
2537
|
function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
|
|
2538
2538
|
const { notify: notify16, openConversation, openDocument } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
|
|
2539
|
-
const people =
|
|
2539
|
+
const people = chunkBP5KBZLX_cjs.useTaskPeople();
|
|
2540
2540
|
const canEditShared = react.useCanEditShared();
|
|
2541
2541
|
const isWorkspaceOwner = react.useIsWorkspaceOwner();
|
|
2542
2542
|
const { data: workflows = [] } = react.useWorkflows({ live: true });
|
|
@@ -2562,7 +2562,7 @@ function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
|
|
|
2562
2562
|
}, [documents]);
|
|
2563
2563
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2564
2564
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2565
|
-
|
|
2565
|
+
chunkDRUNPUDT_cjs.TaskTable,
|
|
2566
2566
|
{
|
|
2567
2567
|
tasks,
|
|
2568
2568
|
isLoading,
|
|
@@ -2589,7 +2589,7 @@ function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
|
|
|
2589
2589
|
}
|
|
2590
2590
|
),
|
|
2591
2591
|
activityFor && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2592
|
-
|
|
2592
|
+
chunkBP5KBZLX_cjs.ConnectedTaskActivityDialog,
|
|
2593
2593
|
{
|
|
2594
2594
|
conversationId: activityFor.external_id,
|
|
2595
2595
|
taskName: activityFor.title || l.untitledTask,
|
|
@@ -2611,7 +2611,7 @@ function AgentsLauncher({
|
|
|
2611
2611
|
const { notify: notify16, openConversation } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
|
|
2612
2612
|
const { workspaceId, ensureWorkspaceOpen } = chunkKGAYUFXD_cjs.useConnectedWorkspace();
|
|
2613
2613
|
const { data: skills = [] } = react.useSkills({ enabled: includeSkills && !!workspaceId, live: true });
|
|
2614
|
-
const workflowTasks =
|
|
2614
|
+
const workflowTasks = chunkBP5KBZLX_cjs.useWorkflowTasks();
|
|
2615
2615
|
const launchable = react$1.useMemo(
|
|
2616
2616
|
() => [
|
|
2617
2617
|
...workflows,
|
|
@@ -2634,7 +2634,7 @@ function AgentsLauncher({
|
|
|
2634
2634
|
[workflows, includeSkills, skills, l.skillFiles]
|
|
2635
2635
|
);
|
|
2636
2636
|
const launch = async ({ workflow, inputs, agentId }) => {
|
|
2637
|
-
const values =
|
|
2637
|
+
const values = chunkDRUNPUDT_cjs.defaultTaskComposerValues(launchable, {
|
|
2638
2638
|
workflowId: workflow.id,
|
|
2639
2639
|
assignee: "agent",
|
|
2640
2640
|
inputs,
|
|
@@ -2758,7 +2758,7 @@ function ConnectedAgentsPage({
|
|
|
2758
2758
|
labels: agentOptions.managementLabels
|
|
2759
2759
|
});
|
|
2760
2760
|
const { agents, isLoading: agentsLoading } = management;
|
|
2761
|
-
const tasksByAgent = react$1.useMemo(() =>
|
|
2761
|
+
const tasksByAgent = react$1.useMemo(() => chunkDRUNPUDT_cjs.groupAgentTasks(tasks), [tasks]);
|
|
2762
2762
|
const behaviour = useAgentBehaviour(
|
|
2763
2763
|
l.defaultBehaviour,
|
|
2764
2764
|
details.includes("behaviour") || sections.includes("stats")
|
|
@@ -2783,7 +2783,7 @@ function ConnectedAgentsPage({
|
|
|
2783
2783
|
renderDetails?.(agent)
|
|
2784
2784
|
] });
|
|
2785
2785
|
const gallery = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2786
|
-
|
|
2786
|
+
chunkDRUNPUDT_cjs.AgentGallery,
|
|
2787
2787
|
{
|
|
2788
2788
|
count: agents.length,
|
|
2789
2789
|
onCreate: management.create,
|
|
@@ -2793,10 +2793,10 @@ function ConnectedAgentsPage({
|
|
|
2793
2793
|
const agentTasks = tasksByAgent.get(agent.external_id) ?? [];
|
|
2794
2794
|
const running = agentTasks.filter((t) => t.in_progress);
|
|
2795
2795
|
const watchConversationId = running[0]?.external_id ?? null;
|
|
2796
|
-
const progress = agentTasks[0] ?
|
|
2796
|
+
const progress = agentTasks[0] ? chunkDRUNPUDT_cjs.goalProgress(agentTasks[0]) : null;
|
|
2797
2797
|
const name = displayName(agent);
|
|
2798
2798
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2799
|
-
|
|
2799
|
+
chunkDRUNPUDT_cjs.AgentCard,
|
|
2800
2800
|
{
|
|
2801
2801
|
name,
|
|
2802
2802
|
avatar: avatar === "icon" ? /* @__PURE__ */ jsxRuntime.jsx(AgentIconAvatar, {}) : /* @__PURE__ */ jsxRuntime.jsx(AgentInitialsAvatar, { agent }),
|
|
@@ -2923,7 +2923,7 @@ function ConnectedAgentsPage({
|
|
|
2923
2923
|
const dialogs = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2924
2924
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentCreator, { ...management.editorProps, ...agentOptions.creator }),
|
|
2925
2925
|
taskDialog && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2926
|
-
|
|
2926
|
+
chunkBP5KBZLX_cjs.ConnectedTaskComposer,
|
|
2927
2927
|
{
|
|
2928
2928
|
open: true,
|
|
2929
2929
|
onOpenChange: (open) => !open && setTaskDialog(null),
|
|
@@ -3223,7 +3223,7 @@ function ConnectedTagTable({
|
|
|
3223
3223
|
const fail2 = (fallback) => (e) => notify16(browser.refusalReason(e, fallback), "error");
|
|
3224
3224
|
const snapshot2 = (data) => {
|
|
3225
3225
|
const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
|
|
3226
|
-
const bytes =
|
|
3226
|
+
const bytes = chunkRB54N5I7_cjs.tagTableDocx(data, {
|
|
3227
3227
|
title,
|
|
3228
3228
|
nameOf: (id) => people.find((p) => p.value === id)?.label
|
|
3229
3229
|
});
|
|
@@ -3232,7 +3232,7 @@ function ConnectedTagTable({
|
|
|
3232
3232
|
return { blob: new Blob([bytes], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }), name };
|
|
3233
3233
|
};
|
|
3234
3234
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3235
|
-
|
|
3235
|
+
chunkRB54N5I7_cjs.TagTable,
|
|
3236
3236
|
{
|
|
3237
3237
|
...props,
|
|
3238
3238
|
table,
|
|
@@ -3370,9 +3370,9 @@ function GlossaryExport({ labelId, nameOf }) {
|
|
|
3370
3370
|
const narrowed = agreements.find((a) => a.id === narrowTo);
|
|
3371
3371
|
const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
|
|
3372
3372
|
const download = (format) => {
|
|
3373
|
-
const entries =
|
|
3374
|
-
const blob = format === "docx" ? new Blob([
|
|
3375
|
-
documentTools.downloadBlob(blob,
|
|
3373
|
+
const entries = chunkRB54N5I7_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
|
|
3374
|
+
const blob = format === "docx" ? new Blob([chunkRB54N5I7_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunkRB54N5I7_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
|
|
3375
|
+
documentTools.downloadBlob(blob, chunkRB54N5I7_cjs.glossaryFileName(title, format));
|
|
3376
3376
|
};
|
|
3377
3377
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
|
|
3378
3378
|
agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3917,7 +3917,7 @@ function KindSection({
|
|
|
3917
3917
|
{
|
|
3918
3918
|
testId: `tags-kind-${kind}`,
|
|
3919
3919
|
title: ui.tagKindTitle(kind, { plural: true }),
|
|
3920
|
-
description:
|
|
3920
|
+
description: chunkRB54N5I7_cjs.tagKindDescription(kind),
|
|
3921
3921
|
actions: picker,
|
|
3922
3922
|
children: [
|
|
3923
3923
|
browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3928,9 +3928,9 @@ function KindSection({
|
|
|
3928
3928
|
children: [
|
|
3929
3929
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
|
|
3930
3930
|
"Extracting ",
|
|
3931
|
-
|
|
3931
|
+
chunkRB54N5I7_cjs.entitiesPhrase().toLowerCase(),
|
|
3932
3932
|
" from ",
|
|
3933
|
-
|
|
3933
|
+
chunkRB54N5I7_cjs.documentCount(extractingCount),
|
|
3934
3934
|
"\u2026"
|
|
3935
3935
|
]
|
|
3936
3936
|
}
|
|
@@ -3948,7 +3948,7 @@ function KindSection({
|
|
|
3948
3948
|
onOpenDocument: (id) => openDocument(id),
|
|
3949
3949
|
onOpenFact: ctx.onOpenFact,
|
|
3950
3950
|
onOpenThread: (id) => openConversation(id),
|
|
3951
|
-
labels:
|
|
3951
|
+
labels: chunkRB54N5I7_cjs.tagTableLabels(kind),
|
|
3952
3952
|
testId: `tags-table-${kind}`
|
|
3953
3953
|
}
|
|
3954
3954
|
)
|
|
@@ -4050,12 +4050,12 @@ function TagSection({
|
|
|
4050
4050
|
onOpenDocument: (id) => openDocument(id),
|
|
4051
4051
|
onOpenFact: ctx.onOpenFact,
|
|
4052
4052
|
onOpenThread: (id) => openConversation(id),
|
|
4053
|
-
labels:
|
|
4053
|
+
labels: chunkRB54N5I7_cjs.tagTableLabels(tag.kind),
|
|
4054
4054
|
testId: "tags-rows"
|
|
4055
4055
|
}
|
|
4056
4056
|
),
|
|
4057
4057
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4058
|
-
|
|
4058
|
+
chunkRB54N5I7_cjs.TagDetail,
|
|
4059
4059
|
{
|
|
4060
4060
|
row: detailRow && narrowTagRow(detailRow, ctx.filter.matches),
|
|
4061
4061
|
fields: schema.data?.fields ?? [],
|
|
@@ -4067,10 +4067,10 @@ function TagSection({
|
|
|
4067
4067
|
onOpenDocument: (id) => openDocument(id),
|
|
4068
4068
|
onOpenFact: ctx.onOpenFact,
|
|
4069
4069
|
onOpenThread: (id) => openConversation(id),
|
|
4070
|
-
noteLabel:
|
|
4070
|
+
noteLabel: chunkRB54N5I7_cjs.tagNoteLabel(tag.kind),
|
|
4071
4071
|
noteIsValue: tag.kind === "annotation",
|
|
4072
4072
|
renderPassages: (d, label) => renderPassages(d.doc_ext_id, label),
|
|
4073
|
-
labels:
|
|
4073
|
+
labels: chunkRB54N5I7_cjs.tagDetailLabels(),
|
|
4074
4074
|
testId: "tags-detail"
|
|
4075
4075
|
}
|
|
4076
4076
|
)
|
|
@@ -4158,7 +4158,7 @@ function ConnectedTagsPage({
|
|
|
4158
4158
|
const onDelete = async (t) => {
|
|
4159
4159
|
const nested = browser.getChildTags([...tags], t.external_id);
|
|
4160
4160
|
const uses = browser.tagUseCount(t);
|
|
4161
|
-
const n2 =
|
|
4161
|
+
const n2 = chunkRB54N5I7_cjs.tagsPageNouns();
|
|
4162
4162
|
const tagNoun = (count2) => (count2 === 1 ? n2.tag : n2.tags).toLowerCase();
|
|
4163
4163
|
const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
|
|
4164
4164
|
const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
|
|
@@ -4179,16 +4179,16 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4179
4179
|
try {
|
|
4180
4180
|
await extract.mutateAsync(docIds);
|
|
4181
4181
|
notify16(
|
|
4182
|
-
`Extracting ${
|
|
4182
|
+
`Extracting ${chunkRB54N5I7_cjs.entitiesPhrase().toLowerCase()} from ${chunkRB54N5I7_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
|
|
4183
4183
|
"info"
|
|
4184
4184
|
);
|
|
4185
4185
|
} catch (error) {
|
|
4186
|
-
notify16(browser.refusalReason(error, `Could not extract ${
|
|
4186
|
+
notify16(browser.refusalReason(error, `Could not extract ${chunkRB54N5I7_cjs.entitiesPhrase().toLowerCase()}`), "error");
|
|
4187
4187
|
throw error;
|
|
4188
4188
|
}
|
|
4189
4189
|
};
|
|
4190
4190
|
const picker = /* @__PURE__ */ jsxRuntime.jsx(
|
|
4191
|
-
|
|
4191
|
+
chunkRB54N5I7_cjs.TagPicker,
|
|
4192
4192
|
{
|
|
4193
4193
|
tags: viewTags,
|
|
4194
4194
|
selectedId: tag?.external_id,
|
|
@@ -4202,10 +4202,10 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4202
4202
|
onOpenTag: openTag,
|
|
4203
4203
|
onOpenFact
|
|
4204
4204
|
};
|
|
4205
|
-
const n =
|
|
4205
|
+
const n = chunkRB54N5I7_cjs.tagsPageNouns();
|
|
4206
4206
|
const action = view === "person" || view === "organisation" ? {
|
|
4207
4207
|
label: "Extract",
|
|
4208
|
-
title: `Extract ${
|
|
4208
|
+
title: `Extract ${chunkRB54N5I7_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
|
|
4209
4209
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
|
|
4210
4210
|
run: () => setExtracting(true),
|
|
4211
4211
|
testId: "tags-extract-entities"
|
|
@@ -4355,7 +4355,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4355
4355
|
}
|
|
4356
4356
|
),
|
|
4357
4357
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4358
|
-
|
|
4358
|
+
chunkRB54N5I7_cjs.ExtractEntitiesDialog,
|
|
4359
4359
|
{
|
|
4360
4360
|
open: extracting,
|
|
4361
4361
|
onOpenChange: setExtracting,
|
|
@@ -6358,7 +6358,7 @@ function ConnectedFactsPage({
|
|
|
6358
6358
|
onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
|
|
6359
6359
|
navSlotRef: setNavSlot,
|
|
6360
6360
|
navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6361
|
-
|
|
6361
|
+
chunkRB54N5I7_cjs.GridRowNavigator,
|
|
6362
6362
|
{
|
|
6363
6363
|
gridApi,
|
|
6364
6364
|
selectedId: editingId,
|
|
@@ -8828,7 +8828,7 @@ function AppearanceSection({
|
|
|
8828
8828
|
description,
|
|
8829
8829
|
testId: appearance ? "settings-appearance-theme" : "settings-appearance",
|
|
8830
8830
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8831
|
-
|
|
8831
|
+
chunkNDKZ6OR3_cjs.ThemeEditor,
|
|
8832
8832
|
{
|
|
8833
8833
|
bundle: theme,
|
|
8834
8834
|
variant: "collapsed",
|
|
@@ -10097,13 +10097,13 @@ function ConnectedWorkspaceSettings({
|
|
|
10097
10097
|
const [membersExpanded, setMembersExpanded] = react$1.useState(false);
|
|
10098
10098
|
const [shareOpen, setShareOpen] = react$1.useState(false);
|
|
10099
10099
|
if (!workspace) {
|
|
10100
|
-
return /* @__PURE__ */ jsxRuntime.jsx(chunk2GSZG6KA_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10100
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunk2GSZG6KA_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkRB54N5I7_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
|
|
10101
10101
|
}
|
|
10102
10102
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
10103
10103
|
/* @__PURE__ */ jsxRuntime.jsxs(chunk2GSZG6KA_cjs.WorkspacePageFrame, { testId, children: [
|
|
10104
10104
|
/* @__PURE__ */ jsxRuntime.jsxs(chunk2GSZG6KA_cjs.WorkspaceIdentityPanel, { children: [
|
|
10105
10105
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10106
|
-
|
|
10106
|
+
chunkRB54N5I7_cjs.EntityIdentityBar,
|
|
10107
10107
|
{
|
|
10108
10108
|
testId: "workspace-identity-bar",
|
|
10109
10109
|
canEdit: isOwner,
|
|
@@ -10120,7 +10120,7 @@ function ConnectedWorkspaceSettings({
|
|
|
10120
10120
|
label: "Name",
|
|
10121
10121
|
value: workspace.name,
|
|
10122
10122
|
placeholder: "Untitled",
|
|
10123
|
-
maxLength:
|
|
10123
|
+
maxLength: chunkRB54N5I7_cjs.IDENTITY_NAME_MAX_LENGTH,
|
|
10124
10124
|
valueClassName: "truncate text-base font-semibold",
|
|
10125
10125
|
testId: "workspace-home-title",
|
|
10126
10126
|
hideLabel: true,
|
|
@@ -12582,36 +12582,36 @@ function ConnectedSharePointAdminConsentPage({
|
|
|
12582
12582
|
const result = givenResult === void 0 ? queryResult : givenResult;
|
|
12583
12583
|
const { apiBaseUrl } = chunkT6GRWWRY_cjs.useBlocksEnvironment().runtimeConfig;
|
|
12584
12584
|
const consentUrl = `${apiBaseUrl}/v1/connectors/microsoft_sharepoint/admin-consent`;
|
|
12585
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12585
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkDRUNPUDT_cjs.ConsentCard, { size: "md", children: [
|
|
12586
12586
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12587
|
-
|
|
12587
|
+
chunkDRUNPUDT_cjs.ConsentHeader,
|
|
12588
12588
|
{
|
|
12589
12589
|
icon: /* @__PURE__ */ jsxRuntime.jsx(chunkVGNCU5JJ_cjs.VendorLogo, { vendorKey: "microsoft_sharepoint", product: "sharepoint" }),
|
|
12590
12590
|
title: "Approve ARBI for SharePoint access",
|
|
12591
12591
|
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."
|
|
12592
12592
|
}
|
|
12593
12593
|
),
|
|
12594
|
-
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12595
|
-
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12596
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12594
|
+
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_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." }),
|
|
12595
|
+
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_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." }),
|
|
12596
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkDRUNPUDT_cjs.ConsentSection, { title: "What you are approving", children: [
|
|
12597
12597
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12598
|
-
|
|
12598
|
+
chunkDRUNPUDT_cjs.ConsentBulletList,
|
|
12599
12599
|
{
|
|
12600
12600
|
items: [
|
|
12601
12601
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12602
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12602
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
|
|
12603
12603
|
" \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."
|
|
12604
12604
|
] }),
|
|
12605
12605
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12606
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12606
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
|
|
12607
12607
|
" \u2014 standard sign-in (openid, profile, email) and offline access so syncs keep working between sessions."
|
|
12608
12608
|
] })
|
|
12609
12609
|
]
|
|
12610
12610
|
}
|
|
12611
12611
|
),
|
|
12612
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12612
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_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." }),
|
|
12613
12613
|
/* @__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" }) }),
|
|
12614
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12614
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_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." })
|
|
12615
12615
|
] })
|
|
12616
12616
|
] }) });
|
|
12617
12617
|
}
|
|
@@ -12825,6 +12825,13 @@ var PENDING_WORKSPACE_SHARE_VIEW = "runtime.pendingWorkspaceShare";
|
|
|
12825
12825
|
var FIRST_LOGIN_WORKSPACES_VIEW = "runtime.firstLoginWorkspaces";
|
|
12826
12826
|
var PAGE_TRANSITION_VIEW = "runtime.pageTransition";
|
|
12827
12827
|
var SEEN_ADDON_BLOCKS_VIEW = "billing.seenAddonBlocks";
|
|
12828
|
+
var WELCOME_DIALOG_SESSION_KEY = "arbi-welcome-modal-shown";
|
|
12829
|
+
function skipWelcomeDialogThisSession() {
|
|
12830
|
+
try {
|
|
12831
|
+
sessionStorage.setItem(WELCOME_DIALOG_SESSION_KEY, "1");
|
|
12832
|
+
} catch {
|
|
12833
|
+
}
|
|
12834
|
+
}
|
|
12828
12835
|
function withAddonBlocksBought(seen, projectExtId, blocks) {
|
|
12829
12836
|
const before = seen[projectExtId];
|
|
12830
12837
|
return {
|
|
@@ -14947,7 +14954,7 @@ function WorkspaceCardsView({
|
|
|
14947
14954
|
const { groups, projects, selfId } = list;
|
|
14948
14955
|
if (groups.length === 0) {
|
|
14949
14956
|
return /* @__PURE__ */ jsxRuntime.jsx(chunk2GSZG6KA_cjs.WorkspaceList, { testId: "workspace-cards-list", className: "gap-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14950
|
-
|
|
14957
|
+
chunkZ4KXF7WS_cjs.CreateTile,
|
|
14951
14958
|
{
|
|
14952
14959
|
label: `New ${workspaceLabel.toLowerCase()}`,
|
|
14953
14960
|
ariaLabel: `Create ${workspaceLabel}`,
|
|
@@ -14992,7 +14999,7 @@ function WorkspaceCardsView({
|
|
|
14992
14999
|
onToggle: () => list.toggleGroup(group.key),
|
|
14993
15000
|
children: [
|
|
14994
15001
|
group.isOwned && group.projectExtId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14995
|
-
|
|
15002
|
+
chunkZ4KXF7WS_cjs.CreateTile,
|
|
14996
15003
|
{
|
|
14997
15004
|
label: `New ${workspaceLabel.toLowerCase()}`,
|
|
14998
15005
|
ariaLabel: `Create ${workspaceLabel}`,
|
|
@@ -15242,10 +15249,10 @@ function ConnectedWorkspaceList({
|
|
|
15242
15249
|
else void openWorkspace(workspace.external_id, { name: workspace.name });
|
|
15243
15250
|
};
|
|
15244
15251
|
const createDisabledReason = list.canCreateProjects === false ? react.PROJECT_CREATION_DENIED_REASON : void 0;
|
|
15245
|
-
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15252
|
+
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkRB54N5I7_cjs.LoadingIndicator, { message: "Loading workspaces..." });
|
|
15246
15253
|
if (list.error) {
|
|
15247
15254
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15248
|
-
|
|
15255
|
+
chunkZ4KXF7WS_cjs.HomeLoadError,
|
|
15249
15256
|
{
|
|
15250
15257
|
title: "Unable to load workspaces",
|
|
15251
15258
|
body: "Failed to connect to the server. Please check your connection and try again."
|
|
@@ -15265,7 +15272,7 @@ function ConnectedWorkspaceList({
|
|
|
15265
15272
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "mr-0.5 size-4" }),
|
|
15266
15273
|
"New"
|
|
15267
15274
|
] });
|
|
15268
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15275
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkZ4KXF7WS_cjs.HomeFrame, { children: [
|
|
15269
15276
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15270
15277
|
chunkWVEFRQSW_cjs.TabHeader,
|
|
15271
15278
|
{
|
|
@@ -15301,9 +15308,9 @@ function ConnectedWorkspaceList({
|
|
|
15301
15308
|
),
|
|
15302
15309
|
showList && // Above whichever view shows: both draw the same filtered groups.
|
|
15303
15310
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto w-full max-w-6xl px-4 pb-3 sm:px-8", children: /* @__PURE__ */ jsxRuntime.jsx(WorkspaceFilterMenu, { list }) }),
|
|
15304
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15311
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZ4KXF7WS_cjs.HomeMain, { children: !showList ? children : shownView === "cards" ? (
|
|
15305
15312
|
// Full-width scroller (its scrollbar rides the window edge) around a centred column.
|
|
15306
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15313
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZ4KXF7WS_cjs.HomeCenteredScroll, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15307
15314
|
WorkspaceCardsView,
|
|
15308
15315
|
{
|
|
15309
15316
|
list,
|
|
@@ -15315,7 +15322,7 @@ function ConnectedWorkspaceList({
|
|
|
15315
15322
|
workspaceState
|
|
15316
15323
|
}
|
|
15317
15324
|
) })
|
|
15318
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15325
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkRB54N5I7_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkZ4KXF7WS_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15319
15326
|
WorkspaceTableView,
|
|
15320
15327
|
{
|
|
15321
15328
|
list,
|
|
@@ -15388,7 +15395,7 @@ function ProjectsListPage({
|
|
|
15388
15395
|
};
|
|
15389
15396
|
const { openProject } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
|
|
15390
15397
|
const [search, setSearch] = react$1.useState("");
|
|
15391
|
-
const { projects, isLoading } =
|
|
15398
|
+
const { projects, isLoading } = chunkBP5KBZLX_cjs.useProjectSummaries();
|
|
15392
15399
|
const rows = react$1.useMemo(() => {
|
|
15393
15400
|
const q = search.trim().toLowerCase();
|
|
15394
15401
|
if (!q) return projects;
|
|
@@ -15459,7 +15466,7 @@ function ProjectsListPage({
|
|
|
15459
15466
|
}
|
|
15460
15467
|
),
|
|
15461
15468
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15462
|
-
|
|
15469
|
+
chunkRB54N5I7_cjs.Toolbar,
|
|
15463
15470
|
{
|
|
15464
15471
|
search,
|
|
15465
15472
|
onSearch: setSearch,
|
|
@@ -15647,7 +15654,7 @@ function ProjectDetailsForm({
|
|
|
15647
15654
|
const labels = { ...DEFAULT_PROJECT_DETAILS_LABELS, ...given };
|
|
15648
15655
|
const { notify: notify16 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
|
|
15649
15656
|
const update = react.useUpdateProjectFields();
|
|
15650
|
-
const workspace =
|
|
15657
|
+
const workspace = chunkBP5KBZLX_cjs.primaryProjectWorkspace(project);
|
|
15651
15658
|
const { data: members = [] } = react.useWorkspaceUsers(workspace?.id);
|
|
15652
15659
|
const people = members.filter((m) => !m.user.external_id.startsWith("agt-"));
|
|
15653
15660
|
const currency = project.budget?.currency ?? "GBP";
|
|
@@ -16706,11 +16713,11 @@ function ConnectedProjectPage({
|
|
|
16706
16713
|
figures: { ...DEFAULT_PROJECT_PAGE_LABELS.figures, ...given?.figures },
|
|
16707
16714
|
threads: { ...DEFAULT_PROJECT_PAGE_LABELS.threads, ...given?.threads }
|
|
16708
16715
|
};
|
|
16709
|
-
const { project, usage, isLoading } =
|
|
16716
|
+
const { project, usage, isLoading } = chunkBP5KBZLX_cjs.useProjectSummary(projectId);
|
|
16710
16717
|
const { workspaceId } = chunkKGAYUFXD_cjs.useConnectedWorkspace();
|
|
16711
16718
|
const { notify: notify16 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
|
|
16712
16719
|
const selectWorkspace = chunkCMYJEIZB_cjs.useSelectWorkspace();
|
|
16713
|
-
const workspace = project ?
|
|
16720
|
+
const workspace = project ? chunkBP5KBZLX_cjs.primaryProjectWorkspace(project) : void 0;
|
|
16714
16721
|
const open = !!workspace && workspace.id === workspaceId;
|
|
16715
16722
|
react$1.useEffect(() => {
|
|
16716
16723
|
if (!workspace || workspace.id === workspaceId) return;
|
|
@@ -17605,7 +17612,7 @@ function recentConversations(conversations) {
|
|
|
17605
17612
|
return [...conversations].sort((a, b) => time(b.updated_at) - time(a.updated_at)).slice(0, RECENT_ROWS).map((c) => ({
|
|
17606
17613
|
id: c.external_id,
|
|
17607
17614
|
title: c.title?.trim() || "Untitled thread",
|
|
17608
|
-
subtitle: c.status ? [
|
|
17615
|
+
subtitle: c.status ? [chunkDRUNPUDT_cjs.STATUS_LABELS[chunkDRUNPUDT_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"}`,
|
|
17609
17616
|
time: timeAndDate(c.updated_at)
|
|
17610
17617
|
}));
|
|
17611
17618
|
}
|
|
@@ -17671,19 +17678,19 @@ function ConnectedWorkspaceDashboard({
|
|
|
17671
17678
|
const { upcoming: upcoming2, recent: recent2 } = splitFacts(facts);
|
|
17672
17679
|
const toRow = (row2) => ({
|
|
17673
17680
|
...row2,
|
|
17674
|
-
leading: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17681
|
+
leading: /* @__PURE__ */ jsxRuntime.jsx(chunkZ4KXF7WS_cjs.FactMark, {}),
|
|
17675
17682
|
// The item, not the list: the Facts page scrolls to this fact.
|
|
17676
17683
|
onSelect: () => actions.openFact(row2.id)
|
|
17677
17684
|
});
|
|
17678
17685
|
return { upcoming: upcoming2.map(toRow), recent: recent2.map(toRow) };
|
|
17679
17686
|
}, [facts, actions]);
|
|
17680
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17681
|
-
start && /* @__PURE__ */ jsxRuntime.jsx(
|
|
17682
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
17687
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkZ4KXF7WS_cjs.DashboardRoot, { testId, children: [
|
|
17688
|
+
start && /* @__PURE__ */ jsxRuntime.jsx(chunkZ4KXF7WS_cjs.DashboardBand, { kind: "start", children: start }),
|
|
17689
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZ4KXF7WS_cjs.DashboardBand, { kind: "recent", children: [
|
|
17683
17690
|
/* @__PURE__ */ jsxRuntime.jsx(chunkZDZY6OPL_cjs.SectionLabel, { testId: `${testId}-recent-caption`, children: "Recent" }),
|
|
17684
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
17691
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZ4KXF7WS_cjs.DashboardColumns, { children: [
|
|
17685
17692
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17686
|
-
|
|
17693
|
+
chunkZ4KXF7WS_cjs.RecentList,
|
|
17687
17694
|
{
|
|
17688
17695
|
testId: `${testId}-docs`,
|
|
17689
17696
|
icon: lucideReact.FileText,
|
|
@@ -17702,7 +17709,7 @@ function ConnectedWorkspaceDashboard({
|
|
|
17702
17709
|
}
|
|
17703
17710
|
),
|
|
17704
17711
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17705
|
-
|
|
17712
|
+
chunkZ4KXF7WS_cjs.RecentList,
|
|
17706
17713
|
{
|
|
17707
17714
|
testId: `${testId}-chats`,
|
|
17708
17715
|
icon: lucideReact.MessagesSquare,
|
|
@@ -17711,7 +17718,7 @@ function ConnectedWorkspaceDashboard({
|
|
|
17711
17718
|
onOpen: () => actions.openSection("threads"),
|
|
17712
17719
|
action: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
17713
17720
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17714
|
-
|
|
17721
|
+
chunkZ4KXF7WS_cjs.DashboardAction,
|
|
17715
17722
|
{
|
|
17716
17723
|
emphasis: "primary",
|
|
17717
17724
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-4" }),
|
|
@@ -17721,7 +17728,7 @@ function ConnectedWorkspaceDashboard({
|
|
|
17721
17728
|
}
|
|
17722
17729
|
),
|
|
17723
17730
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17724
|
-
|
|
17731
|
+
chunkZ4KXF7WS_cjs.DashboardAction,
|
|
17725
17732
|
{
|
|
17726
17733
|
emphasis: "quiet",
|
|
17727
17734
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-4" }),
|
|
@@ -17743,9 +17750,9 @@ function ConnectedWorkspaceDashboard({
|
|
|
17743
17750
|
)
|
|
17744
17751
|
] })
|
|
17745
17752
|
] }),
|
|
17746
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
17753
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZ4KXF7WS_cjs.DashboardColumns, { children: [
|
|
17747
17754
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17748
|
-
|
|
17755
|
+
chunkZ4KXF7WS_cjs.FactsStrip,
|
|
17749
17756
|
{
|
|
17750
17757
|
testId: `${testId}-facts`,
|
|
17751
17758
|
icon: lucideReact.Milestone,
|
|
@@ -17753,7 +17760,7 @@ function ConnectedWorkspaceDashboard({
|
|
|
17753
17760
|
count: facts.length,
|
|
17754
17761
|
onOpen: () => actions.openSection("facts"),
|
|
17755
17762
|
action: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17756
|
-
|
|
17763
|
+
chunkZ4KXF7WS_cjs.DashboardAction,
|
|
17757
17764
|
{
|
|
17758
17765
|
emphasis: "quiet",
|
|
17759
17766
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-4" }),
|
|
@@ -26327,7 +26334,7 @@ function useBatchCompleteToasts() {
|
|
|
26327
26334
|
}
|
|
26328
26335
|
}, AI_FIELDS_NOTICE_WINDOW_MS);
|
|
26329
26336
|
} else if (message.batch_type === "entity_extract") {
|
|
26330
|
-
say(`${
|
|
26337
|
+
say(`${chunkRB54N5I7_cjs.entitiesPhrase()} extracted from ${chunkRB54N5I7_cjs.documentCount(docIds.length)}`, "success", {
|
|
26331
26338
|
...openTags && { action: { label: "View", onClick: openTags } }
|
|
26332
26339
|
});
|
|
26333
26340
|
} else if (message.batch_type === "upload") {
|
|
@@ -27823,12 +27830,12 @@ var DocumentReviewCard = react$1.lazy(
|
|
|
27823
27830
|
() => import('../DocumentReviewCard-BQ6ZD5MD.cjs').then((module) => ({ default: module.DocumentReviewCard }))
|
|
27824
27831
|
);
|
|
27825
27832
|
var ConnectedDocumentViewer = react$1.lazy(
|
|
27826
|
-
() => import('../ConnectedDocumentViewer-
|
|
27833
|
+
() => import('../ConnectedDocumentViewer-S6YKCCRN.cjs').then((module) => ({
|
|
27827
27834
|
default: module.ConnectedDocumentViewer
|
|
27828
27835
|
}))
|
|
27829
27836
|
);
|
|
27830
27837
|
function defaultReviewCard(props) {
|
|
27831
|
-
return /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
27838
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkRB54N5I7_cjs.LoadingIndicator, { message: "Loading document viewer..." }), children: /* @__PURE__ */ jsxRuntime.jsx(DocumentReviewCard, { ...props }, `navigator-${props.currentDocument.external_id}`) });
|
|
27832
27839
|
}
|
|
27833
27840
|
function ConnectedFilesPage({
|
|
27834
27841
|
isModal = false,
|
|
@@ -28364,7 +28371,7 @@ function ConnectedFilesPage({
|
|
|
28364
28371
|
viewMode === "grid" ? (
|
|
28365
28372
|
// ‹ n / N › over the table's displayed rows; a step opens the document.
|
|
28366
28373
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
28367
|
-
|
|
28374
|
+
chunkRB54N5I7_cjs.GridRowNavigator,
|
|
28368
28375
|
{
|
|
28369
28376
|
gridApi,
|
|
28370
28377
|
selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
|
|
@@ -29508,7 +29515,7 @@ function ProcessingSection({
|
|
|
29508
29515
|
onDelete
|
|
29509
29516
|
}) {
|
|
29510
29517
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkVGNCU5JJ_cjs.TaskSection, { title, count: count2, status, tooltip: SECTION_TOOLTIPS[status], children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
29511
|
-
|
|
29518
|
+
chunkDRUNPUDT_cjs.UploadTaskList,
|
|
29512
29519
|
{
|
|
29513
29520
|
tasks,
|
|
29514
29521
|
title: "",
|
|
@@ -32068,13 +32075,13 @@ function ConnectedModelSelector({
|
|
|
32068
32075
|
}
|
|
32069
32076
|
}
|
|
32070
32077
|
}
|
|
32071
|
-
return tier ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32078
|
+
return tier ? /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelTierIcon, { tier }) : /* @__PURE__ */ jsxRuntime.jsx(ArbiLogo, {});
|
|
32072
32079
|
};
|
|
32073
32080
|
const isSelectedStandard = !!selectedModelInfo?.tags?.includes(STANDARD_TIER_TAG);
|
|
32074
32081
|
const isSelectedPremium = !!selectedModelInfo?.tags?.includes(PREMIUM_TIER_TAG);
|
|
32075
32082
|
const triggerLabel = isAuto ? "Autoselect" : isSelectedPremium ? "Premium" : selectedModelInfo?.display_name || selectedModelInfo?.model_name || selectedModel;
|
|
32076
32083
|
const firstTag = selectedModelInfo?.tags?.[0];
|
|
32077
|
-
const triggerIcon = isAuto ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32084
|
+
const triggerIcon = isAuto ? /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelAutoIcon, {}) : isSelectedPremium ? premiumDisabled ? /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelTierIcon, { tier: "premium", isGreyed: true }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
32078
32085
|
ui.ProviderIcon,
|
|
32079
32086
|
{
|
|
32080
32087
|
modelName: selectedModelInfo?.model_name,
|
|
@@ -32082,9 +32089,9 @@ function ConnectedModelSelector({
|
|
|
32082
32089
|
size: 14,
|
|
32083
32090
|
className: "shrink-0"
|
|
32084
32091
|
}
|
|
32085
|
-
) : isSelectedStandard && selectedModelInfo ? standardIcon(selectedModelInfo) : firstTag && TAG_TIER[firstTag] ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32092
|
+
) : isSelectedStandard && selectedModelInfo ? standardIcon(selectedModelInfo) : firstTag && TAG_TIER[firstTag] ? /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelTierIcon, { tier: TAG_TIER[firstTag] }) : selectedModelInfo ? /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelDot, {}) : null;
|
|
32086
32093
|
const tooltip = isAuto ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm", children: "Automatically selects the best model" }) : pricing ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32087
|
-
|
|
32094
|
+
chunk56WWEK6I_cjs.ModelPricingTip,
|
|
32088
32095
|
{
|
|
32089
32096
|
modelName: pricing.modelName,
|
|
32090
32097
|
inputPrice: pricing.inputPrice,
|
|
@@ -32101,27 +32108,27 @@ function ConnectedModelSelector({
|
|
|
32101
32108
|
(m) => m.model_name === premiumTier.resolvedModelName
|
|
32102
32109
|
);
|
|
32103
32110
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
32104
|
-
|
|
32111
|
+
chunk56WWEK6I_cjs.ModelPickerPopover,
|
|
32105
32112
|
{
|
|
32106
32113
|
open: isOpen,
|
|
32107
32114
|
onOpenChange: setIsOpen,
|
|
32108
32115
|
tooltip,
|
|
32109
|
-
trigger: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32116
|
+
trigger: /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelPickerTrigger, { icon: triggerIcon, label: triggerLabel, className }),
|
|
32110
32117
|
children: [
|
|
32111
32118
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32112
|
-
|
|
32119
|
+
chunk56WWEK6I_cjs.ModelOption,
|
|
32113
32120
|
{
|
|
32114
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32121
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelAutoIcon, {}),
|
|
32115
32122
|
label: "Autoselect",
|
|
32116
32123
|
isSelected: isAuto,
|
|
32117
32124
|
onSelect: () => choose(react.AUTO_CHAT_MODEL),
|
|
32118
32125
|
testId: "model-option-auto"
|
|
32119
32126
|
}
|
|
32120
32127
|
),
|
|
32121
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32128
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelMenuDivider, {}),
|
|
32122
32129
|
hasTiers ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32123
32130
|
standardTier?.members.map((m) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
32124
|
-
|
|
32131
|
+
chunk56WWEK6I_cjs.ModelOption,
|
|
32125
32132
|
{
|
|
32126
32133
|
icon: standardIcon(m),
|
|
32127
32134
|
label: m.display_name ? `${m.display_name} \xB7 ${m.connection_scope === "box" ? "Box" : "Personal"}` : m.model_name,
|
|
@@ -32133,9 +32140,9 @@ function ConnectedModelSelector({
|
|
|
32133
32140
|
`standard-${m.model_name}`
|
|
32134
32141
|
)),
|
|
32135
32142
|
premiumTier && /* @__PURE__ */ jsxRuntime.jsx(
|
|
32136
|
-
|
|
32143
|
+
chunk56WWEK6I_cjs.ModelTierOption,
|
|
32137
32144
|
{
|
|
32138
|
-
icon: premiumDisabled || !premiumMember ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32145
|
+
icon: premiumDisabled || !premiumMember ? /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelTierIcon, { tier: "premium", isGreyed: premiumDisabled }) : (
|
|
32139
32146
|
// The resolved Premium model's provider is the row's brand icon, so the pick
|
|
32140
32147
|
// is recognisable without a model_name suffix.
|
|
32141
32148
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -32154,7 +32161,7 @@ function ConnectedModelSelector({
|
|
|
32154
32161
|
onSelect: () => choose(premiumTier.resolvedModelName),
|
|
32155
32162
|
testId: "model-option-tier-Premium",
|
|
32156
32163
|
action: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32157
|
-
|
|
32164
|
+
chunk56WWEK6I_cjs.ModelConfigureButton,
|
|
32158
32165
|
{
|
|
32159
32166
|
label: "Configure Premium tier",
|
|
32160
32167
|
tooltip: "Configure Premium",
|
|
@@ -32169,13 +32176,13 @@ function ConnectedModelSelector({
|
|
|
32169
32176
|
"tier-Premium"
|
|
32170
32177
|
),
|
|
32171
32178
|
developerModels.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32172
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32179
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelMenuDivider, {}),
|
|
32173
32180
|
developerModels.map((m) => {
|
|
32174
32181
|
const tag = m.tags?.[0];
|
|
32175
32182
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32176
|
-
|
|
32183
|
+
chunk56WWEK6I_cjs.ModelOption,
|
|
32177
32184
|
{
|
|
32178
|
-
icon: tag && TAG_TIER[tag] ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32185
|
+
icon: tag && TAG_TIER[tag] ? /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelTierIcon, { tier: TAG_TIER[tag] }) : /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelDot, {}),
|
|
32179
32186
|
label: m.display_name ? `${m.display_name} \xB7 ${m.connection_scope === "box" ? "Box" : "Personal"}` : m.model_name,
|
|
32180
32187
|
isSelected: selectedModel === m.model_name,
|
|
32181
32188
|
onSelect: () => choose(m.model_name),
|
|
@@ -32185,7 +32192,7 @@ function ConnectedModelSelector({
|
|
|
32185
32192
|
);
|
|
32186
32193
|
})
|
|
32187
32194
|
] })
|
|
32188
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
32195
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelMenuMessage, { children: "Loading models..." })
|
|
32189
32196
|
]
|
|
32190
32197
|
}
|
|
32191
32198
|
);
|
|
@@ -32197,11 +32204,11 @@ function ConnectedModelSelector({
|
|
|
32197
32204
|
{
|
|
32198
32205
|
className: ui.cn("h-8 w-[200px] text-sm", className),
|
|
32199
32206
|
"data-testid": "model-selector",
|
|
32200
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32207
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelTriggerContent, { icon: triggerIcon, label: triggerLabel })
|
|
32201
32208
|
}
|
|
32202
32209
|
),
|
|
32203
32210
|
/* @__PURE__ */ jsxRuntime.jsxs(ui.SelectContent, { className: "z-50", children: [
|
|
32204
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: react.AUTO_CHAT_MODEL, "data-testid": "model-option-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32211
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: react.AUTO_CHAT_MODEL, "data-testid": "model-option-auto", children: /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelOptionLabel, { icon: /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelAutoIcon, {}), label: "Autoselect" }) }),
|
|
32205
32212
|
hasTiers ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32206
32213
|
standardTier?.members.map((m) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
32207
32214
|
ui.SelectItem,
|
|
@@ -32209,7 +32216,7 @@ function ConnectedModelSelector({
|
|
|
32209
32216
|
value: m.model_name,
|
|
32210
32217
|
"data-testid": `model-option-${m.model_name}`,
|
|
32211
32218
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32212
|
-
|
|
32219
|
+
chunk56WWEK6I_cjs.ModelOptionLabel,
|
|
32213
32220
|
{
|
|
32214
32221
|
icon: standardIcon(m),
|
|
32215
32222
|
label: m.display_name ? `${m.display_name} \xB7 ${m.connection_scope === "box" ? "Box" : "Personal"}` : m.model_name
|
|
@@ -32223,7 +32230,7 @@ function ConnectedModelSelector({
|
|
|
32223
32230
|
{
|
|
32224
32231
|
value: premiumTier.resolvedModelName,
|
|
32225
32232
|
"data-testid": "model-option-tier-Premium",
|
|
32226
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32233
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelOptionLabel, { icon: /* @__PURE__ */ jsxRuntime.jsx(ArbiLogo, {}), label: "Premium" })
|
|
32227
32234
|
},
|
|
32228
32235
|
"tier-Premium"
|
|
32229
32236
|
),
|
|
@@ -32233,9 +32240,9 @@ function ConnectedModelSelector({
|
|
|
32233
32240
|
value: m.model_name,
|
|
32234
32241
|
"data-testid": `model-option-${m.model_name}`,
|
|
32235
32242
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32236
|
-
|
|
32243
|
+
chunk56WWEK6I_cjs.ModelOptionLabel,
|
|
32237
32244
|
{
|
|
32238
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32245
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ModelDot, {}),
|
|
32239
32246
|
label: m.display_name ? `${m.display_name} \xB7 ${m.connection_scope === "box" ? "Box" : "Personal"}` : m.model_name
|
|
32240
32247
|
}
|
|
32241
32248
|
)
|
|
@@ -32254,7 +32261,7 @@ function ConnectedConfigForm({ availableModels, ...rest }) {
|
|
|
32254
32261
|
({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedModelSelector, { value, onValueChange: onChange, className: "w-full" }),
|
|
32255
32262
|
[]
|
|
32256
32263
|
);
|
|
32257
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32264
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
|
|
32258
32265
|
}
|
|
32259
32266
|
function ConnectedAgentConfigForm({ agentExtId, agentName, onSaved }) {
|
|
32260
32267
|
const { notify: notify16 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
|
|
@@ -32371,7 +32378,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
32371
32378
|
}, [name, selectedWorkspaces, role, createAgent, addWorkspaceUsers, arbi, notify16]);
|
|
32372
32379
|
if (editAgent) {
|
|
32373
32380
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32374
|
-
|
|
32381
|
+
chunkDRUNPUDT_cjs.AgentEditView,
|
|
32375
32382
|
{
|
|
32376
32383
|
agentName: editAgent.name,
|
|
32377
32384
|
config: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -32387,7 +32394,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
32387
32394
|
}
|
|
32388
32395
|
if (view === "main") {
|
|
32389
32396
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32390
|
-
|
|
32397
|
+
chunkDRUNPUDT_cjs.AgentMainView,
|
|
32391
32398
|
{
|
|
32392
32399
|
onConnectExternal: () => setView("connect"),
|
|
32393
32400
|
config: mainAgent ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -32403,11 +32410,11 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
32403
32410
|
}
|
|
32404
32411
|
if (result) {
|
|
32405
32412
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32406
|
-
|
|
32413
|
+
chunkDRUNPUDT_cjs.AgentCreatedView,
|
|
32407
32414
|
{
|
|
32408
32415
|
email: result.email,
|
|
32409
32416
|
signingKey: result.signingKey,
|
|
32410
|
-
instructions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32417
|
+
instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
|
|
32411
32418
|
config: /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentConfigForm, { agentExtId: result.extId, agentName: result.name }),
|
|
32412
32419
|
isConfigOpen: configOpen,
|
|
32413
32420
|
onToggleConfig: () => setConfigOpen((v) => !v),
|
|
@@ -32416,7 +32423,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
32416
32423
|
);
|
|
32417
32424
|
}
|
|
32418
32425
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32419
|
-
|
|
32426
|
+
chunkDRUNPUDT_cjs.AgentCreateView,
|
|
32420
32427
|
{
|
|
32421
32428
|
name,
|
|
32422
32429
|
onNameChange: setName,
|
|
@@ -33117,7 +33124,7 @@ function ConnectedAccountCluster({
|
|
|
33117
33124
|
if (!open) return null;
|
|
33118
33125
|
const current = activePage === page;
|
|
33119
33126
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33120
|
-
|
|
33127
|
+
chunkXWUGPV7H_cjs.SidebarBadgeRow,
|
|
33121
33128
|
{
|
|
33122
33129
|
icon: icon2,
|
|
33123
33130
|
label,
|
|
@@ -33134,7 +33141,7 @@ function ConnectedAccountCluster({
|
|
|
33134
33141
|
);
|
|
33135
33142
|
};
|
|
33136
33143
|
const bell = layout === "drawer" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33137
|
-
|
|
33144
|
+
chunkXWUGPV7H_cjs.SidebarBadgeRow,
|
|
33138
33145
|
{
|
|
33139
33146
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bell, { className: "size-5" }),
|
|
33140
33147
|
label: "Notifications",
|
|
@@ -33168,7 +33175,7 @@ function ConnectedAccountCluster({
|
|
|
33168
33175
|
side,
|
|
33169
33176
|
align,
|
|
33170
33177
|
renderTrigger: layout === "bar" ? void 0 : ({ unread, ariaLabel, testId }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
33171
|
-
|
|
33178
|
+
chunkXWUGPV7H_cjs.SidebarBadgeRow,
|
|
33172
33179
|
{
|
|
33173
33180
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bell, { className: "size-5" }),
|
|
33174
33181
|
label: "Notifications",
|
|
@@ -33181,7 +33188,7 @@ function ConnectedAccountCluster({
|
|
|
33181
33188
|
}
|
|
33182
33189
|
);
|
|
33183
33190
|
const contacts = showContacts && openContacts ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33184
|
-
|
|
33191
|
+
chunkXWUGPV7H_cjs.SidebarBadgeRow,
|
|
33185
33192
|
{
|
|
33186
33193
|
icon: /* @__PURE__ */ jsxRuntime.jsx(ContactIcon, { className: "size-5" }),
|
|
33187
33194
|
label: "Contacts",
|
|
@@ -33218,7 +33225,7 @@ function ConnectedAccountCluster({
|
|
|
33218
33225
|
layout
|
|
33219
33226
|
);
|
|
33220
33227
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33221
|
-
|
|
33228
|
+
chunkIXZCXK6Q_cjs.ActionCluster,
|
|
33222
33229
|
{
|
|
33223
33230
|
layout,
|
|
33224
33231
|
status: layout === "bar" ? status : null,
|
|
@@ -33515,7 +33522,7 @@ function usePrefetchChunks(loaders) {
|
|
|
33515
33522
|
if (cancelled) return;
|
|
33516
33523
|
const load = queue.shift();
|
|
33517
33524
|
if (!load) return;
|
|
33518
|
-
void
|
|
33525
|
+
void chunkIXZCXK6Q_cjs.prefetchChunk(load).finally(() => {
|
|
33519
33526
|
handle = idle(next);
|
|
33520
33527
|
});
|
|
33521
33528
|
};
|
|
@@ -33558,12 +33565,60 @@ function useUserNameFromWorkspaces() {
|
|
|
33558
33565
|
}
|
|
33559
33566
|
}, [session, workspaces, user]);
|
|
33560
33567
|
}
|
|
33568
|
+
var WELCOME_DIALOG_TIP = "welcome-modal";
|
|
33569
|
+
function consideredThisSession() {
|
|
33570
|
+
try {
|
|
33571
|
+
return sessionStorage.getItem(WELCOME_DIALOG_SESSION_KEY) !== null;
|
|
33572
|
+
} catch {
|
|
33573
|
+
return false;
|
|
33574
|
+
}
|
|
33575
|
+
}
|
|
33576
|
+
function useWelcomeDialog() {
|
|
33577
|
+
const { status, user } = react.useArbiSession();
|
|
33578
|
+
const isAuthenticated2 = status === "signed-in";
|
|
33579
|
+
const isExternal = user?.temporary_access_only === true;
|
|
33580
|
+
const currentUserExtId = user?.external_id;
|
|
33581
|
+
const [pendingAccessReviewId] = react.useTransientView(PENDING_ACCESS_REVIEW_VIEW, null);
|
|
33582
|
+
const accessRequestReview = useAccessRequestUnderReview();
|
|
33583
|
+
const { data: settings, isLoading: settingsLoading } = react.useUserSettings();
|
|
33584
|
+
const { data: projects, isLoading: projectsLoading } = react.useProjects();
|
|
33585
|
+
const { dismissTip } = react.useDismissedTips();
|
|
33586
|
+
react$1.useEffect(() => {
|
|
33587
|
+
if (!isAuthenticated2 || isExternal) return;
|
|
33588
|
+
if (pendingAccessReviewId || accessRequestReview) return;
|
|
33589
|
+
if (settingsLoading || projectsLoading || !settings) return;
|
|
33590
|
+
if (consideredThisSession()) return;
|
|
33591
|
+
if (settings.dismissed_tips?.includes(WELCOME_DIALOG_TIP)) return;
|
|
33592
|
+
try {
|
|
33593
|
+
sessionStorage.setItem(WELCOME_DIALOG_SESSION_KEY, "1");
|
|
33594
|
+
} catch {
|
|
33595
|
+
}
|
|
33596
|
+
const ownsPaidProject = (projects ?? []).some(
|
|
33597
|
+
(p) => p.created_by === currentUserExtId && (p.subscription === "active" || p.subscription === "past_due")
|
|
33598
|
+
);
|
|
33599
|
+
if (ownsPaidProject) return;
|
|
33600
|
+
chunkGMM3RBIB_cjs.openDialog("welcome");
|
|
33601
|
+
dismissTip(WELCOME_DIALOG_TIP);
|
|
33602
|
+
}, [
|
|
33603
|
+
isAuthenticated2,
|
|
33604
|
+
isExternal,
|
|
33605
|
+
currentUserExtId,
|
|
33606
|
+
settings,
|
|
33607
|
+
settingsLoading,
|
|
33608
|
+
projects,
|
|
33609
|
+
projectsLoading,
|
|
33610
|
+
dismissTip,
|
|
33611
|
+
pendingAccessReviewId,
|
|
33612
|
+
accessRequestReview
|
|
33613
|
+
]);
|
|
33614
|
+
}
|
|
33561
33615
|
var ReleaseStaleModals = () => (useReleaseStaleModalState(), null);
|
|
33562
33616
|
var RetiredModelNotice = () => (useRetiredModelNotice(), null);
|
|
33563
33617
|
var PausedMutationNotice = () => (usePausedMutationNotice(), null);
|
|
33564
33618
|
var PaymentReturn = () => (usePaymentReturn(), null);
|
|
33565
33619
|
var UserNameFromWorkspaces = () => (useUserNameFromWorkspaces(), null);
|
|
33566
33620
|
var FirstLoginRouting = ({ onResolve }) => (useFirstLoginRouting(onResolve), null);
|
|
33621
|
+
var WelcomeDialog2 = () => (useWelcomeDialog(), null);
|
|
33567
33622
|
var PendingWorkspaceShare = () => (usePendingWorkspaceShare(), null);
|
|
33568
33623
|
var PendingNotification = () => (usePendingNotification(), null);
|
|
33569
33624
|
var PendingAccessReview = () => (usePendingAccessReview(), null);
|
|
@@ -33581,8 +33636,14 @@ function ConnectedAppRuntime({
|
|
|
33581
33636
|
}) {
|
|
33582
33637
|
const on = (effect) => effects[effect] !== false;
|
|
33583
33638
|
const { stripeEnabled } = chunkEG3BB32W_cjs.useBillingSupport();
|
|
33639
|
+
const welcomeDialog = on("welcomeDialog") && stripeEnabled;
|
|
33640
|
+
const resolveFirstLogin = () => {
|
|
33641
|
+
if (welcomeDialog) skipWelcomeDialogThisSession();
|
|
33642
|
+
onFirstLogin?.();
|
|
33643
|
+
};
|
|
33584
33644
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
33585
|
-
on("firstLoginRouting") && /* @__PURE__ */ jsxRuntime.jsx(FirstLoginRouting, { onResolve:
|
|
33645
|
+
on("firstLoginRouting") && /* @__PURE__ */ jsxRuntime.jsx(FirstLoginRouting, { onResolve: resolveFirstLogin }),
|
|
33646
|
+
welcomeDialog && /* @__PURE__ */ jsxRuntime.jsx(WelcomeDialog2, {}),
|
|
33586
33647
|
on("releaseStaleModals") && /* @__PURE__ */ jsxRuntime.jsx(ReleaseStaleModals, {}),
|
|
33587
33648
|
on("retiredModelNotice") && /* @__PURE__ */ jsxRuntime.jsx(RetiredModelNotice, {}),
|
|
33588
33649
|
on("pausedMutationNotice") && /* @__PURE__ */ jsxRuntime.jsx(PausedMutationNotice, {}),
|
|
@@ -34153,7 +34214,7 @@ function ConnectedReportProblem({
|
|
|
34153
34214
|
const bar = layout === "bar";
|
|
34154
34215
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34155
34216
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34156
|
-
|
|
34217
|
+
chunkXWUGPV7H_cjs.SidebarBadgeRow,
|
|
34157
34218
|
{
|
|
34158
34219
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bug, { className: "size-5" }),
|
|
34159
34220
|
label: "Report a problem",
|
|
@@ -34175,14 +34236,14 @@ var referencesOf = (inputs) => {
|
|
|
34175
34236
|
return value?.documents ?? [];
|
|
34176
34237
|
};
|
|
34177
34238
|
var PROMPT_BINDINGS = {
|
|
34178
|
-
[
|
|
34239
|
+
[chunkDRUNPUDT_cjs.GENERATE_IMAGE_ID]: {
|
|
34179
34240
|
attachScope: false,
|
|
34180
34241
|
tools: (inputs) => {
|
|
34181
34242
|
const aspectRatio = typeof inputs.aspect_ratio === "string" ? inputs.aspect_ratio : "";
|
|
34182
34243
|
return {
|
|
34183
34244
|
retrieval_chunk: browser.buildRetrievalChunkTool([]),
|
|
34184
34245
|
retrieval_full_context: browser.buildRetrievalFullContextTool(referencesOf(inputs)),
|
|
34185
|
-
...aspectRatio && aspectRatio !==
|
|
34246
|
+
...aspectRatio && aspectRatio !== chunkDRUNPUDT_cjs.IMAGE_ASPECT_AUTO ? {
|
|
34186
34247
|
image_generation: {
|
|
34187
34248
|
name: "image_generation",
|
|
34188
34249
|
description: "image generation",
|
|
@@ -34207,14 +34268,14 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
34207
34268
|
const createTag = react.useCreateTag();
|
|
34208
34269
|
const updateTag = react.useUpdateTag();
|
|
34209
34270
|
const generate = react.useGenerateDocTags();
|
|
34210
|
-
const { create: createTask } =
|
|
34271
|
+
const { create: createTask } = chunkBP5KBZLX_cjs.useWorkflowTasks();
|
|
34211
34272
|
const applyModel = react.useApplyChatModel();
|
|
34212
34273
|
const session = react.useArbiSessionStore();
|
|
34213
34274
|
const { notify: notify16, openFiles, openNewConversation } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
|
|
34214
34275
|
const annotate = react$1.useCallback(
|
|
34215
34276
|
async ({ inputs, scope }) => {
|
|
34216
34277
|
const description = text(inputs, "description");
|
|
34217
|
-
const name = text(inputs, "name") ||
|
|
34278
|
+
const name = text(inputs, "name") || chunkDRUNPUDT_cjs.deriveAnnotationName(description);
|
|
34218
34279
|
const matching = chunkK26RLK2Y_cjs.matchWorkflowScope(documents, scope);
|
|
34219
34280
|
if (!name || !description || matching.length === 0) return;
|
|
34220
34281
|
try {
|
|
@@ -34258,9 +34319,9 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
34258
34319
|
async (launch) => {
|
|
34259
34320
|
const { workflow, inputs, scope, agentId } = launch;
|
|
34260
34321
|
if (workflow.run.kind === "operation") {
|
|
34261
|
-
if (workflow.id ===
|
|
34322
|
+
if (workflow.id === chunkDRUNPUDT_cjs.ANNOTATE_ID) {
|
|
34262
34323
|
await annotate(launch);
|
|
34263
|
-
|
|
34324
|
+
chunkDRUNPUDT_cjs.recordWorkflowUse(workflow.id);
|
|
34264
34325
|
return;
|
|
34265
34326
|
}
|
|
34266
34327
|
throw new Error(`No host handler for workflow "${workflow.id}"`);
|
|
@@ -34270,7 +34331,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
34270
34331
|
);
|
|
34271
34332
|
const prompt = chunk555BS22J_cjs.composeWorkflowPrompt(workflow, inputs, { documentTitles });
|
|
34272
34333
|
if (!prompt) return;
|
|
34273
|
-
|
|
34334
|
+
chunkDRUNPUDT_cjs.recordWorkflowUse(workflow.id);
|
|
34274
34335
|
if (agentId) {
|
|
34275
34336
|
try {
|
|
34276
34337
|
const created = await createTask({
|
|
@@ -34353,8 +34414,8 @@ function ConnectedWorkflowStart({
|
|
|
34353
34414
|
const tags = react$1.useMemo(() => chunkK26RLK2Y_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
|
|
34354
34415
|
const fieldPlaceholder = react$1.useCallback(
|
|
34355
34416
|
(field, inputs, workflow) => {
|
|
34356
|
-
if (workflow.id !==
|
|
34357
|
-
const derived =
|
|
34417
|
+
if (workflow.id !== chunkDRUNPUDT_cjs.ANNOTATE_ID || field.name !== "name") return void 0;
|
|
34418
|
+
const derived = chunkDRUNPUDT_cjs.deriveAnnotationName(String(inputs.description ?? ""));
|
|
34358
34419
|
return derived ? `Otherwise \u201C${derived}\u201D` : "Taken from the description";
|
|
34359
34420
|
},
|
|
34360
34421
|
[]
|
|
@@ -34365,15 +34426,15 @@ function ConnectedWorkflowStart({
|
|
|
34365
34426
|
...rest,
|
|
34366
34427
|
workflows,
|
|
34367
34428
|
onLaunch,
|
|
34368
|
-
renderIcon:
|
|
34429
|
+
renderIcon: chunkDRUNPUDT_cjs.renderWorkflowIcon,
|
|
34369
34430
|
onAddFiles: openUpload,
|
|
34370
34431
|
agentLabels: AGENT_LABELS,
|
|
34371
34432
|
addFilesAction,
|
|
34372
34433
|
fieldPlaceholder,
|
|
34373
|
-
submitLabel: ({ workflow, matchedCount }) => workflow.id ===
|
|
34434
|
+
submitLabel: ({ workflow, matchedCount }) => workflow.id === chunkDRUNPUDT_cjs.ANNOTATE_ID && matchedCount !== null ? `Annotate ${matchedCount} document${matchedCount !== 1 ? "s" : ""}` : void 0,
|
|
34374
34435
|
renderNotice: ({ workflow, inputs }) => {
|
|
34375
|
-
if (workflow.id !==
|
|
34376
|
-
const name = String(inputs.name ?? "").trim() ||
|
|
34436
|
+
if (workflow.id !== chunkDRUNPUDT_cjs.ANNOTATE_ID) return null;
|
|
34437
|
+
const name = String(inputs.name ?? "").trim() || chunkDRUNPUDT_cjs.deriveAnnotationName(String(inputs.description ?? ""));
|
|
34377
34438
|
const existing = name ? tags.find((t) => t.name.toLowerCase() === name.toLowerCase()) : void 0;
|
|
34378
34439
|
if (!existing) return null;
|
|
34379
34440
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -34410,9 +34471,9 @@ function resolveLaunchInputs(workflow, request) {
|
|
|
34410
34471
|
return { ...fromContext, ...fromScope, ...request.inputs };
|
|
34411
34472
|
}
|
|
34412
34473
|
function useWorkflowLaunch() {
|
|
34413
|
-
const { skills } =
|
|
34474
|
+
const { skills } = chunkBP5KBZLX_cjs.useWorkflowDefinitions();
|
|
34414
34475
|
const launch = react$1.useCallback(
|
|
34415
|
-
(workflowId, options2 = {}) =>
|
|
34476
|
+
(workflowId, options2 = {}) => chunkDRUNPUDT_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
|
|
34416
34477
|
[]
|
|
34417
34478
|
);
|
|
34418
34479
|
const itemsFor = react$1.useCallback(
|
|
@@ -34441,9 +34502,9 @@ function useWorkflowLaunch() {
|
|
|
34441
34502
|
return { launch, itemsFor, scopeItemsFor };
|
|
34442
34503
|
}
|
|
34443
34504
|
function Inner() {
|
|
34444
|
-
const request =
|
|
34445
|
-
const close =
|
|
34446
|
-
const { skills } =
|
|
34505
|
+
const request = chunkDRUNPUDT_cjs.useWorkflowLaunchRequest();
|
|
34506
|
+
const close = chunkDRUNPUDT_cjs.closeWorkflowLaunch;
|
|
34507
|
+
const { skills } = chunkBP5KBZLX_cjs.useWorkflowDefinitions();
|
|
34447
34508
|
const run = useLaunchWorkflow({ landing: request?.landing });
|
|
34448
34509
|
const workflow = skills.find((w) => w.id === request?.workflowId);
|
|
34449
34510
|
const inputs = react$1.useMemo(
|
|
@@ -34480,7 +34541,7 @@ function Inner() {
|
|
|
34480
34541
|
);
|
|
34481
34542
|
}
|
|
34482
34543
|
function WorkflowLaunchHost() {
|
|
34483
|
-
return
|
|
34544
|
+
return chunkDRUNPUDT_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
|
|
34484
34545
|
}
|
|
34485
34546
|
function isNeedsConfirmationDetail(detail) {
|
|
34486
34547
|
return typeof detail === "object" && detail !== null && detail.needs_confirmation === "resource_private";
|
|
@@ -34857,7 +34918,7 @@ function WorkflowRunStatusCell({ conversation }) {
|
|
|
34857
34918
|
return person ? ui.getUserDisplayName(person) : void 0;
|
|
34858
34919
|
};
|
|
34859
34920
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34860
|
-
|
|
34921
|
+
chunkDRUNPUDT_cjs.WorkflowRunStatus,
|
|
34861
34922
|
{
|
|
34862
34923
|
steps,
|
|
34863
34924
|
states,
|
|
@@ -34891,7 +34952,7 @@ function ConversationStatusCell({ conversation }) {
|
|
|
34891
34952
|
if (conversation.plan?.steps?.length && !isLiveGenerating)
|
|
34892
34953
|
return /* @__PURE__ */ jsxRuntime.jsx(WorkflowRunStatusCell, { conversation });
|
|
34893
34954
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34894
|
-
|
|
34955
|
+
chunkDRUNPUDT_cjs.ThreadStatusLine,
|
|
34895
34956
|
{
|
|
34896
34957
|
state: threadStateOf(conversation, isLiveGenerating),
|
|
34897
34958
|
className: "h-full",
|
|
@@ -35378,7 +35439,7 @@ function ConnectedTaskStartDialog({
|
|
|
35378
35439
|
};
|
|
35379
35440
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
35380
35441
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35381
|
-
|
|
35442
|
+
chunkDRUNPUDT_cjs.TaskStartDialog,
|
|
35382
35443
|
{
|
|
35383
35444
|
open: open && !later,
|
|
35384
35445
|
onOpenChange: (next) => {
|
|
@@ -35403,14 +35464,14 @@ function ConnectedTaskStartDialog({
|
|
|
35403
35464
|
}
|
|
35404
35465
|
),
|
|
35405
35466
|
later && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35406
|
-
|
|
35467
|
+
chunkBP5KBZLX_cjs.ConnectedTaskComposer,
|
|
35407
35468
|
{
|
|
35408
35469
|
open: true,
|
|
35409
35470
|
onOpenChange: (next) => !next && setLater(null),
|
|
35410
35471
|
kind: "workflow",
|
|
35411
35472
|
startLater: true,
|
|
35412
35473
|
initialPrompt: later.prompt,
|
|
35413
|
-
initialWorkflowId: later.todo ?
|
|
35474
|
+
initialWorkflowId: later.todo ? chunkDRUNPUDT_cjs.REMIND_TASK_ID : void 0,
|
|
35414
35475
|
initialShared: later.shared,
|
|
35415
35476
|
launchWorkflow: later.workflow
|
|
35416
35477
|
}
|
|
@@ -35424,7 +35485,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
35424
35485
|
const [later, setLater] = react$1.useState(null);
|
|
35425
35486
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
35426
35487
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35427
|
-
|
|
35488
|
+
chunkDRUNPUDT_cjs.ThreadLauncher,
|
|
35428
35489
|
{
|
|
35429
35490
|
workflows: task.workflows,
|
|
35430
35491
|
people: task.people,
|
|
@@ -35454,14 +35515,14 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
35454
35515
|
}
|
|
35455
35516
|
),
|
|
35456
35517
|
later && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35457
|
-
|
|
35518
|
+
chunkBP5KBZLX_cjs.ConnectedTaskComposer,
|
|
35458
35519
|
{
|
|
35459
35520
|
open: true,
|
|
35460
35521
|
onOpenChange: (next) => !next && setLater(null),
|
|
35461
35522
|
kind: "workflow",
|
|
35462
35523
|
startLater: true,
|
|
35463
35524
|
initialPrompt: later.prompt,
|
|
35464
|
-
initialWorkflowId: later.todo ?
|
|
35525
|
+
initialWorkflowId: later.todo ? chunkDRUNPUDT_cjs.REMIND_TASK_ID : void 0,
|
|
35465
35526
|
initialShared: later.shared,
|
|
35466
35527
|
launchWorkflow: later.workflow
|
|
35467
35528
|
}
|
|
@@ -35490,13 +35551,13 @@ function ConnectedNewThreadDialog({
|
|
|
35490
35551
|
});
|
|
35491
35552
|
const parentOptions = react$1.useMemo(() => {
|
|
35492
35553
|
const leaf = { external_id: "__new__" };
|
|
35493
|
-
return
|
|
35554
|
+
return chunkDRUNPUDT_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
|
|
35494
35555
|
id: t.external_id,
|
|
35495
35556
|
name: t.title?.trim() || "Untitled task"
|
|
35496
35557
|
}));
|
|
35497
35558
|
}, [tasks]);
|
|
35498
35559
|
const submit = async (values) => {
|
|
35499
|
-
const request =
|
|
35560
|
+
const request = chunkDRUNPUDT_cjs.newThreadToRequest(values);
|
|
35500
35561
|
try {
|
|
35501
35562
|
if (!workspaceId) throw new Error("Open a workspace to add a task.");
|
|
35502
35563
|
if (!request.startAssistant && request.todo) {
|
|
@@ -35537,7 +35598,7 @@ function ConnectedNewThreadDialog({
|
|
|
35537
35598
|
}
|
|
35538
35599
|
};
|
|
35539
35600
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35540
|
-
|
|
35601
|
+
chunkDRUNPUDT_cjs.NewThreadDialog,
|
|
35541
35602
|
{
|
|
35542
35603
|
open,
|
|
35543
35604
|
onOpenChange,
|
|
@@ -35553,7 +35614,7 @@ function ConnectedNewThreadDialog({
|
|
|
35553
35614
|
var START_VISIBLE = 8;
|
|
35554
35615
|
var START_SEARCH_ABOVE = 8;
|
|
35555
35616
|
function ConnectedConversationStart() {
|
|
35556
|
-
const { start } =
|
|
35617
|
+
const { start } = chunkBP5KBZLX_cjs.useWorkflowDefinitions();
|
|
35557
35618
|
const { openSkillsBrowser } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
|
|
35558
35619
|
const [query, setQuery] = react$1.useState("");
|
|
35559
35620
|
const q = query.trim().toLowerCase();
|
|
@@ -35568,7 +35629,7 @@ function ConnectedConversationStart() {
|
|
|
35568
35629
|
const browse = openSkillsBrowser ? [
|
|
35569
35630
|
{
|
|
35570
35631
|
id: "browse-all",
|
|
35571
|
-
iconNode:
|
|
35632
|
+
iconNode: chunkDRUNPUDT_cjs.renderWorkflowIcon("library"),
|
|
35572
35633
|
title: "Browse all",
|
|
35573
35634
|
description: "See every skill, make a copy, add your own",
|
|
35574
35635
|
onSelect: () => openSkillsBrowser(),
|
|
@@ -35612,7 +35673,7 @@ function parseTypedSkill(draft) {
|
|
|
35612
35673
|
return m ? { slug: m[1].toLowerCase(), text: (m[2] ?? "").trim() } : null;
|
|
35613
35674
|
}
|
|
35614
35675
|
function useSlashSkillWorkflows({ landing }) {
|
|
35615
|
-
const { skills, skillsEnabled } =
|
|
35676
|
+
const { skills, skillsEnabled } = chunkBP5KBZLX_cjs.useWorkflowDefinitions();
|
|
35616
35677
|
const { commands } = react.useBuiltinCommands();
|
|
35617
35678
|
const [active, setActive] = react$1.useState(null);
|
|
35618
35679
|
const open = (workflow, text2) => {
|
|
@@ -35718,7 +35779,7 @@ function AgentBarShell({
|
|
|
35718
35779
|
}, [isStepsExpanded, steps]);
|
|
35719
35780
|
const visibleStepCount = react$1.useMemo(() => browser.topLevelAgentSteps(steps ?? []).length, [steps]);
|
|
35720
35781
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35721
|
-
|
|
35782
|
+
chunkDRUNPUDT_cjs.AgentBar,
|
|
35722
35783
|
{
|
|
35723
35784
|
className,
|
|
35724
35785
|
testId,
|
|
@@ -35791,7 +35852,7 @@ function AgentControlBar({
|
|
|
35791
35852
|
}
|
|
35792
35853
|
);
|
|
35793
35854
|
const status = /* @__PURE__ */ jsxRuntime.jsx(
|
|
35794
|
-
|
|
35855
|
+
chunkDRUNPUDT_cjs.AgentBarStatus,
|
|
35795
35856
|
{
|
|
35796
35857
|
state: showState ? controlState : void 0,
|
|
35797
35858
|
stateLabel: STATE_LABEL[controlState],
|
|
@@ -35833,7 +35894,7 @@ function AgentControlBar({
|
|
|
35833
35894
|
];
|
|
35834
35895
|
const controls = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
35835
35896
|
onStop && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35836
|
-
|
|
35897
|
+
chunkDRUNPUDT_cjs.AgentBarIconButton,
|
|
35837
35898
|
{
|
|
35838
35899
|
onClick: onStop,
|
|
35839
35900
|
title: "Stop",
|
|
@@ -35842,22 +35903,22 @@ function AgentControlBar({
|
|
|
35842
35903
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3 w-3", fill: "currentColor" })
|
|
35843
35904
|
}
|
|
35844
35905
|
),
|
|
35845
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35906
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.AgentBarMenu, { items: menuItems })
|
|
35846
35907
|
] });
|
|
35847
35908
|
const displayedQueuedMessages = (transientQueuedMessages ?? []).filter(
|
|
35848
35909
|
(message) => !message.serverId || !queuedMessages.some((queued) => queued.external_id === message.serverId)
|
|
35849
35910
|
);
|
|
35850
35911
|
const queuedNotes = displayedQueuedMessages.filter((message) => message.content);
|
|
35851
|
-
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
35912
|
+
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkDRUNPUDT_cjs.AgentBarNotes, { children: [
|
|
35852
35913
|
queuedNotes.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
35853
|
-
|
|
35914
|
+
chunkDRUNPUDT_cjs.AgentBarQueuedNote,
|
|
35854
35915
|
{
|
|
35855
35916
|
text: message.content ?? "",
|
|
35856
35917
|
isAcknowledged: message.acknowledged
|
|
35857
35918
|
},
|
|
35858
35919
|
index
|
|
35859
35920
|
)),
|
|
35860
|
-
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35921
|
+
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
|
|
35861
35922
|
] }) : null;
|
|
35862
35923
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35863
35924
|
AgentBarShell,
|
|
@@ -35999,7 +36060,7 @@ function ThreadSearch({ children, ResultsBoundary = chunkMZZ3SBQL_cjs.ErrorBound
|
|
|
35999
36060
|
[openConversation]
|
|
36000
36061
|
);
|
|
36001
36062
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
36002
|
-
|
|
36063
|
+
chunk56WWEK6I_cjs.ConversationSearchView,
|
|
36003
36064
|
{
|
|
36004
36065
|
query,
|
|
36005
36066
|
onQueryChange: setQuery,
|
|
@@ -36062,8 +36123,8 @@ function ConnectedThreadsPage({
|
|
|
36062
36123
|
const tasks = useStableRecencyOrder(listed);
|
|
36063
36124
|
const updateConversation = react.useUpdateConversation();
|
|
36064
36125
|
const deleteConversation = react.useDeleteConversation();
|
|
36065
|
-
const people =
|
|
36066
|
-
const renderPerson =
|
|
36126
|
+
const people = chunkBP5KBZLX_cjs.useTaskPeople();
|
|
36127
|
+
const renderPerson = chunkBP5KBZLX_cjs.useRenderTaskPerson();
|
|
36067
36128
|
const canEditShared = react.useCanEditShared();
|
|
36068
36129
|
const isWorkspaceOwner = react.useIsWorkspaceOwner();
|
|
36069
36130
|
const { data: agents = [] } = react.useAgents();
|
|
@@ -36301,7 +36362,7 @@ function ConnectedThreadsPage({
|
|
|
36301
36362
|
"data-testid": mode === "tasks" ? "tasks-page" : "threads-page",
|
|
36302
36363
|
children: [
|
|
36303
36364
|
/* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-0 flex-1 flex-col bg-background", children: mode === "threads" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
36304
|
-
|
|
36365
|
+
chunkDRUNPUDT_cjs.ConversationListView,
|
|
36305
36366
|
{
|
|
36306
36367
|
showHeader,
|
|
36307
36368
|
conversations: tasks,
|
|
@@ -36321,7 +36382,7 @@ function ConnectedThreadsPage({
|
|
|
36321
36382
|
renderLabels: threadLabels.renderLabels,
|
|
36322
36383
|
labelText: threadLabels.labelText,
|
|
36323
36384
|
renderBy: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
36324
|
-
|
|
36385
|
+
chunkDRUNPUDT_cjs.ConversationTurnSpeaker,
|
|
36325
36386
|
{
|
|
36326
36387
|
variant: "icon",
|
|
36327
36388
|
role: row2.last_message_role,
|
|
@@ -36343,7 +36404,7 @@ function ConnectedThreadsPage({
|
|
|
36343
36404
|
footer: /* @__PURE__ */ jsxRuntime.jsx(ConnectedThreadLauncher, { autoFocus: focusLauncher })
|
|
36344
36405
|
}
|
|
36345
36406
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
36346
|
-
|
|
36407
|
+
chunkDRUNPUDT_cjs.TaskInbox,
|
|
36347
36408
|
{
|
|
36348
36409
|
tasks,
|
|
36349
36410
|
isLoading,
|
|
@@ -36387,7 +36448,7 @@ function ConnectedThreadsPage({
|
|
|
36387
36448
|
initialParentId: parentForNew
|
|
36388
36449
|
}
|
|
36389
36450
|
),
|
|
36390
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36451
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkBP5KBZLX_cjs.ConnectedTaskComposer, { open: editorOpen, onOpenChange: setEditorOpen, task: editing }),
|
|
36391
36452
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36392
36453
|
ConnectedExportDialog,
|
|
36393
36454
|
{
|
|
@@ -36623,7 +36684,7 @@ function ConnectedConversationPage({
|
|
|
36623
36684
|
}
|
|
36624
36685
|
);
|
|
36625
36686
|
const { data: workspaceTags = [] } = react.useTags();
|
|
36626
|
-
const historyCount =
|
|
36687
|
+
const historyCount = chunkDRUNPUDT_cjs.filterConversationRows(
|
|
36627
36688
|
conversations,
|
|
36628
36689
|
threadFilter,
|
|
36629
36690
|
(row2) => workspaceTags.filter((tag) => row2.label_ext_ids?.includes(tag.external_id)).map((tag) => tag.name).join(" "),
|
|
@@ -36633,15 +36694,15 @@ function ConnectedConversationPage({
|
|
|
36633
36694
|
).length;
|
|
36634
36695
|
const historyFiltered = Boolean(threadFilter.trim()) || doneFilter !== null || meetingFilter !== null || Object.values(visibilityFilters).some(Boolean);
|
|
36635
36696
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
36636
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
36637
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
36697
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunk56WWEK6I_cjs.ConversationRoot, { children: [
|
|
36698
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunk56WWEK6I_cjs.ConversationHeader, { children: [
|
|
36638
36699
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36639
36700
|
ConnectedThreadTabs,
|
|
36640
36701
|
{
|
|
36641
36702
|
historyCount,
|
|
36642
36703
|
historyFiltered,
|
|
36643
36704
|
historyActions: threadFilterBox,
|
|
36644
|
-
rightContent: (isCompact) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
36705
|
+
rightContent: (isCompact) => /* @__PURE__ */ jsxRuntime.jsxs(chunk56WWEK6I_cjs.ConversationHeaderActions, { children: [
|
|
36645
36706
|
searchEnabled && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36646
36707
|
SemanticSearchButton,
|
|
36647
36708
|
{
|
|
@@ -36658,7 +36719,7 @@ function ConnectedConversationPage({
|
|
|
36658
36719
|
),
|
|
36659
36720
|
isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunk33PWCTND_cjs.ConnectedConversationCallActions, {}),
|
|
36660
36721
|
isInChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36661
|
-
|
|
36722
|
+
chunk56WWEK6I_cjs.NewChatButton,
|
|
36662
36723
|
{
|
|
36663
36724
|
entityLabel: "Task",
|
|
36664
36725
|
labels: { newEntity: () => "New Task" },
|
|
@@ -36669,11 +36730,11 @@ function ConnectedConversationPage({
|
|
|
36669
36730
|
}
|
|
36670
36731
|
}
|
|
36671
36732
|
),
|
|
36672
|
-
showPaMode && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36733
|
+
showPaMode && /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.NewPaChatButton, { isCompact, onClick: () => startNewChat() })
|
|
36673
36734
|
] })
|
|
36674
36735
|
}
|
|
36675
36736
|
),
|
|
36676
|
-
isInChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36737
|
+
isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunkBP5KBZLX_cjs.ConnectedThreadTaskBar, { conversationId: currentConversationId })
|
|
36677
36738
|
] }),
|
|
36678
36739
|
isInChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36679
36740
|
ConversationThread2,
|
|
@@ -36689,7 +36750,7 @@ function ConnectedConversationPage({
|
|
|
36689
36750
|
uploadDisabledReason
|
|
36690
36751
|
}) : composerAccessory,
|
|
36691
36752
|
composerTools: composerTools !== void 0 ? composerTools : isDeveloper && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36692
|
-
|
|
36753
|
+
chunk56WWEK6I_cjs.ConversationSettingsButton,
|
|
36693
36754
|
{
|
|
36694
36755
|
label: `${ui.getEntityLabel("CONVERSATION")} Settings`,
|
|
36695
36756
|
onClick: () => chunkGMM3RBIB_cjs.openDialog("conversationSettings")
|
|
@@ -36697,7 +36758,7 @@ function ConnectedConversationPage({
|
|
|
36697
36758
|
)
|
|
36698
36759
|
}
|
|
36699
36760
|
),
|
|
36700
|
-
!isInChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36761
|
+
!isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ConversationHistoryPane, { children: searchEnabled && semanticSearchOpen ? /* @__PURE__ */ jsxRuntime.jsx(ConnectedThreadsPage, { showHeader: false, search: true, ResultsBoundary }) : /* @__PURE__ */ jsxRuntime.jsx(ConnectedThreadsPage, { showHeader: false, focusLauncher }) })
|
|
36701
36762
|
] }),
|
|
36702
36763
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36703
36764
|
chunkVGNCU5JJ_cjs.UrlInputDialog,
|
|
@@ -37547,7 +37608,7 @@ function ConversationThread({
|
|
|
37547
37608
|
}, [isGenerating]);
|
|
37548
37609
|
const slashWorkflows = useSlashSkillWorkflows({ landing: "current-chat" });
|
|
37549
37610
|
const composerSkills = react$1.useMemo(
|
|
37550
|
-
() => ({ builtin:
|
|
37611
|
+
() => ({ builtin: chunkDRUNPUDT_cjs.BUILTIN_SKILLS, openFor: slashWorkflows.openFor }),
|
|
37551
37612
|
[slashWorkflows.openFor]
|
|
37552
37613
|
);
|
|
37553
37614
|
const browseSkills = react$1.useMemo(
|
|
@@ -37595,8 +37656,8 @@ function ConversationThread({
|
|
|
37595
37656
|
react.useAutoSendDraft(handleComposerSend, !isLoadingWorkspaceDocuments);
|
|
37596
37657
|
useStartRequestedDraft();
|
|
37597
37658
|
const orphanedMessage = react.getOrphanedLastMessage(messageHistory, isGenerating, assistantMode);
|
|
37598
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
37599
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
37659
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunk56WWEK6I_cjs.ConversationBody, { children: [
|
|
37660
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ConversationMain, { "data-testid": `conversation-${currentConversationId}`, children: threadsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.ConversationLoading, {}) : messageHistory.length > 0 || isBranching ? /* @__PURE__ */ jsxRuntime.jsx(chunkDJE2E7YH_cjs.AskAgainContext.Provider, { value: handleAskAgain, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkRGPKW6KQ_cjs.TranscriptRunsContext.Provider, { value: transcriptRunInfo, children: [
|
|
37600
37661
|
meetingCallExtId && transcriptLineCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center py-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
37601
37662
|
chunk3UGJCSTO_cjs.ConversationFilter,
|
|
37602
37663
|
{
|
|
@@ -37622,7 +37683,7 @@ function ConversationThread({
|
|
|
37622
37683
|
/* @__PURE__ */ jsxRuntime.jsx(chunk33PWCTND_cjs.CallConversationEmpty, { callExtId: meetingCallExtId }),
|
|
37623
37684
|
/* @__PURE__ */ jsxRuntime.jsx(chunk33PWCTND_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
|
|
37624
37685
|
] })
|
|
37625
|
-
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
37686
|
+
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(chunkDJE2E7YH_cjs.ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
37626
37687
|
ConnectedConversationEmpty,
|
|
37627
37688
|
{
|
|
37628
37689
|
hasDocuments: allWorkspaceDocuments.length > 0,
|
|
@@ -37665,7 +37726,7 @@ function ConversationThread({
|
|
|
37665
37726
|
}
|
|
37666
37727
|
) : null,
|
|
37667
37728
|
pendingAnswer && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37668
|
-
|
|
37729
|
+
chunk56WWEK6I_cjs.PendingAnswerBar,
|
|
37669
37730
|
{
|
|
37670
37731
|
question: pendingAnswer.request.question,
|
|
37671
37732
|
options: pendingAnswer.request.options,
|
|
@@ -37707,7 +37768,7 @@ function ConversationThread({
|
|
|
37707
37768
|
onBrowseSkills: browseSkills,
|
|
37708
37769
|
contextUsage: latestContextUsage,
|
|
37709
37770
|
isConversationEmpty: messageHistory.length === 0 && !isBranching,
|
|
37710
|
-
leftButton: paMode ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
37771
|
+
leftButton: paMode ? /* @__PURE__ */ jsxRuntime.jsx(chunk56WWEK6I_cjs.PaModeBadge, { icon: /* @__PURE__ */ jsxRuntime.jsx(react.ArbiBotHeadIcon, { size: 16, className: "shrink-0" }) }) : /* @__PURE__ */ jsxRuntime.jsxs(chunk56WWEK6I_cjs.ComposerAccessories, { children: [
|
|
37711
37772
|
composerAccessory,
|
|
37712
37773
|
threadDocument.unavailable ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
37713
37774
|
chunkWWFHS6EI_cjs.DraftingDocChip,
|
|
@@ -37731,7 +37792,7 @@ function ConversationThread({
|
|
|
37731
37792
|
}
|
|
37732
37793
|
)
|
|
37733
37794
|
] }),
|
|
37734
|
-
rightButton: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
37795
|
+
rightButton: /* @__PURE__ */ jsxRuntime.jsxs(chunk56WWEK6I_cjs.ComposerTools, { children: [
|
|
37735
37796
|
composerTools,
|
|
37736
37797
|
/* @__PURE__ */ jsxRuntime.jsx(MicButton, { inputRef }),
|
|
37737
37798
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -37997,7 +38058,7 @@ var sodiumWarmed = false;
|
|
|
37997
38058
|
function warmSodium() {
|
|
37998
38059
|
if (sodiumWarmed) return;
|
|
37999
38060
|
sodiumWarmed = true;
|
|
38000
|
-
const run = () => void
|
|
38061
|
+
const run = () => void chunkIXZCXK6Q_cjs.prefetchChunk(client.initSodium);
|
|
38001
38062
|
if (typeof window.requestIdleCallback === "function") window.requestIdleCallback(run);
|
|
38002
38063
|
else window.setTimeout(run, 200);
|
|
38003
38064
|
}
|
|
@@ -38601,7 +38662,7 @@ function SsoResendVerificationButton({
|
|
|
38601
38662
|
onClick: async () => handleResendEmailVerification(),
|
|
38602
38663
|
disabled: loading || disabled,
|
|
38603
38664
|
"aria-label": "Resend verification email",
|
|
38604
|
-
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
38665
|
+
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkRB54N5I7_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
38605
38666
|
"Didn't get a verification email? ",
|
|
38606
38667
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: "Resend" })
|
|
38607
38668
|
] })
|
|
@@ -39495,27 +39556,27 @@ function ConnectedOAuthConsentPage({
|
|
|
39495
39556
|
oauthErrorRedirect(params.redirectUri, params.state, "access_denied");
|
|
39496
39557
|
}
|
|
39497
39558
|
if (error && !params) {
|
|
39498
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39559
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
|
|
39499
39560
|
}
|
|
39500
39561
|
if (!params) {
|
|
39501
39562
|
return null;
|
|
39502
39563
|
}
|
|
39503
39564
|
if (clientInfo?.isLocalAgentFlow) {
|
|
39504
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39565
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_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." }) });
|
|
39505
39566
|
}
|
|
39506
39567
|
if (!isAuthenticated2) {
|
|
39507
39568
|
return null;
|
|
39508
39569
|
}
|
|
39509
39570
|
if (callbackUrl) {
|
|
39510
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39511
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
39571
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkDRUNPUDT_cjs.ConsentCard, { size: "md", children: [
|
|
39572
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkDRUNPUDT_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
|
|
39512
39573
|
"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",
|
|
39513
39574
|
" ",
|
|
39514
39575
|
copied ? "it's already copied to your clipboard." : "copy it first."
|
|
39515
39576
|
] }),
|
|
39516
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
39517
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39518
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
39577
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkDRUNPUDT_cjs.ConsentSection, { title: "Callback URL", children: [
|
|
39578
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
|
|
39579
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkDRUNPUDT_cjs.ConsentText, { variant: "hint", children: [
|
|
39519
39580
|
"In Claude Code, paste the URL at the prompt that says",
|
|
39520
39581
|
" ",
|
|
39521
39582
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-foreground", children: '"paste the full redirect URL here"' }),
|
|
@@ -39524,17 +39585,17 @@ function ConnectedOAuthConsentPage({
|
|
|
39524
39585
|
] })
|
|
39525
39586
|
] }) });
|
|
39526
39587
|
}
|
|
39527
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39528
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
39529
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39588
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkDRUNPUDT_cjs.ConsentCard, { children: [
|
|
39589
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkDRUNPUDT_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
|
|
39590
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
|
|
39530
39591
|
" is requesting access to your ",
|
|
39531
39592
|
appName,
|
|
39532
39593
|
" workspace."
|
|
39533
39594
|
] }),
|
|
39534
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39535
|
-
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
39536
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39537
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39595
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentPermissionList, { items: permissions }) }),
|
|
39596
|
+
error && /* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentNotice, { tone: "error", children: error }),
|
|
39597
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
|
|
39598
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDRUNPUDT_cjs.ConsentFootnote, { children: footnote })
|
|
39538
39599
|
] }) });
|
|
39539
39600
|
}
|
|
39540
39601
|
function ConnectedSharedFilesPage({
|
|
@@ -39712,7 +39773,7 @@ function ConnectedPanelHost({
|
|
|
39712
39773
|
onClose();
|
|
39713
39774
|
}, [onClose]);
|
|
39714
39775
|
const setFocusedArea = react.useArbiSessionStore().setFocusedArea;
|
|
39715
|
-
const { popoutTitle } =
|
|
39776
|
+
const { popoutTitle } = chunkIXZCXK6Q_cjs.usePanelHostSupport();
|
|
39716
39777
|
const focusedArea = react.useArbiSessionState((s) => s.shell.focusedArea);
|
|
39717
39778
|
const handlePanelFocus = react$1.useCallback(() => {
|
|
39718
39779
|
setFocusedArea(panelId);
|
|
@@ -39745,7 +39806,7 @@ function ConnectedPanelHost({
|
|
|
39745
39806
|
}, [isExiting]);
|
|
39746
39807
|
if (!isOpen && !isExiting) return null;
|
|
39747
39808
|
const modeSwitcher = /* @__PURE__ */ jsxRuntime.jsx(
|
|
39748
|
-
|
|
39809
|
+
chunkIXZCXK6Q_cjs.PanelModeSwitcher,
|
|
39749
39810
|
{
|
|
39750
39811
|
mode,
|
|
39751
39812
|
onModeChange: setPanelMode,
|
|
@@ -39771,7 +39832,7 @@ function ConnectedPanelHost({
|
|
|
39771
39832
|
}
|
|
39772
39833
|
);
|
|
39773
39834
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39774
|
-
|
|
39835
|
+
chunkIXZCXK6Q_cjs.PanelPortal,
|
|
39775
39836
|
{
|
|
39776
39837
|
defaultWidth,
|
|
39777
39838
|
panelId,
|
|
@@ -39810,7 +39871,7 @@ function ConnectedAppShell({
|
|
|
39810
39871
|
const session = react.useArbiSessionStore();
|
|
39811
39872
|
const dockedPanel = react.useArbiSessionState((state) => state.shell.panels.docked);
|
|
39812
39873
|
const dockSqueezed = chunkFX3K6LNZ_cjs.useMediaQuery(sidebarPolicy?.dockedRailQuery ?? "(max-width: 0px)");
|
|
39813
|
-
const sidebar =
|
|
39874
|
+
const sidebar = chunkIXZCXK6Q_cjs.useSidebarController({
|
|
39814
39875
|
...useSessionSidebar(),
|
|
39815
39876
|
forceRail: !!sidebarPolicy?.dockedRailQuery && dockSqueezed && dockedPanel !== null,
|
|
39816
39877
|
hoverExpansion: sidebarPolicy?.hoverExpansion
|
|
@@ -39821,9 +39882,9 @@ function ConnectedAppShell({
|
|
|
39821
39882
|
}, [navigationKey, closeDrawer]);
|
|
39822
39883
|
const controller = { sidebar };
|
|
39823
39884
|
const renderSlot = (slot) => typeof slot === "function" ? slot(controller) : slot;
|
|
39824
|
-
const pageContent = /* @__PURE__ */ jsxRuntime.jsx(
|
|
39885
|
+
const pageContent = /* @__PURE__ */ jsxRuntime.jsx(chunkGMGEAWFX_cjs.PageContainer, { ...page, children });
|
|
39825
39886
|
return /* @__PURE__ */ jsxRuntime.jsx(AppShellContext.Provider, { value: controller, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
39826
|
-
|
|
39887
|
+
chunkGMGEAWFX_cjs.Shell.Root,
|
|
39827
39888
|
{
|
|
39828
39889
|
...rootProps,
|
|
39829
39890
|
banner: renderSlot(banner),
|
|
@@ -39833,14 +39894,14 @@ function ConnectedAppShell({
|
|
|
39833
39894
|
aside: renderSlot(aside),
|
|
39834
39895
|
overlays: renderSlot(overlays),
|
|
39835
39896
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
39836
|
-
|
|
39897
|
+
chunkGMGEAWFX_cjs.Shell.Content,
|
|
39837
39898
|
{
|
|
39838
39899
|
...contentProps,
|
|
39839
39900
|
onClick: (event) => {
|
|
39840
39901
|
if (focusMainOnClick) session.setFocusedArea("main");
|
|
39841
39902
|
contentProps?.onClick?.(event);
|
|
39842
39903
|
},
|
|
39843
|
-
children: content.mode === "docked" ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
39904
|
+
children: content.mode === "docked" ? /* @__PURE__ */ jsxRuntime.jsxs(chunkIXZCXK6Q_cjs.DockZone, { "data-testid": content.testId, children: [
|
|
39844
39905
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: content.mainPanelVisible ? "hidden" : "h-full min-h-0", children: pageContent }),
|
|
39845
39906
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39846
39907
|
"div",
|
|
@@ -39859,10 +39920,10 @@ function useContextualHints() {
|
|
|
39859
39920
|
const session = react.useArbiSessionStore();
|
|
39860
39921
|
const { data: userSettings } = react.useUserSettings();
|
|
39861
39922
|
const updateUserSettings = react.useUpdateUserSettings();
|
|
39862
|
-
const [sessionOverride] = react.useTransientView(
|
|
39863
|
-
const setShowHints = (value) =>
|
|
39923
|
+
const [sessionOverride] = react.useTransientView(chunkRB54N5I7_cjs.TIPS_VISIBILITY_OVERRIDE, null);
|
|
39924
|
+
const setShowHints = (value) => chunkRB54N5I7_cjs.setHintsSessionOverride(session, value);
|
|
39864
39925
|
const setShowHintsPersisted = (value) => {
|
|
39865
|
-
|
|
39926
|
+
chunkRB54N5I7_cjs.setHintsSessionOverride(session, null);
|
|
39866
39927
|
updateUserSettings.mutate({ show_hints: value });
|
|
39867
39928
|
};
|
|
39868
39929
|
return {
|
|
@@ -39874,6 +39935,218 @@ function useContextualHints() {
|
|
|
39874
39935
|
dismissHints: () => setShowHints(false)
|
|
39875
39936
|
};
|
|
39876
39937
|
}
|
|
39938
|
+
var DEFAULT_TIPS_OFF_LABEL = "Tips are off. Turn them back on from your account menu.";
|
|
39939
|
+
function ConnectedTipBar({
|
|
39940
|
+
registry,
|
|
39941
|
+
context,
|
|
39942
|
+
state,
|
|
39943
|
+
onCta,
|
|
39944
|
+
autoRotateSeconds = 30,
|
|
39945
|
+
onDismiss,
|
|
39946
|
+
renderEditor,
|
|
39947
|
+
labels,
|
|
39948
|
+
className
|
|
39949
|
+
}) {
|
|
39950
|
+
const { showHints, settingsLoaded, setShowHintsPersisted } = useContextualHints();
|
|
39951
|
+
const { dismissed, dismissTip } = react.useDismissedTips();
|
|
39952
|
+
const { notify: notify16 } = chunkT6GRWWRY_cjs.useBlocksEnvironment();
|
|
39953
|
+
const { data: workspaces } = react.useWorkspaces();
|
|
39954
|
+
const workspaceOpen = react.useArbiSessionState((session) => !!session.workspaceId);
|
|
39955
|
+
const [editing, setEditing] = react$1.useState(false);
|
|
39956
|
+
const situation = {
|
|
39957
|
+
workspaceCount: workspaces?.length ?? 0,
|
|
39958
|
+
workspaceOpen,
|
|
39959
|
+
...state
|
|
39960
|
+
};
|
|
39961
|
+
const { tip, index, count: count2, previous, next, onHoverChange } = chunkRB54N5I7_cjs.useTipsPlacement({
|
|
39962
|
+
registry,
|
|
39963
|
+
context,
|
|
39964
|
+
state: situation,
|
|
39965
|
+
dismissed,
|
|
39966
|
+
autoRotateSeconds
|
|
39967
|
+
});
|
|
39968
|
+
if (!settingsLoaded || !showHints || !tip) return null;
|
|
39969
|
+
const takeCta = (shown) => () => {
|
|
39970
|
+
if (shown.cta !== void 0) onCta?.(shown.cta);
|
|
39971
|
+
if (shown.dismissOnCta) dismissTip(shown.code);
|
|
39972
|
+
};
|
|
39973
|
+
const dismiss = onDismiss ?? (() => {
|
|
39974
|
+
setShowHintsPersisted(false);
|
|
39975
|
+
notify16(labels?.tipsOff ?? DEFAULT_TIPS_OFF_LABEL, "info");
|
|
39976
|
+
});
|
|
39977
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
39978
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39979
|
+
chunkIXZCXK6Q_cjs.TipCard,
|
|
39980
|
+
{
|
|
39981
|
+
message: tip.message,
|
|
39982
|
+
index,
|
|
39983
|
+
count: count2,
|
|
39984
|
+
onPrev: previous,
|
|
39985
|
+
onNext: next,
|
|
39986
|
+
onCta: tip.cta !== void 0 ? takeCta(tip) : void 0,
|
|
39987
|
+
onDismiss: dismiss,
|
|
39988
|
+
onEdit: renderEditor ? () => setEditing(true) : void 0,
|
|
39989
|
+
onHoverChange,
|
|
39990
|
+
labels,
|
|
39991
|
+
className
|
|
39992
|
+
}
|
|
39993
|
+
),
|
|
39994
|
+
renderEditor?.({ context, open: editing, onOpenChange: setEditing })
|
|
39995
|
+
] });
|
|
39996
|
+
}
|
|
39997
|
+
var GETTING_STARTED_DONE_TIP = "GS_DONE";
|
|
39998
|
+
var DEFAULT_GETTING_STARTED_STEPS = {
|
|
39999
|
+
workspace: {
|
|
40000
|
+
title: "Create your workspace",
|
|
40001
|
+
description: () => "Click \u201C+ Workspace\u201D on the home screen."
|
|
40002
|
+
},
|
|
40003
|
+
upload: {
|
|
40004
|
+
title: "Upload a document",
|
|
40005
|
+
description: (inWorkspace) => inWorkspace ? "Add a file under \u201CFiles\u201D." : "Open a workspace, then add a file under \u201CFiles\u201D."
|
|
40006
|
+
},
|
|
40007
|
+
ask: {
|
|
40008
|
+
title: "Ask a question",
|
|
40009
|
+
description: (inWorkspace) => inWorkspace ? "Open \u201CThreads\u201D and ask a question." : "In a workspace, open \u201CThreads\u201D and ask a question."
|
|
40010
|
+
},
|
|
40011
|
+
invite: {
|
|
40012
|
+
title: "Invite a colleague",
|
|
40013
|
+
description: (inWorkspace) => inWorkspace ? "Invite someone from the members section." : "Open a workspace\u2019s members to invite someone."
|
|
40014
|
+
}
|
|
40015
|
+
};
|
|
40016
|
+
var NO_TIPS = [];
|
|
40017
|
+
function useGettingStarted({
|
|
40018
|
+
steps: stepCopy,
|
|
40019
|
+
retireTipsOnComplete = NO_TIPS
|
|
40020
|
+
} = {}) {
|
|
40021
|
+
const { user } = react.useArbiSession();
|
|
40022
|
+
const userExtId = user?.external_id;
|
|
40023
|
+
const temporaryOnly = user?.temporary_access_only === true;
|
|
40024
|
+
const { showHints, settingsLoaded, setShowHints, setShowHintsPersisted } = useContextualHints();
|
|
40025
|
+
const { dismissed, loaded: dismissedLoaded, dismissTip } = react.useDismissedTips();
|
|
40026
|
+
const welcomeJourneyEnabled = react.useFeature("welcomeJourney");
|
|
40027
|
+
const session = react.useArbiSessionStore();
|
|
40028
|
+
const [replayView] = react.useTransientView(chunkRB54N5I7_cjs.WELCOME_REPLAY_VIEW, false);
|
|
40029
|
+
const welcomeReplay = replayView === true;
|
|
40030
|
+
const welcomeDialogOpen = chunkGMM3RBIB_cjs.useDialogProps("welcome") !== null;
|
|
40031
|
+
const inWorkspace = react.useArbiSessionState((s) => !!s.workspaceId && s.workspaceStatus === "open");
|
|
40032
|
+
const { data: workspaces, isLoading: workspacesLoading } = react.useWorkspaces();
|
|
40033
|
+
const { data: projects, isLoading: projectsLoading } = react.useProjects();
|
|
40034
|
+
const isLoading = workspacesLoading || projectsLoading;
|
|
40035
|
+
const counts = react$1.useMemo(() => {
|
|
40036
|
+
const ownedWorkspaces = (workspaces ?? []).filter((w) => w.created_by_ext_id === userExtId);
|
|
40037
|
+
const ownedProjects = (projects ?? []).filter((p) => p.created_by === userExtId);
|
|
40038
|
+
const docCount = (w) => (w.shared_document_count ?? 0) + (w.private_document_count ?? 0);
|
|
40039
|
+
const convCount = (w) => (w.shared_conversation_count ?? 0) + (w.private_conversation_count ?? 0);
|
|
40040
|
+
const used = (q) => (q?.used ?? 0) > 0;
|
|
40041
|
+
return {
|
|
40042
|
+
workspace: ownedWorkspaces.length,
|
|
40043
|
+
upload: ownedWorkspaces.reduce((n, w) => n + docCount(w), 0),
|
|
40044
|
+
ask: ownedWorkspaces.reduce((n, w) => n + convCount(w), 0),
|
|
40045
|
+
invite: ownedProjects.reduce((n, p) => n + (p.quotas?.collaborators?.used ?? 0), 0),
|
|
40046
|
+
hasUploadedProj: ownedProjects.some((p) => used(p.quotas?.storage_gb)),
|
|
40047
|
+
hasAskedProj: ownedProjects.some((p) => used(p.quotas?.ai_usage))
|
|
40048
|
+
};
|
|
40049
|
+
}, [workspaces, projects, userExtId]);
|
|
40050
|
+
const wasReplaying = react$1.useRef(false);
|
|
40051
|
+
const replayBaseline = react$1.useRef(null);
|
|
40052
|
+
if (welcomeReplay && !wasReplaying.current) {
|
|
40053
|
+
replayBaseline.current = counts;
|
|
40054
|
+
} else if (!welcomeReplay) {
|
|
40055
|
+
replayBaseline.current = null;
|
|
40056
|
+
}
|
|
40057
|
+
wasReplaying.current = welcomeReplay;
|
|
40058
|
+
const steps = react$1.useMemo(() => {
|
|
40059
|
+
const baseline = replayBaseline.current;
|
|
40060
|
+
const reallyDone = {
|
|
40061
|
+
workspace: counts.workspace > 0,
|
|
40062
|
+
upload: counts.upload > 0 || counts.hasUploadedProj,
|
|
40063
|
+
ask: counts.ask > 0 || counts.hasAskedProj,
|
|
40064
|
+
invite: counts.invite > 0
|
|
40065
|
+
};
|
|
40066
|
+
const done = baseline ? {
|
|
40067
|
+
workspace: counts.workspace > baseline.workspace,
|
|
40068
|
+
upload: counts.upload > baseline.upload || counts.hasUploadedProj && !baseline.hasUploadedProj,
|
|
40069
|
+
ask: counts.ask > baseline.ask || counts.hasAskedProj && !baseline.hasAskedProj,
|
|
40070
|
+
invite: counts.invite > baseline.invite
|
|
40071
|
+
} : reallyDone;
|
|
40072
|
+
const step = (id, optional) => {
|
|
40073
|
+
const copy = { ...DEFAULT_GETTING_STARTED_STEPS[id], ...stepCopy?.[id] };
|
|
40074
|
+
return {
|
|
40075
|
+
id,
|
|
40076
|
+
title: copy.title,
|
|
40077
|
+
description: copy.description(inWorkspace),
|
|
40078
|
+
done: done[id],
|
|
40079
|
+
...optional ? { optional } : {}
|
|
40080
|
+
};
|
|
40081
|
+
};
|
|
40082
|
+
return [step("workspace"), step("upload"), step("ask"), step("invite", true)];
|
|
40083
|
+
}, [counts, inWorkspace, welcomeReplay, stepCopy]);
|
|
40084
|
+
const coreSteps = steps.filter((s) => !s.optional);
|
|
40085
|
+
const completedCore = coreSteps.filter((s) => s.done).length;
|
|
40086
|
+
const totalCore = coreSteps.length;
|
|
40087
|
+
const allCoreComplete = completedCore === totalCore;
|
|
40088
|
+
const completionAcked = dismissed.includes(GETTING_STARTED_DONE_TIP);
|
|
40089
|
+
const retiredTips = react$1.useRef(false);
|
|
40090
|
+
const retireKey = retireTipsOnComplete.join("\n");
|
|
40091
|
+
react$1.useEffect(() => {
|
|
40092
|
+
if (retiredTips.current) return;
|
|
40093
|
+
if (!dismissedLoaded || isLoading || !allCoreComplete) return;
|
|
40094
|
+
const toRetire = retireKey ? retireKey.split("\n") : [];
|
|
40095
|
+
const pending = toRetire.filter((code) => !dismissed.includes(code));
|
|
40096
|
+
if (pending.length === 0) return;
|
|
40097
|
+
retiredTips.current = true;
|
|
40098
|
+
pending.forEach((code) => dismissTip(code));
|
|
40099
|
+
}, [isLoading, allCoreComplete, dismissed, dismissedLoaded, dismissTip, retireKey]);
|
|
40100
|
+
const enabled = welcomeJourneyEnabled && !temporaryOnly;
|
|
40101
|
+
const isVisible = enabled && (welcomeReplay || !isLoading && settingsLoaded && showHints && !welcomeDialogOpen && (!allCoreComplete || !completionAcked));
|
|
40102
|
+
const isPending = enabled && !welcomeReplay && (isLoading || !settingsLoaded || welcomeDialogOpen);
|
|
40103
|
+
return {
|
|
40104
|
+
steps,
|
|
40105
|
+
completedCore,
|
|
40106
|
+
totalCore,
|
|
40107
|
+
allCoreComplete,
|
|
40108
|
+
isVisible,
|
|
40109
|
+
isPending,
|
|
40110
|
+
isReplay: welcomeReplay,
|
|
40111
|
+
dismiss: () => {
|
|
40112
|
+
if (allCoreComplete) dismissTip(GETTING_STARTED_DONE_TIP);
|
|
40113
|
+
if (welcomeReplay) {
|
|
40114
|
+
session.setTransientView(chunkRB54N5I7_cjs.WELCOME_REPLAY_VIEW, void 0);
|
|
40115
|
+
return;
|
|
40116
|
+
}
|
|
40117
|
+
if (allCoreComplete) return;
|
|
40118
|
+
setShowHintsPersisted(false);
|
|
40119
|
+
setShowHints(false);
|
|
40120
|
+
}
|
|
40121
|
+
};
|
|
40122
|
+
}
|
|
40123
|
+
function ConnectedGettingStarted({
|
|
40124
|
+
logo,
|
|
40125
|
+
labels,
|
|
40126
|
+
fallback = null,
|
|
40127
|
+
className,
|
|
40128
|
+
...options2
|
|
40129
|
+
}) {
|
|
40130
|
+
const { steps, allCoreComplete, isVisible, isPending, isReplay, dismiss } = useGettingStarted(options2);
|
|
40131
|
+
const firstName = react.useArbiSession().user?.given_name?.trim();
|
|
40132
|
+
if (!isVisible) return isPending ? null : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: fallback });
|
|
40133
|
+
const coreSteps = steps.filter((s) => !s.optional);
|
|
40134
|
+
const currentStep = coreSteps.find((s) => !s.done);
|
|
40135
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
40136
|
+
chunkZ4KXF7WS_cjs.GettingStartedStrip,
|
|
40137
|
+
{
|
|
40138
|
+
steps: coreSteps,
|
|
40139
|
+
currentStepId: currentStep?.id,
|
|
40140
|
+
firstName,
|
|
40141
|
+
isReplay,
|
|
40142
|
+
isComplete: allCoreComplete,
|
|
40143
|
+
onDismiss: dismiss,
|
|
40144
|
+
logo,
|
|
40145
|
+
labels,
|
|
40146
|
+
className
|
|
40147
|
+
}
|
|
40148
|
+
);
|
|
40149
|
+
}
|
|
39877
40150
|
var CHROME_EXTENSION_PATH = "/downloads/arbi-chrome.zip";
|
|
39878
40151
|
var CHROME_INSTALL_STEPS = [
|
|
39879
40152
|
"Download the extension kit and extract the ZIP to a folder.",
|
|
@@ -40034,123 +40307,123 @@ Object.defineProperty(exports, "useMemberLookup", {
|
|
|
40034
40307
|
});
|
|
40035
40308
|
Object.defineProperty(exports, "ConnectedAssistantDock", {
|
|
40036
40309
|
enumerable: true,
|
|
40037
|
-
get: function () { return
|
|
40310
|
+
get: function () { return chunkBFIHXDO6_cjs.ConnectedAssistantDock; }
|
|
40038
40311
|
});
|
|
40039
40312
|
Object.defineProperty(exports, "redlineStats", {
|
|
40040
40313
|
enumerable: true,
|
|
40041
|
-
get: function () { return
|
|
40314
|
+
get: function () { return chunkBFIHXDO6_cjs.redlineStats; }
|
|
40042
40315
|
});
|
|
40043
40316
|
Object.defineProperty(exports, "textToArtifact", {
|
|
40044
40317
|
enumerable: true,
|
|
40045
|
-
get: function () { return
|
|
40318
|
+
get: function () { return chunkBFIHXDO6_cjs.textToArtifact; }
|
|
40046
40319
|
});
|
|
40047
40320
|
Object.defineProperty(exports, "toRedlineMarkdown", {
|
|
40048
40321
|
enumerable: true,
|
|
40049
|
-
get: function () { return
|
|
40322
|
+
get: function () { return chunkBFIHXDO6_cjs.toRedlineMarkdown; }
|
|
40050
40323
|
});
|
|
40051
40324
|
Object.defineProperty(exports, "useConnectedAiTask", {
|
|
40052
40325
|
enumerable: true,
|
|
40053
|
-
get: function () { return
|
|
40326
|
+
get: function () { return chunkBFIHXDO6_cjs.useConnectedAiTask; }
|
|
40054
40327
|
});
|
|
40055
40328
|
Object.defineProperty(exports, "useConnectedChat", {
|
|
40056
40329
|
enumerable: true,
|
|
40057
|
-
get: function () { return
|
|
40330
|
+
get: function () { return chunkBFIHXDO6_cjs.useConnectedChat; }
|
|
40058
40331
|
});
|
|
40059
40332
|
Object.defineProperty(exports, "useSemanticSearch", {
|
|
40060
40333
|
enumerable: true,
|
|
40061
|
-
get: function () { return
|
|
40334
|
+
get: function () { return chunkBFIHXDO6_cjs.useSemanticSearch; }
|
|
40062
40335
|
});
|
|
40063
40336
|
Object.defineProperty(exports, "useWorkspaceDocs", {
|
|
40064
40337
|
enumerable: true,
|
|
40065
|
-
get: function () { return
|
|
40338
|
+
get: function () { return chunkBFIHXDO6_cjs.useWorkspaceDocs; }
|
|
40066
40339
|
});
|
|
40067
40340
|
Object.defineProperty(exports, "ConnectedTaskActivityDialog", {
|
|
40068
40341
|
enumerable: true,
|
|
40069
|
-
get: function () { return
|
|
40342
|
+
get: function () { return chunkBP5KBZLX_cjs.ConnectedTaskActivityDialog; }
|
|
40070
40343
|
});
|
|
40071
40344
|
Object.defineProperty(exports, "ConnectedTaskComposer", {
|
|
40072
40345
|
enumerable: true,
|
|
40073
|
-
get: function () { return
|
|
40346
|
+
get: function () { return chunkBP5KBZLX_cjs.ConnectedTaskComposer; }
|
|
40074
40347
|
});
|
|
40075
40348
|
Object.defineProperty(exports, "ConnectedThreadTaskBar", {
|
|
40076
40349
|
enumerable: true,
|
|
40077
|
-
get: function () { return
|
|
40350
|
+
get: function () { return chunkBP5KBZLX_cjs.ConnectedThreadTaskBar; }
|
|
40078
40351
|
});
|
|
40079
40352
|
Object.defineProperty(exports, "ConnectedWorkflowHistory", {
|
|
40080
40353
|
enumerable: true,
|
|
40081
|
-
get: function () { return
|
|
40354
|
+
get: function () { return chunkBP5KBZLX_cjs.ConnectedWorkflowHistory; }
|
|
40082
40355
|
});
|
|
40083
40356
|
Object.defineProperty(exports, "ConnectedWorkflowRunner", {
|
|
40084
40357
|
enumerable: true,
|
|
40085
|
-
get: function () { return
|
|
40358
|
+
get: function () { return chunkBP5KBZLX_cjs.ConnectedWorkflowRunner; }
|
|
40086
40359
|
});
|
|
40087
40360
|
Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS", {
|
|
40088
40361
|
enumerable: true,
|
|
40089
|
-
get: function () { return
|
|
40362
|
+
get: function () { return chunkBP5KBZLX_cjs.DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS; }
|
|
40090
40363
|
});
|
|
40091
40364
|
Object.defineProperty(exports, "DEFAULT_WORKFLOW_RUN_PAGE_LABELS", {
|
|
40092
40365
|
enumerable: true,
|
|
40093
|
-
get: function () { return
|
|
40366
|
+
get: function () { return chunkBP5KBZLX_cjs.DEFAULT_WORKFLOW_RUN_PAGE_LABELS; }
|
|
40094
40367
|
});
|
|
40095
40368
|
Object.defineProperty(exports, "WorkflowRunThread", {
|
|
40096
40369
|
enumerable: true,
|
|
40097
|
-
get: function () { return
|
|
40370
|
+
get: function () { return chunkBP5KBZLX_cjs.WorkflowRunThread; }
|
|
40098
40371
|
});
|
|
40099
40372
|
Object.defineProperty(exports, "WorkflowRunWorkspaceChangedError", {
|
|
40100
40373
|
enumerable: true,
|
|
40101
|
-
get: function () { return
|
|
40374
|
+
get: function () { return chunkBP5KBZLX_cjs.WorkflowRunWorkspaceChangedError; }
|
|
40102
40375
|
});
|
|
40103
40376
|
Object.defineProperty(exports, "buildProjectSummaries", {
|
|
40104
40377
|
enumerable: true,
|
|
40105
|
-
get: function () { return
|
|
40378
|
+
get: function () { return chunkBP5KBZLX_cjs.buildProjectSummaries; }
|
|
40106
40379
|
});
|
|
40107
40380
|
Object.defineProperty(exports, "primaryProjectWorkspace", {
|
|
40108
40381
|
enumerable: true,
|
|
40109
|
-
get: function () { return
|
|
40382
|
+
get: function () { return chunkBP5KBZLX_cjs.primaryProjectWorkspace; }
|
|
40110
40383
|
});
|
|
40111
40384
|
Object.defineProperty(exports, "useEnsureRequiredLabels", {
|
|
40112
40385
|
enumerable: true,
|
|
40113
|
-
get: function () { return
|
|
40386
|
+
get: function () { return chunkBP5KBZLX_cjs.useEnsureRequiredLabels; }
|
|
40114
40387
|
});
|
|
40115
40388
|
Object.defineProperty(exports, "useProjectSummaries", {
|
|
40116
40389
|
enumerable: true,
|
|
40117
|
-
get: function () { return
|
|
40390
|
+
get: function () { return chunkBP5KBZLX_cjs.useProjectSummaries; }
|
|
40118
40391
|
});
|
|
40119
40392
|
Object.defineProperty(exports, "useProjectSummary", {
|
|
40120
40393
|
enumerable: true,
|
|
40121
|
-
get: function () { return
|
|
40394
|
+
get: function () { return chunkBP5KBZLX_cjs.useProjectSummary; }
|
|
40122
40395
|
});
|
|
40123
40396
|
Object.defineProperty(exports, "useRenderTaskPerson", {
|
|
40124
40397
|
enumerable: true,
|
|
40125
|
-
get: function () { return
|
|
40398
|
+
get: function () { return chunkBP5KBZLX_cjs.useRenderTaskPerson; }
|
|
40126
40399
|
});
|
|
40127
40400
|
Object.defineProperty(exports, "useRequiredLabels", {
|
|
40128
40401
|
enumerable: true,
|
|
40129
|
-
get: function () { return
|
|
40402
|
+
get: function () { return chunkBP5KBZLX_cjs.useRequiredLabels; }
|
|
40130
40403
|
});
|
|
40131
40404
|
Object.defineProperty(exports, "useSkillsEnabled", {
|
|
40132
40405
|
enumerable: true,
|
|
40133
|
-
get: function () { return
|
|
40406
|
+
get: function () { return chunkBP5KBZLX_cjs.useSkillsEnabled; }
|
|
40134
40407
|
});
|
|
40135
40408
|
Object.defineProperty(exports, "useTaskPeople", {
|
|
40136
40409
|
enumerable: true,
|
|
40137
|
-
get: function () { return
|
|
40410
|
+
get: function () { return chunkBP5KBZLX_cjs.useTaskPeople; }
|
|
40138
40411
|
});
|
|
40139
40412
|
Object.defineProperty(exports, "useWorkflowDefinitions", {
|
|
40140
40413
|
enumerable: true,
|
|
40141
|
-
get: function () { return
|
|
40414
|
+
get: function () { return chunkBP5KBZLX_cjs.useWorkflowDefinitions; }
|
|
40142
40415
|
});
|
|
40143
40416
|
Object.defineProperty(exports, "useWorkflowTasks", {
|
|
40144
40417
|
enumerable: true,
|
|
40145
|
-
get: function () { return
|
|
40418
|
+
get: function () { return chunkBP5KBZLX_cjs.useWorkflowTasks; }
|
|
40146
40419
|
});
|
|
40147
40420
|
Object.defineProperty(exports, "useWorkflowsPageState", {
|
|
40148
40421
|
enumerable: true,
|
|
40149
|
-
get: function () { return
|
|
40422
|
+
get: function () { return chunkBP5KBZLX_cjs.useWorkflowsPageState; }
|
|
40150
40423
|
});
|
|
40151
40424
|
Object.defineProperty(exports, "workflowRunView", {
|
|
40152
40425
|
enumerable: true,
|
|
40153
|
-
get: function () { return
|
|
40426
|
+
get: function () { return chunkBP5KBZLX_cjs.workflowRunView; }
|
|
40154
40427
|
});
|
|
40155
40428
|
Object.defineProperty(exports, "FILES_PREFS_KEY", {
|
|
40156
40429
|
enumerable: true,
|
|
@@ -40620,6 +40893,7 @@ exports.ConnectedFilesExplorer = ConnectedFilesExplorer;
|
|
|
40620
40893
|
exports.ConnectedFilesPage = ConnectedFilesPage;
|
|
40621
40894
|
exports.ConnectedFilterDropdown = ConnectedFilterDropdown;
|
|
40622
40895
|
exports.ConnectedForgotPassword = ConnectedForgotPassword;
|
|
40896
|
+
exports.ConnectedGettingStarted = ConnectedGettingStarted;
|
|
40623
40897
|
exports.ConnectedGlobalDialogs = ConnectedGlobalDialogs;
|
|
40624
40898
|
exports.ConnectedGrantWorkspaceAccessDialog = ConnectedGrantWorkspaceAccessDialog;
|
|
40625
40899
|
exports.ConnectedGridView = ConnectedGridView;
|
|
@@ -40687,6 +40961,7 @@ exports.ConnectedThreadFollow = ConnectedThreadFollow;
|
|
|
40687
40961
|
exports.ConnectedThreadLauncher = ConnectedThreadLauncher;
|
|
40688
40962
|
exports.ConnectedThreadTabs = ConnectedThreadTabs;
|
|
40689
40963
|
exports.ConnectedThreadsPage = ConnectedThreadsPage;
|
|
40964
|
+
exports.ConnectedTipBar = ConnectedTipBar;
|
|
40690
40965
|
exports.ConnectedTransferWatcher = ConnectedTransferWatcher;
|
|
40691
40966
|
exports.ConnectedUnarchiveWorkspaceDialog = ConnectedUnarchiveWorkspaceDialog;
|
|
40692
40967
|
exports.ConnectedUpcomingEvents = ConnectedUpcomingEvents;
|
|
@@ -40715,6 +40990,7 @@ exports.DEFAULT_CONNECTED_AGENTS_PAGE_LABELS = DEFAULT_CONNECTED_AGENTS_PAGE_LAB
|
|
|
40715
40990
|
exports.DEFAULT_CONNECTED_SEARCH_PAGE_LABELS = DEFAULT_CONNECTED_SEARCH_PAGE_LABELS;
|
|
40716
40991
|
exports.DEFAULT_CONNECTED_SKILLS_BROWSER_LABELS = DEFAULT_CONNECTED_SKILLS_BROWSER_LABELS;
|
|
40717
40992
|
exports.DEFAULT_CONNECTED_SKILL_UPLOAD_LABELS = DEFAULT_CONNECTED_SKILL_UPLOAD_LABELS;
|
|
40993
|
+
exports.DEFAULT_GETTING_STARTED_STEPS = DEFAULT_GETTING_STARTED_STEPS;
|
|
40718
40994
|
exports.DEFAULT_OAUTH_PERMISSIONS = DEFAULT_OAUTH_PERMISSIONS;
|
|
40719
40995
|
exports.DEFAULT_PROJECTS_LIST_LABELS = DEFAULT_PROJECTS_LIST_LABELS;
|
|
40720
40996
|
exports.DEFAULT_PROJECT_DETAILS_LABELS = DEFAULT_PROJECT_DETAILS_LABELS;
|
|
@@ -40725,6 +41001,7 @@ exports.DEFAULT_SEARCH_FIELDS = DEFAULT_SEARCH_FIELDS;
|
|
|
40725
41001
|
exports.DEFAULT_SEARCH_ROW_LABELS = DEFAULT_SEARCH_ROW_LABELS;
|
|
40726
41002
|
exports.DEFAULT_SETTINGS_SECTIONS = DEFAULT_SETTINGS_SECTIONS;
|
|
40727
41003
|
exports.DEFAULT_TIMELINE_LABEL_WIDTH = DEFAULT_TIMELINE_LABEL_WIDTH;
|
|
41004
|
+
exports.DEFAULT_TIPS_OFF_LABEL = DEFAULT_TIPS_OFF_LABEL;
|
|
40728
41005
|
exports.DEFAULT_WORKSPACE_LIST_LABELS = DEFAULT_WORKSPACE_LIST_LABELS;
|
|
40729
41006
|
exports.DeveloperFooter = DeveloperFooter;
|
|
40730
41007
|
exports.DocumentsFilterBarActions = DocumentsFilterBarActions;
|
|
@@ -40732,6 +41009,7 @@ exports.DocumentsUploadButton = DocumentsUploadButton;
|
|
|
40732
41009
|
exports.EmptyWorkspaceUpload = EmptyWorkspaceUpload;
|
|
40733
41010
|
exports.FACTS_GRID_ID = FACTS_GRID_ID;
|
|
40734
41011
|
exports.FIRST_LOGIN_WORKSPACES_VIEW = FIRST_LOGIN_WORKSPACES_VIEW;
|
|
41012
|
+
exports.GETTING_STARTED_DONE_TIP = GETTING_STARTED_DONE_TIP;
|
|
40735
41013
|
exports.INVITATION_ROW_FILTERS = INVITATION_ROW_FILTERS;
|
|
40736
41014
|
exports.INVITE_SECTION = INVITE_SECTION;
|
|
40737
41015
|
exports.ImportVcfButton = ImportVcfButton;
|
|
@@ -40777,6 +41055,7 @@ exports.TILE_MAX = TILE_MAX;
|
|
|
40777
41055
|
exports.TILE_MIN = TILE_MIN;
|
|
40778
41056
|
exports.ThreadSwitcher = ThreadSwitcher;
|
|
40779
41057
|
exports.ViewSelector = ViewSelector;
|
|
41058
|
+
exports.WELCOME_DIALOG_SESSION_KEY = WELCOME_DIALOG_SESSION_KEY;
|
|
40780
41059
|
exports.WORKSPACES_TAB_ID = WORKSPACES_TAB_ID;
|
|
40781
41060
|
exports.WorkflowLaunchHost = WorkflowLaunchHost;
|
|
40782
41061
|
exports.WorkflowRunStatusCell = WorkflowRunStatusCell;
|
|
@@ -40835,6 +41114,7 @@ exports.reviewAccessRequest = reviewAccessRequest;
|
|
|
40835
41114
|
exports.reviewProgress = reviewProgress;
|
|
40836
41115
|
exports.shareEventCall = shareEventCall;
|
|
40837
41116
|
exports.showDocumentPlace = showDocumentPlace;
|
|
41117
|
+
exports.skipWelcomeDialogThisSession = skipWelcomeDialogThisSession;
|
|
40838
41118
|
exports.storageSettingsSection = storageSettingsSection;
|
|
40839
41119
|
exports.suppliedKinds = suppliedKinds;
|
|
40840
41120
|
exports.threadStateOf = threadStateOf;
|
|
@@ -40862,6 +41142,7 @@ exports.useDocumentGridSync = useDocumentGridSync;
|
|
|
40862
41142
|
exports.useDocumentNavigation = useDocumentNavigation;
|
|
40863
41143
|
exports.useDocumentTable = useDocumentTable;
|
|
40864
41144
|
exports.useExportStore = useExportStore;
|
|
41145
|
+
exports.useGettingStarted = useGettingStarted;
|
|
40865
41146
|
exports.useHasAccountsImport = useHasAccountsImport;
|
|
40866
41147
|
exports.useInstallSkillPackOnSignIn = useInstallSkillPackOnSignIn;
|
|
40867
41148
|
exports.useInvitationRows = useInvitationRows;
|