@arbidocs/blocks 0.5.52 → 0.5.53
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/{ConnectedNativeDocxComparison-E3J2DKJU.js → ConnectedNativeDocxComparison-URPACTBQ.js} +8 -8
- package/dist/{ConnectedStreamedWordArtifact-OLTI5TGZ.js.map → ConnectedNativeDocxComparison-URPACTBQ.js.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-B3PXV6QS.cjs → ConnectedNativeDocxComparison-YROKRZOV.cjs} +9 -9
- package/dist/{ConnectedNativeDocxComparison-B3PXV6QS.cjs.map → ConnectedNativeDocxComparison-YROKRZOV.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-USZ2EO3T.js → ConnectedNativeDocxEditor-A3F2QISR.js} +7 -7
- package/dist/{ConnectedNativeDocxEditor-USZ2EO3T.js.map → ConnectedNativeDocxEditor-A3F2QISR.js.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-3ZQQ3IKM.cjs → ConnectedNativeDocxEditor-MJ3LAXTF.cjs} +9 -9
- package/dist/{ConnectedNativeDocxEditor-3ZQQ3IKM.cjs.map → ConnectedNativeDocxEditor-MJ3LAXTF.cjs.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-OLTI5TGZ.js → ConnectedStreamedWordArtifact-GQWYYVT5.js} +8 -8
- package/dist/{ConnectedNativeDocxComparison-E3J2DKJU.js.map → ConnectedStreamedWordArtifact-GQWYYVT5.js.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-WP7XISA3.cjs → ConnectedStreamedWordArtifact-KPVL377Z.cjs} +9 -9
- package/dist/ConnectedStreamedWordArtifact-KPVL377Z.cjs.map +1 -0
- package/dist/{DocumentReviewCard-WHDZA46J.cjs → DocumentReviewCard-IWQFZO3X.cjs} +3 -3
- package/dist/{DocumentReviewCard-WHDZA46J.cjs.map → DocumentReviewCard-IWQFZO3X.cjs.map} +1 -1
- package/dist/{DocumentReviewCard-PZFDQMLX.js → DocumentReviewCard-TBU56QQG.js} +3 -3
- package/dist/{DocumentReviewCard-PZFDQMLX.js.map → DocumentReviewCard-TBU56QQG.js.map} +1 -1
- package/dist/WorkspaceTableView-4DZ4YODA.js +1 -1
- package/dist/WorkspaceTableView-XHEVFCRP.cjs +1 -1
- package/dist/agents/index.cjs +335 -335
- package/dist/agents/index.js +5 -5
- package/dist/calls/index.cjs +1 -1
- package/dist/calls/index.js +1 -1
- package/dist/{chunk-ED4TE7XG.cjs → chunk-2DRTKD2W.cjs} +7 -7
- package/dist/{chunk-ED4TE7XG.cjs.map → chunk-2DRTKD2W.cjs.map} +1 -1
- package/dist/{chunk-PEBVG2FZ.cjs → chunk-2KQH2Z6Y.cjs} +4 -4
- package/dist/{chunk-PEBVG2FZ.cjs.map → chunk-2KQH2Z6Y.cjs.map} +1 -1
- package/dist/{chunk-JA45SE3Q.js → chunk-2SAVSXZF.js} +3 -3
- package/dist/{chunk-JA45SE3Q.js.map → chunk-2SAVSXZF.js.map} +1 -1
- package/dist/{chunk-JS7KJRKG.js → chunk-75Z5AUMM.js} +3 -3
- package/dist/{chunk-JS7KJRKG.js.map → chunk-75Z5AUMM.js.map} +1 -1
- package/dist/{chunk-NX2RTI3E.js → chunk-7WMEKKX5.js} +3 -3
- package/dist/{chunk-NX2RTI3E.js.map → chunk-7WMEKKX5.js.map} +1 -1
- package/dist/{chunk-WADQ6T5Q.js → chunk-BAKRM5XB.js} +3 -3
- package/dist/{chunk-WADQ6T5Q.js.map → chunk-BAKRM5XB.js.map} +1 -1
- package/dist/{chunk-JJ3BM4O4.js → chunk-FCHIMF7Q.js} +3 -3
- package/dist/{chunk-JJ3BM4O4.js.map → chunk-FCHIMF7Q.js.map} +1 -1
- package/dist/{chunk-YIPMYI7I.cjs → chunk-JEXP72GJ.cjs} +4 -4
- package/dist/{chunk-YIPMYI7I.cjs.map → chunk-JEXP72GJ.cjs.map} +1 -1
- package/dist/{chunk-P35R4CNF.js → chunk-KOKGEFSE.js} +4 -4
- package/dist/{chunk-P35R4CNF.js.map → chunk-KOKGEFSE.js.map} +1 -1
- package/dist/{chunk-UIGZHXIA.js → chunk-LXQGAYUZ.js} +6 -6
- package/dist/{chunk-UIGZHXIA.js.map → chunk-LXQGAYUZ.js.map} +1 -1
- package/dist/{chunk-O56XBFEC.js → chunk-MGHRGZPH.js} +4 -4
- package/dist/{chunk-O56XBFEC.js.map → chunk-MGHRGZPH.js.map} +1 -1
- package/dist/{chunk-PC3RCNCQ.js → chunk-O7KU7QW2.js} +4 -4
- package/dist/{chunk-PC3RCNCQ.js.map → chunk-O7KU7QW2.js.map} +1 -1
- package/dist/{chunk-Q5MGOAZW.cjs → chunk-PTNV3TT5.cjs} +36 -36
- package/dist/{chunk-Q5MGOAZW.cjs.map → chunk-PTNV3TT5.cjs.map} +1 -1
- package/dist/{chunk-FCOP4ZJD.cjs → chunk-R3247EN3.cjs} +13 -13
- package/dist/{chunk-FCOP4ZJD.cjs.map → chunk-R3247EN3.cjs.map} +1 -1
- package/dist/{chunk-BKILOHZ3.cjs → chunk-ST6ELFDF.cjs} +4 -4
- package/dist/{chunk-BKILOHZ3.cjs.map → chunk-ST6ELFDF.cjs.map} +1 -1
- package/dist/{chunk-6ODV5TIC.cjs → chunk-VGFU6JFI.cjs} +5 -5
- package/dist/{chunk-6ODV5TIC.cjs.map → chunk-VGFU6JFI.cjs.map} +1 -1
- package/dist/{chunk-TXJK77YJ.js → chunk-VT3TOWWF.js} +3 -3
- package/dist/{chunk-TXJK77YJ.js.map → chunk-VT3TOWWF.js.map} +1 -1
- package/dist/{chunk-22WFFNYY.cjs → chunk-VVNG7LMP.cjs} +18 -18
- package/dist/{chunk-22WFFNYY.cjs.map → chunk-VVNG7LMP.cjs.map} +1 -1
- package/dist/{chunk-N5CKIKQB.cjs → chunk-WHJMV6TX.cjs} +10 -10
- package/dist/{chunk-N5CKIKQB.cjs.map → chunk-WHJMV6TX.cjs.map} +1 -1
- package/dist/{chunk-F72ZD5Q2.cjs → chunk-YD3RN2FY.cjs} +3 -3
- package/dist/{chunk-F72ZD5Q2.cjs.map → chunk-YD3RN2FY.cjs.map} +1 -1
- package/dist/connect/docx.cjs +11 -11
- package/dist/connect/docx.js +7 -7
- package/dist/connect/index.cjs +279 -279
- package/dist/connect/index.js +15 -15
- package/dist/connect/viewer.cjs +4 -4
- package/dist/connect/viewer.js +4 -4
- package/dist/connection/facts/useFactFilters.d.ts +10 -1
- package/dist/facts/index.cjs +55 -55
- package/dist/facts/index.js +3 -3
- package/dist/index.cjs +400 -400
- package/dist/index.js +7 -7
- package/dist/settings/index.cjs +1 -1
- package/dist/settings/index.js +1 -1
- package/dist/workflow-canvas/index.cjs +30 -30
- package/dist/workflow-canvas/index.js +8 -8
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ConnectedStreamedWordArtifact-WP7XISA3.cjs.map +0 -1
package/dist/connect/index.cjs
CHANGED
|
@@ -3,20 +3,20 @@
|
|
|
3
3
|
|
|
4
4
|
var chunkRH6HTLVS_cjs = require('../chunk-RH6HTLVS.cjs');
|
|
5
5
|
var chunkQECV3AFL_cjs = require('../chunk-QECV3AFL.cjs');
|
|
6
|
-
var
|
|
6
|
+
var chunkPTNV3TT5_cjs = require('../chunk-PTNV3TT5.cjs');
|
|
7
7
|
var chunkDZWO5JAG_cjs = require('../chunk-DZWO5JAG.cjs');
|
|
8
8
|
var chunkJL4KG6QA_cjs = require('../chunk-JL4KG6QA.cjs');
|
|
9
9
|
var chunkKWJW5TMH_cjs = require('../chunk-KWJW5TMH.cjs');
|
|
10
10
|
var chunkPSIKUQYM_cjs = require('../chunk-PSIKUQYM.cjs');
|
|
11
|
-
var
|
|
11
|
+
var chunkYD3RN2FY_cjs = require('../chunk-YD3RN2FY.cjs');
|
|
12
12
|
var chunkWSOBLKDY_cjs = require('../chunk-WSOBLKDY.cjs');
|
|
13
13
|
var chunkOU3RGQFX_cjs = require('../chunk-OU3RGQFX.cjs');
|
|
14
14
|
require('../chunk-REH7PX3N.cjs');
|
|
15
15
|
require('../chunk-H32DV7XS.cjs');
|
|
16
16
|
var chunkFEVJA4BP_cjs = require('../chunk-FEVJA4BP.cjs');
|
|
17
17
|
var chunkIJPNLKXR_cjs = require('../chunk-IJPNLKXR.cjs');
|
|
18
|
-
var
|
|
19
|
-
var
|
|
18
|
+
var chunk2DRTKD2W_cjs = require('../chunk-2DRTKD2W.cjs');
|
|
19
|
+
var chunkWHJMV6TX_cjs = require('../chunk-WHJMV6TX.cjs');
|
|
20
20
|
var chunkA2UBFIY5_cjs = require('../chunk-A2UBFIY5.cjs');
|
|
21
21
|
var chunk6XEFUJTT_cjs = require('../chunk-6XEFUJTT.cjs');
|
|
22
22
|
var chunk2WLXQGWC_cjs = require('../chunk-2WLXQGWC.cjs');
|
|
@@ -29,7 +29,7 @@ var chunk464YPRAE_cjs = require('../chunk-464YPRAE.cjs');
|
|
|
29
29
|
var chunkPICGTGEB_cjs = require('../chunk-PICGTGEB.cjs');
|
|
30
30
|
var chunk5FYU7ZIU_cjs = require('../chunk-5FYU7ZIU.cjs');
|
|
31
31
|
require('../chunk-ZESMRGDV.cjs');
|
|
32
|
-
var
|
|
32
|
+
var chunkVGFU6JFI_cjs = require('../chunk-VGFU6JFI.cjs');
|
|
33
33
|
var chunkTMX7YFVM_cjs = require('../chunk-TMX7YFVM.cjs');
|
|
34
34
|
require('../chunk-QXNEXPUL.cjs');
|
|
35
35
|
var chunkC2ECYOPP_cjs = require('../chunk-C2ECYOPP.cjs');
|
|
@@ -52,9 +52,9 @@ require('../chunk-VLCY46K6.cjs');
|
|
|
52
52
|
require('../chunk-D54JXTPG.cjs');
|
|
53
53
|
var chunkJIOHDVWH_cjs = require('../chunk-JIOHDVWH.cjs');
|
|
54
54
|
var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
|
|
55
|
-
var
|
|
55
|
+
var chunkR3247EN3_cjs = require('../chunk-R3247EN3.cjs');
|
|
56
56
|
var chunkRFIBUWLF_cjs = require('../chunk-RFIBUWLF.cjs');
|
|
57
|
-
var
|
|
57
|
+
var chunkJEXP72GJ_cjs = require('../chunk-JEXP72GJ.cjs');
|
|
58
58
|
var chunkM36TROAF_cjs = require('../chunk-M36TROAF.cjs');
|
|
59
59
|
var chunkAQPZ4QMV_cjs = require('../chunk-AQPZ4QMV.cjs');
|
|
60
60
|
require('../chunk-SIB6C7P7.cjs');
|
|
@@ -67,17 +67,17 @@ var chunkLKK52DEY_cjs = require('../chunk-LKK52DEY.cjs');
|
|
|
67
67
|
var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
|
|
68
68
|
var chunkBYJUI4AT_cjs = require('../chunk-BYJUI4AT.cjs');
|
|
69
69
|
var chunkCG757WKY_cjs = require('../chunk-CG757WKY.cjs');
|
|
70
|
+
var chunkW3PSIIMN_cjs = require('../chunk-W3PSIIMN.cjs');
|
|
71
|
+
var chunkQUMUAJ2P_cjs = require('../chunk-QUMUAJ2P.cjs');
|
|
72
|
+
var chunkVZOOGA47_cjs = require('../chunk-VZOOGA47.cjs');
|
|
70
73
|
var chunkGUJD7R6U_cjs = require('../chunk-GUJD7R6U.cjs');
|
|
71
74
|
var chunkQPZDJVNY_cjs = require('../chunk-QPZDJVNY.cjs');
|
|
72
75
|
var chunkOWZNSOQN_cjs = require('../chunk-OWZNSOQN.cjs');
|
|
73
76
|
var chunkH3ZMAU77_cjs = require('../chunk-H3ZMAU77.cjs');
|
|
74
77
|
var chunkMOIZ2R5X_cjs = require('../chunk-MOIZ2R5X.cjs');
|
|
75
78
|
var chunkLUO46ELJ_cjs = require('../chunk-LUO46ELJ.cjs');
|
|
76
|
-
var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
|
|
77
79
|
var chunkMEMWZ72Y_cjs = require('../chunk-MEMWZ72Y.cjs');
|
|
78
|
-
var
|
|
79
|
-
var chunkQUMUAJ2P_cjs = require('../chunk-QUMUAJ2P.cjs');
|
|
80
|
-
var chunkVZOOGA47_cjs = require('../chunk-VZOOGA47.cjs');
|
|
80
|
+
var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
|
|
81
81
|
var chunkMFUEOTZQ_cjs = require('../chunk-MFUEOTZQ.cjs');
|
|
82
82
|
var chunkU4CPZAMQ_cjs = require('../chunk-U4CPZAMQ.cjs');
|
|
83
83
|
var chunkZ2XZ2D4N_cjs = require('../chunk-Z2XZ2D4N.cjs');
|
|
@@ -395,7 +395,7 @@ function ConnectedWorkspaceActivity({
|
|
|
395
395
|
[feed.data]
|
|
396
396
|
);
|
|
397
397
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
398
|
-
|
|
398
|
+
chunkVGFU6JFI_cjs.WorkspaceActivityList,
|
|
399
399
|
{
|
|
400
400
|
...listProps,
|
|
401
401
|
items,
|
|
@@ -1440,7 +1440,7 @@ function ConnectedWorkspaceNotificationMenu({
|
|
|
1440
1440
|
}, [error, notify18]);
|
|
1441
1441
|
if (!workspaceId) return null;
|
|
1442
1442
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1443
|
-
|
|
1443
|
+
chunkVGFU6JFI_cjs.WorkspaceNotificationMenu,
|
|
1444
1444
|
{
|
|
1445
1445
|
...menuProps,
|
|
1446
1446
|
level,
|
|
@@ -1459,7 +1459,7 @@ function ConnectedThreadFollow({
|
|
|
1459
1459
|
enabled: live
|
|
1460
1460
|
});
|
|
1461
1461
|
if (!conversationId) return null;
|
|
1462
|
-
const Control = as === "menu-item" ?
|
|
1462
|
+
const Control = as === "menu-item" ? chunkVGFU6JFI_cjs.ThreadFollowMenuItem : chunkVGFU6JFI_cjs.ThreadFollowButton;
|
|
1463
1463
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1464
1464
|
Control,
|
|
1465
1465
|
{
|
|
@@ -1532,7 +1532,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1532
1532
|
onChange: (e) => {
|
|
1533
1533
|
const file = e.target.files?.[0];
|
|
1534
1534
|
e.target.value = "";
|
|
1535
|
-
if (file) void add(() =>
|
|
1535
|
+
if (file) void add(() => chunkR3247EN3_cjs.importSkillFile(file));
|
|
1536
1536
|
}
|
|
1537
1537
|
}
|
|
1538
1538
|
),
|
|
@@ -1557,7 +1557,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1557
1557
|
className: "space-y-2",
|
|
1558
1558
|
onSubmit: (e) => {
|
|
1559
1559
|
e.preventDefault();
|
|
1560
|
-
if (url.trim()) void add(() =>
|
|
1560
|
+
if (url.trim()) void add(() => chunkR3247EN3_cjs.importSkillFromUrl(url));
|
|
1561
1561
|
},
|
|
1562
1562
|
children: [
|
|
1563
1563
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
|
|
@@ -1620,9 +1620,9 @@ function ConnectedSkillsLibrary({
|
|
|
1620
1620
|
const [type, setType] = React9.useState("all");
|
|
1621
1621
|
const [view, setView] = React9.useState("gallery");
|
|
1622
1622
|
const [isBusy, setIsBusy] = React9.useState(false);
|
|
1623
|
-
const all = React9.useMemo(() =>
|
|
1623
|
+
const all = React9.useMemo(() => chunkR3247EN3_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
|
|
1624
1624
|
const shown = React9.useMemo(
|
|
1625
|
-
() =>
|
|
1625
|
+
() => chunkR3247EN3_cjs.filterLibrarySkills(all, { query, source, type }),
|
|
1626
1626
|
[all, query, source, type]
|
|
1627
1627
|
);
|
|
1628
1628
|
const current = all.find((s) => s.slug === selected) ?? null;
|
|
@@ -1633,21 +1633,21 @@ function ConnectedSkillsLibrary({
|
|
|
1633
1633
|
const count2 = (s) => all.filter((x) => x.source === s).length;
|
|
1634
1634
|
const sourceOptions = [
|
|
1635
1635
|
{ id: "all", label: "All", count: all.length },
|
|
1636
|
-
{ id: "builtin", label:
|
|
1637
|
-
{ id: "mine", label:
|
|
1638
|
-
{ id: "shared", label:
|
|
1636
|
+
{ id: "builtin", label: chunkR3247EN3_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
|
|
1637
|
+
{ id: "mine", label: chunkR3247EN3_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
|
|
1638
|
+
{ id: "shared", label: chunkR3247EN3_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
|
|
1639
1639
|
];
|
|
1640
1640
|
const types = [...new Set(all.map((s) => s.type))];
|
|
1641
1641
|
const typeOptions = [
|
|
1642
1642
|
{ id: "all", label: "Any kind" },
|
|
1643
|
-
...types.map((t) => ({ id: t, label:
|
|
1643
|
+
...types.map((t) => ({ id: t, label: chunkR3247EN3_cjs.SKILL_TYPE_LABELS[t] ?? t }))
|
|
1644
1644
|
];
|
|
1645
1645
|
const pick = (slug) => {
|
|
1646
1646
|
setSelected(slug);
|
|
1647
1647
|
setMode("detail");
|
|
1648
1648
|
};
|
|
1649
1649
|
const markdownOf = async (skill) => {
|
|
1650
|
-
if (!skill.docExtId) return
|
|
1650
|
+
if (!skill.docExtId) return chunkR3247EN3_cjs.workflowToSkillMarkdown(skill.workflow);
|
|
1651
1651
|
const response = await arbi.documents.download(skill.docExtId);
|
|
1652
1652
|
if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
|
|
1653
1653
|
return response.text();
|
|
@@ -1711,7 +1711,7 @@ function ConnectedSkillsLibrary({
|
|
|
1711
1711
|
try {
|
|
1712
1712
|
documentTools.downloadBlob(
|
|
1713
1713
|
new Blob([await markdownOf(skill)], { type: "text/markdown" }),
|
|
1714
|
-
|
|
1714
|
+
chunkR3247EN3_cjs.SKILL_MAIN_FILENAME
|
|
1715
1715
|
);
|
|
1716
1716
|
} catch (error) {
|
|
1717
1717
|
notify18(errorText(error, "Could not export the skill"), "error");
|
|
@@ -1752,10 +1752,10 @@ function ConnectedSkillsLibrary({
|
|
|
1752
1752
|
}
|
|
1753
1753
|
)
|
|
1754
1754
|
] }),
|
|
1755
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1755
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.SkillViewToggle, { value: view, onChange: setView })
|
|
1756
1756
|
] }),
|
|
1757
1757
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1758
|
-
|
|
1758
|
+
chunkR3247EN3_cjs.SkillFilterChips,
|
|
1759
1759
|
{
|
|
1760
1760
|
label: "Show",
|
|
1761
1761
|
value: source,
|
|
@@ -1764,7 +1764,7 @@ function ConnectedSkillsLibrary({
|
|
|
1764
1764
|
}
|
|
1765
1765
|
),
|
|
1766
1766
|
types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1767
|
-
|
|
1767
|
+
chunkR3247EN3_cjs.SkillFilterChips,
|
|
1768
1768
|
{
|
|
1769
1769
|
label: "Kind",
|
|
1770
1770
|
value: type,
|
|
@@ -1811,12 +1811,12 @@ function ConnectedSkillsLibrary({
|
|
|
1811
1811
|
view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
|
|
1812
1812
|
),
|
|
1813
1813
|
children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1814
|
-
|
|
1814
|
+
chunkR3247EN3_cjs.SkillTile,
|
|
1815
1815
|
{
|
|
1816
1816
|
name: skill.title,
|
|
1817
1817
|
testId: `skill-tile-${skill.slug}`,
|
|
1818
1818
|
description: skill.description,
|
|
1819
|
-
sourceLabel: skill.isShared ? `${
|
|
1819
|
+
sourceLabel: skill.isShared ? `${chunkR3247EN3_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkR3247EN3_cjs.SKILL_SOURCE_LABELS[skill.source],
|
|
1820
1820
|
type: skill.type,
|
|
1821
1821
|
icon,
|
|
1822
1822
|
layout: view,
|
|
@@ -1851,7 +1851,7 @@ function ConnectedSkillsLibrary({
|
|
|
1851
1851
|
}
|
|
1852
1852
|
),
|
|
1853
1853
|
mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1854
|
-
|
|
1854
|
+
chunkR3247EN3_cjs.SkillGenerateForm,
|
|
1855
1855
|
{
|
|
1856
1856
|
icon,
|
|
1857
1857
|
onGenerate: (desc) => {
|
|
@@ -1878,11 +1878,11 @@ function ConnectedSkillsLibrary({
|
|
|
1878
1878
|
),
|
|
1879
1879
|
mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
|
|
1880
1880
|
mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1881
|
-
|
|
1881
|
+
chunkR3247EN3_cjs.SkillLibraryDetail,
|
|
1882
1882
|
{
|
|
1883
1883
|
skill: current,
|
|
1884
1884
|
icon,
|
|
1885
|
-
instructions: current.docExtId ? currentText ?
|
|
1885
|
+
instructions: current.docExtId ? currentText ? chunkR3247EN3_cjs.parseSkillFrontmatter(currentText, chunkR3247EN3_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
|
|
1886
1886
|
isLoading: !!current.docExtId && textLoading,
|
|
1887
1887
|
actions: {
|
|
1888
1888
|
onRun: () => onRun(current.slug),
|
|
@@ -1917,7 +1917,7 @@ function SkillEditor({
|
|
|
1917
1917
|
const [seeded, setSeeded] = React9.useState(!isEditing);
|
|
1918
1918
|
const [nameError, setNameError] = React9.useState(null);
|
|
1919
1919
|
if (isEditing && !seeded && text2 !== void 0) {
|
|
1920
|
-
const parsed =
|
|
1920
|
+
const parsed = chunkR3247EN3_cjs.parseSkillFrontmatter(text2, chunkR3247EN3_cjs.SKILL_MAIN_FILENAME);
|
|
1921
1921
|
setDescription(parsed.description ?? "");
|
|
1922
1922
|
setBody(parsed.content ?? "");
|
|
1923
1923
|
setSeeded(true);
|
|
@@ -1931,15 +1931,15 @@ function SkillEditor({
|
|
|
1931
1931
|
notify18("Add a short description.", "error");
|
|
1932
1932
|
return;
|
|
1933
1933
|
}
|
|
1934
|
-
const slug =
|
|
1934
|
+
const slug = chunkR3247EN3_cjs.skillSlug(name);
|
|
1935
1935
|
try {
|
|
1936
|
-
await onSave(slug,
|
|
1936
|
+
await onSave(slug, chunkR3247EN3_cjs.serializeSkill({ name: slug, description, body }), isEditing);
|
|
1937
1937
|
} catch (err) {
|
|
1938
1938
|
notify18(errorText(err, "Could not save the skill"), "error");
|
|
1939
1939
|
}
|
|
1940
1940
|
};
|
|
1941
1941
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1942
|
-
|
|
1942
|
+
chunkR3247EN3_cjs.SkillEditForm,
|
|
1943
1943
|
{
|
|
1944
1944
|
name,
|
|
1945
1945
|
onNameChange: setName,
|
|
@@ -1975,9 +1975,9 @@ function ConnectedAgentCreator({
|
|
|
1975
1975
|
agent,
|
|
1976
1976
|
initialName,
|
|
1977
1977
|
onSaved,
|
|
1978
|
-
capabilities =
|
|
1979
|
-
templates =
|
|
1980
|
-
types =
|
|
1978
|
+
capabilities = chunkR3247EN3_cjs.DEFAULT_AGENT_CAPABILITIES,
|
|
1979
|
+
templates = chunkR3247EN3_cjs.DEFAULT_AGENT_TEMPLATES,
|
|
1980
|
+
types = chunkR3247EN3_cjs.DEFAULT_AGENT_TYPES,
|
|
1981
1981
|
canRevokeWorkspaces = false,
|
|
1982
1982
|
labels
|
|
1983
1983
|
}) {
|
|
@@ -2019,7 +2019,7 @@ function ConnectedAgentCreator({
|
|
|
2019
2019
|
const initialValues = React9.useMemo(
|
|
2020
2020
|
() => ({
|
|
2021
2021
|
name: agent?.given_name ?? initialName ?? "",
|
|
2022
|
-
persona: isEdit ?
|
|
2022
|
+
persona: isEdit ? chunkR3247EN3_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
|
|
2023
2023
|
modelName: String(agents.AGENT_MODEL_NAME ?? ""),
|
|
2024
2024
|
capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
|
|
2025
2025
|
type: "builtin",
|
|
@@ -2038,7 +2038,7 @@ function ConnectedAgentCreator({
|
|
|
2038
2038
|
try {
|
|
2039
2039
|
let agentExtId = agent?.external_id ?? early?.id ?? "";
|
|
2040
2040
|
if (!agentExtId) {
|
|
2041
|
-
if (!
|
|
2041
|
+
if (!chunkR3247EN3_cjs.isValidAgentName(values.name)) {
|
|
2042
2042
|
notify18("Give the agent a name first.", "error");
|
|
2043
2043
|
return;
|
|
2044
2044
|
}
|
|
@@ -2074,7 +2074,7 @@ function ConnectedAgentCreator({
|
|
|
2074
2074
|
title: `agent-${name}`,
|
|
2075
2075
|
sections: {
|
|
2076
2076
|
Agents: {
|
|
2077
|
-
PERSONA:
|
|
2077
|
+
PERSONA: chunkR3247EN3_cjs.composePersona(name, values.persona),
|
|
2078
2078
|
...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
|
|
2079
2079
|
...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
|
|
2080
2080
|
ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
|
|
@@ -2097,7 +2097,7 @@ function ConnectedAgentCreator({
|
|
|
2097
2097
|
};
|
|
2098
2098
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2099
2099
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2100
|
-
|
|
2100
|
+
chunkR3247EN3_cjs.AgentCreator,
|
|
2101
2101
|
{
|
|
2102
2102
|
open: ready,
|
|
2103
2103
|
onOpenChange,
|
|
@@ -2113,11 +2113,11 @@ function ConnectedAgentCreator({
|
|
|
2113
2113
|
) : void 0,
|
|
2114
2114
|
revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
|
|
2115
2115
|
avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2116
|
-
|
|
2116
|
+
chunkR3247EN3_cjs.AgentAvatarField,
|
|
2117
2117
|
{
|
|
2118
2118
|
picture,
|
|
2119
2119
|
isBusy: avatarBusy,
|
|
2120
|
-
canGenerate: isEdit ||
|
|
2120
|
+
canGenerate: isEdit || chunkR3247EN3_cjs.isValidAgentName(values.name),
|
|
2121
2121
|
onGenerate: () => handleGenerateAvatar(values)
|
|
2122
2122
|
}
|
|
2123
2123
|
),
|
|
@@ -2169,7 +2169,7 @@ function ConnectedAgentCreator({
|
|
|
2169
2169
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
|
|
2170
2170
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
|
|
2171
2171
|
] }),
|
|
2172
|
-
connect && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2172
|
+
connect && /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
|
|
2173
2173
|
]
|
|
2174
2174
|
}
|
|
2175
2175
|
) })
|
|
@@ -2376,7 +2376,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
2376
2376
|
);
|
|
2377
2377
|
const conversation = conversations.data?.find((c) => c.external_id === threadId);
|
|
2378
2378
|
const steps = React9.useMemo(
|
|
2379
|
-
() => chunkSMQIYEOL_cjs.workflowSteps(workflow).length > 0 ? chunkSMQIYEOL_cjs.workflowSteps(workflow) :
|
|
2379
|
+
() => chunkSMQIYEOL_cjs.workflowSteps(workflow).length > 0 ? chunkSMQIYEOL_cjs.workflowSteps(workflow) : chunkR3247EN3_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
|
|
2380
2380
|
[workflow, conversation?.plan?.steps]
|
|
2381
2381
|
);
|
|
2382
2382
|
const activity = react.useConversationActivity(threadId, { live: !!threadId });
|
|
@@ -2436,7 +2436,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
2436
2436
|
criteria: [],
|
|
2437
2437
|
max_passes: 3,
|
|
2438
2438
|
documents: [],
|
|
2439
|
-
steps:
|
|
2439
|
+
steps: chunkR3247EN3_cjs.toPlanSteps(workflow, {
|
|
2440
2440
|
inputs: values,
|
|
2441
2441
|
resolveWorkflow: options2.resolveWorkflow,
|
|
2442
2442
|
compose: options2.compose
|
|
@@ -2523,7 +2523,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
2523
2523
|
const anyRunning = Object.values(states).some((s) => s.status === "running");
|
|
2524
2524
|
const needsStart = !threadId || idle && !anyRunning;
|
|
2525
2525
|
const runError = idle ? conversation?.last_error ?? null : null;
|
|
2526
|
-
const view =
|
|
2526
|
+
const view = chunkR3247EN3_cjs.useWorkflowView({
|
|
2527
2527
|
steps,
|
|
2528
2528
|
states,
|
|
2529
2529
|
inputs,
|
|
@@ -2689,7 +2689,7 @@ function WorkflowWordDialog({
|
|
|
2689
2689
|
title: title ?? labels.wordTitle,
|
|
2690
2690
|
size: "xl",
|
|
2691
2691
|
testId: "workflow-word-dialog",
|
|
2692
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2692
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunk2DRTKD2W_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
|
|
2693
2693
|
}
|
|
2694
2694
|
);
|
|
2695
2695
|
}
|
|
@@ -3011,7 +3011,7 @@ function ConnectedWorkflowRunner({
|
|
|
3011
3011
|
);
|
|
3012
3012
|
};
|
|
3013
3013
|
const runner = (compact) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3014
|
-
|
|
3014
|
+
chunkR3247EN3_cjs.WorkflowRunner,
|
|
3015
3015
|
{
|
|
3016
3016
|
people,
|
|
3017
3017
|
...runnerProps,
|
|
@@ -3057,7 +3057,7 @@ function ConnectedWorkflowRunner({
|
|
|
3057
3057
|
) }),
|
|
3058
3058
|
inThread && conversationId ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3059
3059
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3060
|
-
|
|
3060
|
+
chunkR3247EN3_cjs.WorkflowStepBar,
|
|
3061
3061
|
{
|
|
3062
3062
|
run: view,
|
|
3063
3063
|
levels: chunkSMQIYEOL_cjs.stepLevels(view.steps),
|
|
@@ -3348,7 +3348,7 @@ function ConnectedTagTable({
|
|
|
3348
3348
|
const fail2 = (fallback) => (e) => notify18(browser.refusalReason(e, fallback), "error");
|
|
3349
3349
|
const snapshot2 = (data) => {
|
|
3350
3350
|
const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
|
|
3351
|
-
const bytes =
|
|
3351
|
+
const bytes = chunkVGFU6JFI_cjs.tagTableDocx(data, {
|
|
3352
3352
|
title,
|
|
3353
3353
|
nameOf: (id) => people.find((p) => p.value === id)?.label
|
|
3354
3354
|
});
|
|
@@ -3357,7 +3357,7 @@ function ConnectedTagTable({
|
|
|
3357
3357
|
return { blob: new Blob([bytes], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }), name };
|
|
3358
3358
|
};
|
|
3359
3359
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3360
|
-
|
|
3360
|
+
chunkVGFU6JFI_cjs.TagTable,
|
|
3361
3361
|
{
|
|
3362
3362
|
...props,
|
|
3363
3363
|
table,
|
|
@@ -3398,7 +3398,7 @@ function DocTagPassages({ docId, tagId, label, docOf, testId }) {
|
|
|
3398
3398
|
const [open, setOpen] = React9.useState(false);
|
|
3399
3399
|
const doctag = docOf(docId)?.doctags?.find((dt) => dt.tag_ext_id === tagId);
|
|
3400
3400
|
const citations = React9.useMemo(
|
|
3401
|
-
() =>
|
|
3401
|
+
() => chunkYD3RN2FY_cjs.toFactCitations(doctag?.citations) ?? [],
|
|
3402
3402
|
[doctag?.citations]
|
|
3403
3403
|
);
|
|
3404
3404
|
const { quoteFor, orderOf } = react.usePassageQuotes(
|
|
@@ -3407,7 +3407,7 @@ function DocTagPassages({ docId, tagId, label, docOf, testId }) {
|
|
|
3407
3407
|
const { openDocument } = chunkNG6FFY44_cjs.useBlocksEnvironment();
|
|
3408
3408
|
const viewingPassageId = react.useArbiSessionState((s) => s.viewingDocument?.passageId ?? null);
|
|
3409
3409
|
const id = testId ?? `doctag-passages-${docId}`;
|
|
3410
|
-
const refOf = (cited) =>
|
|
3410
|
+
const refOf = (cited) => chunkYD3RN2FY_cjs.citedVersionRef(cited.doc_ext_id, cited.version, docOf(cited.doc_ext_id)?.current_version);
|
|
3411
3411
|
const ordered = (cited) => [...cited.chunks].sort((a, b) => {
|
|
3412
3412
|
const oa = orderOf(a.chunk_id);
|
|
3413
3413
|
const ob = orderOf(b.chunk_id);
|
|
@@ -3438,7 +3438,7 @@ function DocTagPassages({ docId, tagId, label, docOf, testId }) {
|
|
|
3438
3438
|
const doc = docOf(cited.doc_ext_id);
|
|
3439
3439
|
const passages = ordered(cited);
|
|
3440
3440
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3441
|
-
|
|
3441
|
+
chunkYD3RN2FY_cjs.FactSourceGroup,
|
|
3442
3442
|
{
|
|
3443
3443
|
docId: cited.doc_ext_id,
|
|
3444
3444
|
hasPassages: passages.length > 0,
|
|
@@ -3495,9 +3495,9 @@ function GlossaryExport({ labelId, nameOf }) {
|
|
|
3495
3495
|
const narrowed = agreements.find((a) => a.id === narrowTo);
|
|
3496
3496
|
const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
|
|
3497
3497
|
const download = (format) => {
|
|
3498
|
-
const entries =
|
|
3499
|
-
const blob = format === "docx" ? new Blob([
|
|
3500
|
-
documentTools.downloadBlob(blob,
|
|
3498
|
+
const entries = chunkVGFU6JFI_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
|
|
3499
|
+
const blob = format === "docx" ? new Blob([chunkVGFU6JFI_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunkVGFU6JFI_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
|
|
3500
|
+
documentTools.downloadBlob(blob, chunkVGFU6JFI_cjs.glossaryFileName(title, format));
|
|
3501
3501
|
};
|
|
3502
3502
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
|
|
3503
3503
|
agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -4042,7 +4042,7 @@ function KindSection({
|
|
|
4042
4042
|
{
|
|
4043
4043
|
testId: `tags-kind-${kind}`,
|
|
4044
4044
|
title: ui.tagKindTitle(kind, { plural: true }),
|
|
4045
|
-
description:
|
|
4045
|
+
description: chunkVGFU6JFI_cjs.tagKindDescription(kind),
|
|
4046
4046
|
actions: picker,
|
|
4047
4047
|
children: [
|
|
4048
4048
|
browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -4053,9 +4053,9 @@ function KindSection({
|
|
|
4053
4053
|
children: [
|
|
4054
4054
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
|
|
4055
4055
|
"Extracting ",
|
|
4056
|
-
|
|
4056
|
+
chunkVGFU6JFI_cjs.entitiesPhrase().toLowerCase(),
|
|
4057
4057
|
" from ",
|
|
4058
|
-
|
|
4058
|
+
chunkVGFU6JFI_cjs.documentCount(extractingCount),
|
|
4059
4059
|
"\u2026"
|
|
4060
4060
|
]
|
|
4061
4061
|
}
|
|
@@ -4073,7 +4073,7 @@ function KindSection({
|
|
|
4073
4073
|
onOpenDocument: (id) => openDocument(id),
|
|
4074
4074
|
onOpenFact: ctx.onOpenFact,
|
|
4075
4075
|
onOpenThread: (id) => openConversation(id),
|
|
4076
|
-
labels:
|
|
4076
|
+
labels: chunkVGFU6JFI_cjs.tagTableLabels(kind),
|
|
4077
4077
|
testId: `tags-table-${kind}`
|
|
4078
4078
|
}
|
|
4079
4079
|
)
|
|
@@ -4175,12 +4175,12 @@ function TagSection({
|
|
|
4175
4175
|
onOpenDocument: (id) => openDocument(id),
|
|
4176
4176
|
onOpenFact: ctx.onOpenFact,
|
|
4177
4177
|
onOpenThread: (id) => openConversation(id),
|
|
4178
|
-
labels:
|
|
4178
|
+
labels: chunkVGFU6JFI_cjs.tagTableLabels(tag.kind),
|
|
4179
4179
|
testId: "tags-rows"
|
|
4180
4180
|
}
|
|
4181
4181
|
),
|
|
4182
4182
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4183
|
-
|
|
4183
|
+
chunkVGFU6JFI_cjs.TagDetail,
|
|
4184
4184
|
{
|
|
4185
4185
|
row: detailRow && narrowTagRow(detailRow, ctx.filter.matches),
|
|
4186
4186
|
fields: schema.data?.fields ?? [],
|
|
@@ -4192,10 +4192,10 @@ function TagSection({
|
|
|
4192
4192
|
onOpenDocument: (id) => openDocument(id),
|
|
4193
4193
|
onOpenFact: ctx.onOpenFact,
|
|
4194
4194
|
onOpenThread: (id) => openConversation(id),
|
|
4195
|
-
noteLabel:
|
|
4195
|
+
noteLabel: chunkVGFU6JFI_cjs.tagNoteLabel(tag.kind),
|
|
4196
4196
|
noteIsValue: tag.kind === "annotation",
|
|
4197
4197
|
renderPassages: (d, label) => renderPassages(d.doc_ext_id, label),
|
|
4198
|
-
labels:
|
|
4198
|
+
labels: chunkVGFU6JFI_cjs.tagDetailLabels(),
|
|
4199
4199
|
testId: "tags-detail"
|
|
4200
4200
|
}
|
|
4201
4201
|
)
|
|
@@ -4283,7 +4283,7 @@ function ConnectedTagsPage({
|
|
|
4283
4283
|
const onDelete = async (t) => {
|
|
4284
4284
|
const nested = browser.getChildTags([...tags], t.external_id);
|
|
4285
4285
|
const uses = browser.tagUseCount(t);
|
|
4286
|
-
const n2 =
|
|
4286
|
+
const n2 = chunkVGFU6JFI_cjs.tagsPageNouns();
|
|
4287
4287
|
const tagNoun = (count2) => (count2 === 1 ? n2.tag : n2.tags).toLowerCase();
|
|
4288
4288
|
const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
|
|
4289
4289
|
const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
|
|
@@ -4304,16 +4304,16 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4304
4304
|
try {
|
|
4305
4305
|
await extract.mutateAsync(docIds);
|
|
4306
4306
|
notify18(
|
|
4307
|
-
`Extracting ${
|
|
4307
|
+
`Extracting ${chunkVGFU6JFI_cjs.entitiesPhrase().toLowerCase()} from ${chunkVGFU6JFI_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
|
|
4308
4308
|
"info"
|
|
4309
4309
|
);
|
|
4310
4310
|
} catch (error) {
|
|
4311
|
-
notify18(browser.refusalReason(error, `Could not extract ${
|
|
4311
|
+
notify18(browser.refusalReason(error, `Could not extract ${chunkVGFU6JFI_cjs.entitiesPhrase().toLowerCase()}`), "error");
|
|
4312
4312
|
throw error;
|
|
4313
4313
|
}
|
|
4314
4314
|
};
|
|
4315
4315
|
const picker = /* @__PURE__ */ jsxRuntime.jsx(
|
|
4316
|
-
|
|
4316
|
+
chunkVGFU6JFI_cjs.TagPicker,
|
|
4317
4317
|
{
|
|
4318
4318
|
tags: viewTags,
|
|
4319
4319
|
selectedId: tag?.external_id,
|
|
@@ -4327,10 +4327,10 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4327
4327
|
onOpenTag: openTag,
|
|
4328
4328
|
onOpenFact
|
|
4329
4329
|
};
|
|
4330
|
-
const n =
|
|
4330
|
+
const n = chunkVGFU6JFI_cjs.tagsPageNouns();
|
|
4331
4331
|
const action = view === "person" || view === "organisation" ? {
|
|
4332
4332
|
label: "Extract",
|
|
4333
|
-
title: `Extract ${
|
|
4333
|
+
title: `Extract ${chunkVGFU6JFI_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
|
|
4334
4334
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
|
|
4335
4335
|
run: () => setExtracting(true),
|
|
4336
4336
|
testId: "tags-extract-entities"
|
|
@@ -4480,7 +4480,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4480
4480
|
}
|
|
4481
4481
|
),
|
|
4482
4482
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4483
|
-
|
|
4483
|
+
chunkVGFU6JFI_cjs.ExtractEntitiesDialog,
|
|
4484
4484
|
{
|
|
4485
4485
|
open: extracting,
|
|
4486
4486
|
onOpenChange: setExtracting,
|
|
@@ -4541,7 +4541,7 @@ function FactSourcesPopover({
|
|
|
4541
4541
|
reset();
|
|
4542
4542
|
}
|
|
4543
4543
|
};
|
|
4544
|
-
const refOf = (docId) =>
|
|
4544
|
+
const refOf = (docId) => chunkYD3RN2FY_cjs.citedVersionRef(
|
|
4545
4545
|
docId,
|
|
4546
4546
|
citations.find((d) => d.doc_ext_id === docId)?.version,
|
|
4547
4547
|
citedDocs?.[docId]?.current_version
|
|
@@ -4571,7 +4571,7 @@ function FactSourcesPopover({
|
|
|
4571
4571
|
const olderVersion = refOf(docId) !== docId ? refOf(docId).split("@v")[1] : null;
|
|
4572
4572
|
const cited = passagesOf(docId);
|
|
4573
4573
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4574
|
-
|
|
4574
|
+
chunkYD3RN2FY_cjs.FactSourceGroup,
|
|
4575
4575
|
{
|
|
4576
4576
|
docId,
|
|
4577
4577
|
isViewing,
|
|
@@ -4640,8 +4640,8 @@ function FactMarkdownEditor({
|
|
|
4640
4640
|
citationContainer,
|
|
4641
4641
|
"data-testid": dataTestId
|
|
4642
4642
|
}) {
|
|
4643
|
-
const sources = React9.useMemo(() =>
|
|
4644
|
-
const docIds =
|
|
4643
|
+
const sources = React9.useMemo(() => chunkYD3RN2FY_cjs.toFactCitations(citations) ?? [], [citations]);
|
|
4644
|
+
const docIds = chunkYD3RN2FY_cjs.docIdsOf(sources);
|
|
4645
4645
|
const hasSources = docIds.length > 0;
|
|
4646
4646
|
const { quoteFor, orderOf } = react.usePassageQuotes(
|
|
4647
4647
|
React9.useMemo(() => sources.filter((d) => d.chunks.length > 0).map((d) => d.doc_ext_id), [sources])
|
|
@@ -4660,7 +4660,7 @@ function FactMarkdownEditor({
|
|
|
4660
4660
|
const editorRef = React9.useRef(null);
|
|
4661
4661
|
React9.useEffect(() => {
|
|
4662
4662
|
if (!editorRef.current) return;
|
|
4663
|
-
return
|
|
4663
|
+
return chunkYD3RN2FY_cjs.enableFactTableColumnResize(editorRef.current);
|
|
4664
4664
|
}, []);
|
|
4665
4665
|
React9.useEffect(() => {
|
|
4666
4666
|
if (!editing) return;
|
|
@@ -4675,14 +4675,14 @@ function FactMarkdownEditor({
|
|
|
4675
4675
|
return () => document.removeEventListener("pointerdown", onPointerDown, true);
|
|
4676
4676
|
}, [editing]);
|
|
4677
4677
|
const removeDoc = (docExtId) => {
|
|
4678
|
-
const remaining =
|
|
4678
|
+
const remaining = chunkYD3RN2FY_cjs.withoutDoc(sources, docExtId);
|
|
4679
4679
|
if (!remaining) setSourcesOpen(false);
|
|
4680
4680
|
onChange(value, remaining);
|
|
4681
4681
|
};
|
|
4682
4682
|
const citeDocument = (docExtId) => onCiteDocument(docExtId, { toggle: false });
|
|
4683
4683
|
const handleToggleDoc = (docExtId) => {
|
|
4684
4684
|
if (docIds.includes(docExtId)) removeDoc(docExtId);
|
|
4685
|
-
else onChange(value,
|
|
4685
|
+
else onChange(value, chunkYD3RN2FY_cjs.withDoc(sources, docExtId));
|
|
4686
4686
|
};
|
|
4687
4687
|
const expandToggle = /* @__PURE__ */ jsxRuntime.jsx(
|
|
4688
4688
|
"button",
|
|
@@ -4901,7 +4901,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4901
4901
|
const [composing, setComposing] = React9.useState(false);
|
|
4902
4902
|
const [draft, setDraft] = React9.useState("");
|
|
4903
4903
|
const [baselineText, setBaselineText] = React9.useState("");
|
|
4904
|
-
const [draftDateFields, setDraftDateFields] = React9.useState(
|
|
4904
|
+
const [draftDateFields, setDraftDateFields] = React9.useState(chunkYD3RN2FY_cjs.EMPTY_FACT_DATE_FIELDS);
|
|
4905
4905
|
const [composerError, setComposerError] = React9.useState(null);
|
|
4906
4906
|
const [editingId, setEditingId] = React9.useState(null);
|
|
4907
4907
|
const [draftShared, setDraftShared] = React9.useState(false);
|
|
@@ -4958,9 +4958,9 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4958
4958
|
if (!collector || !picked?.length || !collectingFor || !docBeingCollected) return;
|
|
4959
4959
|
const docExtId = docBeingCollected;
|
|
4960
4960
|
const apply = (prev) => {
|
|
4961
|
-
let next =
|
|
4961
|
+
let next = chunkYD3RN2FY_cjs.toFactCitations(prev);
|
|
4962
4962
|
for (const pending of picked) {
|
|
4963
|
-
next =
|
|
4963
|
+
next = chunkYD3RN2FY_cjs.withChunk(next, docExtId, { chunk_id: pending.chunk_id, page: pending.page ?? null });
|
|
4964
4964
|
}
|
|
4965
4965
|
return next ?? [];
|
|
4966
4966
|
};
|
|
@@ -4971,8 +4971,8 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4971
4971
|
React9.useEffect(() => {
|
|
4972
4972
|
if (!collector || !unpicked?.length || !collectingFor) return;
|
|
4973
4973
|
setDraftCitations((prev) => {
|
|
4974
|
-
let next =
|
|
4975
|
-
for (const chunkId of unpicked) next =
|
|
4974
|
+
let next = chunkYD3RN2FY_cjs.toFactCitations(prev);
|
|
4975
|
+
for (const chunkId of unpicked) next = chunkYD3RN2FY_cjs.withoutChunk(next, chunkId);
|
|
4976
4976
|
return next;
|
|
4977
4977
|
});
|
|
4978
4978
|
collector.consumeUnpicked();
|
|
@@ -4982,7 +4982,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4982
4982
|
setBaselineText("");
|
|
4983
4983
|
setDraftCitations(null);
|
|
4984
4984
|
setDraftTagIds([]);
|
|
4985
|
-
setDraftDateFields(
|
|
4985
|
+
setDraftDateFields(chunkYD3RN2FY_cjs.EMPTY_FACT_DATE_FIELDS);
|
|
4986
4986
|
setDraftShared(false);
|
|
4987
4987
|
setDraftConfirmed(true);
|
|
4988
4988
|
setComposerError(null);
|
|
@@ -4996,7 +4996,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4996
4996
|
setBaselineText("");
|
|
4997
4997
|
setDraftCitations(null);
|
|
4998
4998
|
setDraftTagIds([]);
|
|
4999
|
-
setDraftDateFields(
|
|
4999
|
+
setDraftDateFields(chunkYD3RN2FY_cjs.EMPTY_FACT_DATE_FIELDS);
|
|
5000
5000
|
setDraftShared(false);
|
|
5001
5001
|
setDraftConfirmed(true);
|
|
5002
5002
|
setComposerError(null);
|
|
@@ -5007,7 +5007,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
5007
5007
|
const content = chunkRC25WMVB_cjs.decodeWhitespaceEntities(draft).trim();
|
|
5008
5008
|
if (!content) return;
|
|
5009
5009
|
setComposerError(null);
|
|
5010
|
-
const span =
|
|
5010
|
+
const span = chunkYD3RN2FY_cjs.factDateFieldsToSpan(draftDateFields);
|
|
5011
5011
|
try {
|
|
5012
5012
|
let saved;
|
|
5013
5013
|
if (editingId) {
|
|
@@ -5045,7 +5045,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
5045
5045
|
setBaselineText(draft);
|
|
5046
5046
|
setDraftCitations(saved.citations ?? null);
|
|
5047
5047
|
setDraftTagIds(saved.tags.map((t) => t.tag_ext_id));
|
|
5048
|
-
setDraftDateFields(
|
|
5048
|
+
setDraftDateFields(chunkYD3RN2FY_cjs.factDateSpanToFields(saved.date_start, saved.date_end, saved.timezone));
|
|
5049
5049
|
setDraftShared(saved.shared ?? false);
|
|
5050
5050
|
setDraftConfirmed(saved.confirmed ?? true);
|
|
5051
5051
|
}
|
|
@@ -5070,7 +5070,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
5070
5070
|
setBaselineText(m.text);
|
|
5071
5071
|
setDraftCitations(m.citations ?? null);
|
|
5072
5072
|
setDraftTagIds(m.tags.map((t) => t.tag_ext_id));
|
|
5073
|
-
setDraftDateFields(
|
|
5073
|
+
setDraftDateFields(chunkYD3RN2FY_cjs.factDateSpanToFields(m.date_start, m.date_end, m.timezone));
|
|
5074
5074
|
setDraftShared(m.shared ?? false);
|
|
5075
5075
|
setDraftConfirmed(m.confirmed ?? true);
|
|
5076
5076
|
setComposerError(null);
|
|
@@ -5084,7 +5084,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
5084
5084
|
const textChanged = draft.trim() !== baselineText.trim();
|
|
5085
5085
|
const citationsChanged = JSON.stringify(draftCitations ?? null) !== JSON.stringify(f.citations ?? null);
|
|
5086
5086
|
const tagsChanged = JSON.stringify([...draftTagIds].sort()) !== JSON.stringify(f.tags.map((t) => t.tag_ext_id).sort());
|
|
5087
|
-
const dateChanged = JSON.stringify(draftDateFields) !== JSON.stringify(
|
|
5087
|
+
const dateChanged = JSON.stringify(draftDateFields) !== JSON.stringify(chunkYD3RN2FY_cjs.factDateSpanToFields(f.date_start, f.date_end, f.timezone));
|
|
5088
5088
|
const sharedChanged = draftShared !== (f.shared ?? false);
|
|
5089
5089
|
const confirmedChanged = draftConfirmed !== (f.confirmed ?? true);
|
|
5090
5090
|
return textChanged || citationsChanged || tagsChanged || dateChanged || sharedChanged || confirmedChanged;
|
|
@@ -5258,7 +5258,7 @@ function useFactFilters(notes, view, chat) {
|
|
|
5258
5258
|
const makeTagPicker = React9.useCallback(
|
|
5259
5259
|
(selected, setSelected, opts) => {
|
|
5260
5260
|
const applied = new Set(selected);
|
|
5261
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5261
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkYD3RN2FY_cjs.FactFieldRow, { label: "Labels", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5262
5262
|
chunk6XEFUJTT_cjs.FieldLabelsSelect,
|
|
5263
5263
|
{
|
|
5264
5264
|
options: labelOptions,
|
|
@@ -5449,14 +5449,14 @@ function useFactSelection(notes, gridApiRef, setFactTags, chat) {
|
|
|
5449
5449
|
}
|
|
5450
5450
|
function renderSourcesCell(params) {
|
|
5451
5451
|
const fact = params.data;
|
|
5452
|
-
const count2 =
|
|
5452
|
+
const count2 = chunkYD3RN2FY_cjs.sourceDocCount(fact);
|
|
5453
5453
|
if (!fact || count2 === 0) return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground/40", children: "\u2014" });
|
|
5454
5454
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5455
5455
|
"button",
|
|
5456
5456
|
{
|
|
5457
5457
|
type: "button",
|
|
5458
5458
|
onClick: () => params.context?.openEdit?.(fact),
|
|
5459
|
-
title:
|
|
5459
|
+
title: chunkYD3RN2FY_cjs.DEFAULT_FACT_COLUMN_LABELS.sourcedFrom(count2),
|
|
5460
5460
|
"data-testid": `facts-grid-sources-${fact.external_id}`,
|
|
5461
5461
|
className: "inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",
|
|
5462
5462
|
children: [
|
|
@@ -5513,14 +5513,14 @@ function createFactPageColumns({
|
|
|
5513
5513
|
onToggleConfirmed,
|
|
5514
5514
|
onToggleShared
|
|
5515
5515
|
}) {
|
|
5516
|
-
const columns =
|
|
5516
|
+
const columns = chunkYD3RN2FY_cjs.createFactColumns({
|
|
5517
5517
|
onToggleInChat,
|
|
5518
5518
|
isInChat,
|
|
5519
5519
|
renderHeader: (params, colId) => /* @__PURE__ */ jsxRuntime.jsx(FactHeader, { params, colId }),
|
|
5520
5520
|
renderRowActions: (fact, params) => {
|
|
5521
5521
|
const ctx = params.context;
|
|
5522
5522
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5523
|
-
|
|
5523
|
+
chunkYD3RN2FY_cjs.FactRowActions,
|
|
5524
5524
|
{
|
|
5525
5525
|
onEdit: () => ctx?.openEdit?.(fact),
|
|
5526
5526
|
canEdit: ctx?.canRewrite?.(fact) !== false,
|
|
@@ -5650,7 +5650,7 @@ function useFactsGrid({
|
|
|
5650
5650
|
);
|
|
5651
5651
|
const renderFactTags = React9.useCallback(
|
|
5652
5652
|
(fact, rowHeight) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
5653
|
-
|
|
5653
|
+
chunkYD3RN2FY_cjs.FactLabelsCell,
|
|
5654
5654
|
{
|
|
5655
5655
|
options: labelOptions,
|
|
5656
5656
|
selectedIds: fact.tags.map((t) => t.tag_ext_id),
|
|
@@ -6299,7 +6299,7 @@ var citedDocIdsCache = /* @__PURE__ */ new WeakMap();
|
|
|
6299
6299
|
function citedDocIds(m) {
|
|
6300
6300
|
const cached = citedDocIdsCache.get(m);
|
|
6301
6301
|
if (cached) return cached;
|
|
6302
|
-
const ids =
|
|
6302
|
+
const ids = chunkYD3RN2FY_cjs.docIdsOf(chunkYD3RN2FY_cjs.toFactCitations(m.citations));
|
|
6303
6303
|
citedDocIdsCache.set(m, ids);
|
|
6304
6304
|
return ids;
|
|
6305
6305
|
}
|
|
@@ -6400,7 +6400,7 @@ function ConnectedFactsPage({
|
|
|
6400
6400
|
const citedDocs = React9.useMemo(() => {
|
|
6401
6401
|
const wanted = /* @__PURE__ */ new Set([
|
|
6402
6402
|
...notes.flatMap((n) => citedDocIds(n)),
|
|
6403
|
-
...
|
|
6403
|
+
...chunkYD3RN2FY_cjs.docIdsOf(chunkYD3RN2FY_cjs.toFactCitations(composer.draftCitations))
|
|
6404
6404
|
]);
|
|
6405
6405
|
return Object.fromEntries(
|
|
6406
6406
|
documents.filter((d) => wanted.has(d.external_id)).map((d) => [d.external_id, d])
|
|
@@ -6454,7 +6454,7 @@ function ConnectedFactsPage({
|
|
|
6454
6454
|
};
|
|
6455
6455
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: setFactSection, className: "relative flex h-full flex-col", "data-testid": "facts-page", children: [
|
|
6456
6456
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6457
|
-
|
|
6457
|
+
chunkYD3RN2FY_cjs.FactsToolbar,
|
|
6458
6458
|
{
|
|
6459
6459
|
count: filteredNotes.length,
|
|
6460
6460
|
hasActiveFilters: filters.hasActiveFilters,
|
|
@@ -6483,7 +6483,7 @@ function ConnectedFactsPage({
|
|
|
6483
6483
|
onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
|
|
6484
6484
|
navSlotRef: setNavSlot,
|
|
6485
6485
|
navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6486
|
-
|
|
6486
|
+
chunkVGFU6JFI_cjs.GridRowNavigator,
|
|
6487
6487
|
{
|
|
6488
6488
|
gridApi,
|
|
6489
6489
|
selectedId: editingId,
|
|
@@ -6494,7 +6494,7 @@ function ConnectedFactsPage({
|
|
|
6494
6494
|
) : null,
|
|
6495
6495
|
showToolbarRow: view !== "smart_search",
|
|
6496
6496
|
tools: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6497
|
-
view === "table" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6497
|
+
view === "table" && /* @__PURE__ */ jsxRuntime.jsx(chunkYD3RN2FY_cjs.FactsFieldsButton, { getGridApi: () => gridApiRef.current }),
|
|
6498
6498
|
view === "table" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6499
6499
|
chunk6XEFUJTT_cjs.RowDensityControl,
|
|
6500
6500
|
{
|
|
@@ -6515,7 +6515,7 @@ function ConnectedFactsPage({
|
|
|
6515
6515
|
}
|
|
6516
6516
|
),
|
|
6517
6517
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6518
|
-
|
|
6518
|
+
chunkYD3RN2FY_cjs.FactComposer,
|
|
6519
6519
|
{
|
|
6520
6520
|
isOpen: composing,
|
|
6521
6521
|
isEditing: !!editingId,
|
|
@@ -6548,7 +6548,7 @@ function ConnectedFactsPage({
|
|
|
6548
6548
|
reserveSourcesSpace: view === "gantt" || view === "calendar",
|
|
6549
6549
|
citationContainer: factSection,
|
|
6550
6550
|
renderDocumentPicker: (onSelect, selectedIds, onOpen, sourcesToggle, sourcesOpen) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6551
|
-
|
|
6551
|
+
chunkYD3RN2FY_cjs.FactSourcesRow,
|
|
6552
6552
|
{
|
|
6553
6553
|
toggle: sourcesToggle,
|
|
6554
6554
|
picker: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6594,7 +6594,7 @@ function ConnectedFactsPage({
|
|
|
6594
6594
|
}
|
|
6595
6595
|
),
|
|
6596
6596
|
dateInput: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6597
|
-
|
|
6597
|
+
chunkYD3RN2FY_cjs.FactDateInput,
|
|
6598
6598
|
{
|
|
6599
6599
|
value: composer.draftDateFields,
|
|
6600
6600
|
onChange: composer.setDraftDateFields,
|
|
@@ -6604,13 +6604,13 @@ function ConnectedFactsPage({
|
|
|
6604
6604
|
}
|
|
6605
6605
|
),
|
|
6606
6606
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "scrollbar-subtle flex-1 overflow-y-auto pb-2", children: [
|
|
6607
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6607
|
+
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkYD3RN2FY_cjs.FactsLoading, {}) : isError ? /* @__PURE__ */ jsxRuntime.jsx(chunkYD3RN2FY_cjs.FactsLoadError, { onRetry: () => refetch() }) : smartSearch ? (
|
|
6608
6608
|
// Searches facts only (never documents). Kept before the empty-state guard so the
|
|
6609
6609
|
// search UI is reachable even in an empty workspace.
|
|
6610
6610
|
smartSearch({ selectedFactId: editingId, onOpenFact: openFactById })
|
|
6611
6611
|
) : notes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-full flex-col items-center justify-center", children: [
|
|
6612
6612
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6613
|
-
|
|
6613
|
+
chunkYD3RN2FY_cjs.FactsEmptyState,
|
|
6614
6614
|
{
|
|
6615
6615
|
onUseExample: (text2) => {
|
|
6616
6616
|
composer.setDraft(text2);
|
|
@@ -6621,7 +6621,7 @@ function ConnectedFactsPage({
|
|
|
6621
6621
|
),
|
|
6622
6622
|
emptyStateExtra
|
|
6623
6623
|
] }) : view === "calendar" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6624
|
-
|
|
6624
|
+
chunkYD3RN2FY_cjs.FactsCalendar,
|
|
6625
6625
|
{
|
|
6626
6626
|
facts: filteredNotes,
|
|
6627
6627
|
onSelect: (n) => openEditIfAllowed(n),
|
|
@@ -6630,7 +6630,7 @@ function ConnectedFactsPage({
|
|
|
6630
6630
|
navigatorTotal: filteredNotes.length
|
|
6631
6631
|
}
|
|
6632
6632
|
) : view === "gantt" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6633
|
-
|
|
6633
|
+
chunkYD3RN2FY_cjs.FactsGanttPane,
|
|
6634
6634
|
{
|
|
6635
6635
|
items: ganttItems,
|
|
6636
6636
|
labelWidth: pageView.labelWidth,
|
|
@@ -6680,7 +6680,7 @@ function ConnectedFactsPage({
|
|
|
6680
6680
|
)
|
|
6681
6681
|
] }),
|
|
6682
6682
|
selectable && notes.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6683
|
-
|
|
6683
|
+
chunkYD3RN2FY_cjs.FactsBulkBar,
|
|
6684
6684
|
{
|
|
6685
6685
|
count: selection.selectedFacts.length,
|
|
6686
6686
|
onClear: selection.clearSelection,
|
|
@@ -9667,13 +9667,13 @@ function ConnectedWorkspaceSettings({
|
|
|
9667
9667
|
const [membersExpanded, setMembersExpanded] = React9.useState(false);
|
|
9668
9668
|
const [shareOpen, setShareOpen] = React9.useState(false);
|
|
9669
9669
|
if (!workspace) {
|
|
9670
|
-
return /* @__PURE__ */ jsxRuntime.jsx(chunkJL4KG6QA_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9670
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkJL4KG6QA_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVGFU6JFI_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
|
|
9671
9671
|
}
|
|
9672
9672
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9673
9673
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkJL4KG6QA_cjs.WorkspacePageFrame, { testId, children: [
|
|
9674
9674
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkJL4KG6QA_cjs.WorkspaceIdentityPanel, { children: [
|
|
9675
9675
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9676
|
-
|
|
9676
|
+
chunkVGFU6JFI_cjs.EntityIdentityBar,
|
|
9677
9677
|
{
|
|
9678
9678
|
testId: "workspace-identity-bar",
|
|
9679
9679
|
canEdit: isOwner,
|
|
@@ -9690,7 +9690,7 @@ function ConnectedWorkspaceSettings({
|
|
|
9690
9690
|
label: "Name",
|
|
9691
9691
|
value: workspace.name,
|
|
9692
9692
|
placeholder: "Untitled",
|
|
9693
|
-
maxLength:
|
|
9693
|
+
maxLength: chunkVGFU6JFI_cjs.IDENTITY_NAME_MAX_LENGTH,
|
|
9694
9694
|
valueClassName: "truncate text-base font-semibold",
|
|
9695
9695
|
testId: "workspace-home-title",
|
|
9696
9696
|
hideLabel: true,
|
|
@@ -12047,36 +12047,36 @@ function ConnectedSharePointAdminConsentPage({
|
|
|
12047
12047
|
const result = givenResult === void 0 ? queryResult : givenResult;
|
|
12048
12048
|
const { apiBaseUrl } = chunkNG6FFY44_cjs.useBlocksEnvironment().runtimeConfig;
|
|
12049
12049
|
const consentUrl = `${apiBaseUrl}/v1/connectors/microsoft_sharepoint/admin-consent`;
|
|
12050
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12050
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR3247EN3_cjs.ConsentCard, { size: "md", children: [
|
|
12051
12051
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12052
|
-
|
|
12052
|
+
chunkR3247EN3_cjs.ConsentHeader,
|
|
12053
12053
|
{
|
|
12054
12054
|
icon: /* @__PURE__ */ jsxRuntime.jsx(chunk6XEFUJTT_cjs.VendorLogo, { vendorKey: "microsoft_sharepoint", product: "sharepoint" }),
|
|
12055
12055
|
title: "Approve ARBI for SharePoint access",
|
|
12056
12056
|
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."
|
|
12057
12057
|
}
|
|
12058
12058
|
),
|
|
12059
|
-
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12060
|
-
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12061
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12059
|
+
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_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." }),
|
|
12060
|
+
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_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." }),
|
|
12061
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkR3247EN3_cjs.ConsentSection, { title: "What you are approving", children: [
|
|
12062
12062
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12063
|
-
|
|
12063
|
+
chunkR3247EN3_cjs.ConsentBulletList,
|
|
12064
12064
|
{
|
|
12065
12065
|
items: [
|
|
12066
12066
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12067
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12067
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
|
|
12068
12068
|
" \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."
|
|
12069
12069
|
] }),
|
|
12070
12070
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12071
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12071
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
|
|
12072
12072
|
" \u2014 standard sign-in (openid, profile, email) and offline access so syncs keep working between sessions."
|
|
12073
12073
|
] })
|
|
12074
12074
|
]
|
|
12075
12075
|
}
|
|
12076
12076
|
),
|
|
12077
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12077
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_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." }),
|
|
12078
12078
|
/* @__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" }) }),
|
|
12079
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12079
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_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." })
|
|
12080
12080
|
] })
|
|
12081
12081
|
] }) });
|
|
12082
12082
|
}
|
|
@@ -14689,7 +14689,7 @@ function ConnectedWorkspaceList({
|
|
|
14689
14689
|
else void openWorkspace(workspace.external_id, { name: workspace.name });
|
|
14690
14690
|
};
|
|
14691
14691
|
const createDisabledReason = list.canCreateProjects === false ? react.PROJECT_CREATION_DENIED_REASON : void 0;
|
|
14692
|
-
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14692
|
+
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkVGFU6JFI_cjs.LoadingIndicator, { message: "Loading workspaces..." });
|
|
14693
14693
|
if (list.error) {
|
|
14694
14694
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14695
14695
|
chunkWSOBLKDY_cjs.HomeLoadError,
|
|
@@ -14762,7 +14762,7 @@ function ConnectedWorkspaceList({
|
|
|
14762
14762
|
workspaceState
|
|
14763
14763
|
}
|
|
14764
14764
|
) })
|
|
14765
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14765
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVGFU6JFI_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkWSOBLKDY_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14766
14766
|
WorkspaceTableView,
|
|
14767
14767
|
{
|
|
14768
14768
|
list,
|
|
@@ -15004,7 +15004,7 @@ function ProjectsListPage({
|
|
|
15004
15004
|
}
|
|
15005
15005
|
),
|
|
15006
15006
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15007
|
-
|
|
15007
|
+
chunkVGFU6JFI_cjs.Toolbar,
|
|
15008
15008
|
{
|
|
15009
15009
|
search,
|
|
15010
15010
|
onSearch: setSearch,
|
|
@@ -15317,7 +15317,7 @@ var COMPACT_BELOW = 132;
|
|
|
15317
15317
|
var NO_DOCUMENTS = [];
|
|
15318
15318
|
function useFilesWorkspace() {
|
|
15319
15319
|
const { workspaceId, userId, live } = chunkH3ZMAU77_cjs.useConnectedWorkspace();
|
|
15320
|
-
const { members, role } =
|
|
15320
|
+
const { members, role } = chunkWHJMV6TX_cjs.useConnectedWorkspaceRole();
|
|
15321
15321
|
const { data: workspaces } = react.useWorkspaces({ enabled: live });
|
|
15322
15322
|
const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
|
|
15323
15323
|
return {
|
|
@@ -16077,7 +16077,7 @@ function ProjectChronology({
|
|
|
16077
16077
|
})),
|
|
16078
16078
|
[facts]
|
|
16079
16079
|
);
|
|
16080
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ui.Card, { className: "h-[min(70dvh,640px)] overflow-hidden", "data-testid": testId, children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "p-4 text-sm text-muted-foreground", children: loading }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
16080
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ui.Card, { className: "h-[min(70dvh,640px)] overflow-hidden", "data-testid": testId, children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "p-4 text-sm text-muted-foreground", children: loading }) : /* @__PURE__ */ jsxRuntime.jsx(chunkYD3RN2FY_cjs.FactsGanttPane, { items, testId: `${testId}-gantt`, labels: { ganttEmpty: empty } }) });
|
|
16081
16081
|
}
|
|
16082
16082
|
function ProjectThreads({
|
|
16083
16083
|
projectId,
|
|
@@ -17203,7 +17203,7 @@ function recentConversations(conversations) {
|
|
|
17203
17203
|
return [...conversations].sort((a, b) => time(b.updated_at) - time(a.updated_at)).slice(0, RECENT_ROWS).map((c) => ({
|
|
17204
17204
|
id: c.external_id,
|
|
17205
17205
|
title: c.title?.trim() || "Untitled thread",
|
|
17206
|
-
subtitle: c.status ? [
|
|
17206
|
+
subtitle: c.status ? [chunkR3247EN3_cjs.STATUS_LABELS[chunkR3247EN3_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"}`,
|
|
17207
17207
|
time: timeAndDate(c.updated_at)
|
|
17208
17208
|
}));
|
|
17209
17209
|
}
|
|
@@ -20961,7 +20961,7 @@ function EventEditorDialog({
|
|
|
20961
20961
|
const { notify: notify18, runtimeConfig } = chunkNG6FFY44_cjs.useBlocksEnvironment();
|
|
20962
20962
|
const attachmentDocuments = documents.map((document2) => ({
|
|
20963
20963
|
doc_id: document2.external_id,
|
|
20964
|
-
title:
|
|
20964
|
+
title: chunkWHJMV6TX_cjs.toWorkflowFieldDocument(document2).title,
|
|
20965
20965
|
url: chunk725OETK3_cjs.buildDeepLinkUrl(
|
|
20966
20966
|
{ workspaceId: workspaceId ?? void 0, documentId: document2.external_id },
|
|
20967
20967
|
runtimeConfig.deploymentDomain
|
|
@@ -25925,7 +25925,7 @@ function useBatchCompleteToasts() {
|
|
|
25925
25925
|
}
|
|
25926
25926
|
}, AI_FIELDS_NOTICE_WINDOW_MS);
|
|
25927
25927
|
} else if (message.batch_type === "entity_extract") {
|
|
25928
|
-
say(`${
|
|
25928
|
+
say(`${chunkVGFU6JFI_cjs.entitiesPhrase()} extracted from ${chunkVGFU6JFI_cjs.documentCount(docIds.length)}`, "success", {
|
|
25929
25929
|
...openTags && { action: { label: "View", onClick: openTags } }
|
|
25930
25930
|
});
|
|
25931
25931
|
} else if (message.batch_type === "upload") {
|
|
@@ -27412,10 +27412,10 @@ var TABLET_TABLE_BELOW = 860;
|
|
|
27412
27412
|
var TABLET_VIEWPORT_BELOW = 1100;
|
|
27413
27413
|
var NO_CONVERSATION_DOCUMENTS = [];
|
|
27414
27414
|
var DocumentReviewCard = React9.lazy(
|
|
27415
|
-
() => import('../DocumentReviewCard-
|
|
27415
|
+
() => import('../DocumentReviewCard-IWQFZO3X.cjs').then((module) => ({ default: module.DocumentReviewCard }))
|
|
27416
27416
|
);
|
|
27417
27417
|
function defaultReviewCard(props) {
|
|
27418
|
-
return /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
27418
|
+
return /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVGFU6JFI_cjs.LoadingIndicator, { message: "Loading document viewer..." }), children: /* @__PURE__ */ jsxRuntime.jsx(DocumentReviewCard, { ...props }, `navigator-${props.currentDocument.external_id}`) });
|
|
27419
27419
|
}
|
|
27420
27420
|
function ConnectedFilesPage({
|
|
27421
27421
|
isModal = false,
|
|
@@ -27456,7 +27456,7 @@ function ConnectedFilesPage({
|
|
|
27456
27456
|
const deleteDocuments = react.useDeleteDocuments();
|
|
27457
27457
|
const isDocumentsPending = isLoading && documents.length === 0;
|
|
27458
27458
|
const { workspaceId, userId, live } = chunkH3ZMAU77_cjs.useConnectedWorkspace();
|
|
27459
|
-
const { role, members } =
|
|
27459
|
+
const { role, members } = chunkWHJMV6TX_cjs.useConnectedWorkspaceRole();
|
|
27460
27460
|
const { data: workspaces } = react.useWorkspaces({ enabled: live });
|
|
27461
27461
|
const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
|
|
27462
27462
|
const isMember = role != null;
|
|
@@ -27871,7 +27871,7 @@ function ConnectedFilesPage({
|
|
|
27871
27871
|
viewMode === "grid" ? (
|
|
27872
27872
|
// ‹ n / N › over the table's displayed rows; a step opens the document.
|
|
27873
27873
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
27874
|
-
|
|
27874
|
+
chunkVGFU6JFI_cjs.GridRowNavigator,
|
|
27875
27875
|
{
|
|
27876
27876
|
gridApi,
|
|
27877
27877
|
selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
|
|
@@ -29001,7 +29001,7 @@ function ProcessingSection({
|
|
|
29001
29001
|
onDelete
|
|
29002
29002
|
}) {
|
|
29003
29003
|
return /* @__PURE__ */ jsxRuntime.jsx(chunk6XEFUJTT_cjs.TaskSection, { title, count: count2, status, tooltip: SECTION_TOOLTIPS[status], children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
29004
|
-
|
|
29004
|
+
chunkR3247EN3_cjs.UploadTaskList,
|
|
29005
29005
|
{
|
|
29006
29006
|
tasks,
|
|
29007
29007
|
title: "",
|
|
@@ -31034,7 +31034,7 @@ function ConnectedConfigForm({ availableModels, ...rest }) {
|
|
|
31034
31034
|
({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedModelSelector, { value, onValueChange: onChange, className: "w-full" }),
|
|
31035
31035
|
[]
|
|
31036
31036
|
);
|
|
31037
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31037
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
|
|
31038
31038
|
}
|
|
31039
31039
|
function ConnectedAgentConfigForm({ agentExtId, agentName, onSaved }) {
|
|
31040
31040
|
const { notify: notify18 } = chunkNG6FFY44_cjs.useBlocksEnvironment();
|
|
@@ -31151,7 +31151,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
31151
31151
|
}, [name, selectedWorkspaces, role, createAgent, addWorkspaceUsers, arbi, notify18]);
|
|
31152
31152
|
if (editAgent) {
|
|
31153
31153
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31154
|
-
|
|
31154
|
+
chunkR3247EN3_cjs.AgentEditView,
|
|
31155
31155
|
{
|
|
31156
31156
|
agentName: editAgent.name,
|
|
31157
31157
|
config: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -31167,7 +31167,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
31167
31167
|
}
|
|
31168
31168
|
if (view === "main") {
|
|
31169
31169
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31170
|
-
|
|
31170
|
+
chunkR3247EN3_cjs.AgentMainView,
|
|
31171
31171
|
{
|
|
31172
31172
|
onConnectExternal: () => setView("connect"),
|
|
31173
31173
|
config: mainAgent ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -31183,11 +31183,11 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
31183
31183
|
}
|
|
31184
31184
|
if (result) {
|
|
31185
31185
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31186
|
-
|
|
31186
|
+
chunkR3247EN3_cjs.AgentCreatedView,
|
|
31187
31187
|
{
|
|
31188
31188
|
email: result.email,
|
|
31189
31189
|
signingKey: result.signingKey,
|
|
31190
|
-
instructions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
31190
|
+
instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
|
|
31191
31191
|
config: /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentConfigForm, { agentExtId: result.extId, agentName: result.name }),
|
|
31192
31192
|
isConfigOpen: configOpen,
|
|
31193
31193
|
onToggleConfig: () => setConfigOpen((v) => !v),
|
|
@@ -31196,7 +31196,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
31196
31196
|
);
|
|
31197
31197
|
}
|
|
31198
31198
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31199
|
-
|
|
31199
|
+
chunkR3247EN3_cjs.AgentCreateView,
|
|
31200
31200
|
{
|
|
31201
31201
|
name,
|
|
31202
31202
|
onNameChange: setName,
|
|
@@ -32880,14 +32880,14 @@ var referencesOf = (inputs) => {
|
|
|
32880
32880
|
return value?.documents ?? [];
|
|
32881
32881
|
};
|
|
32882
32882
|
var PROMPT_BINDINGS = {
|
|
32883
|
-
[
|
|
32883
|
+
[chunkR3247EN3_cjs.GENERATE_IMAGE_ID]: {
|
|
32884
32884
|
attachScope: false,
|
|
32885
32885
|
tools: (inputs) => {
|
|
32886
32886
|
const aspectRatio = typeof inputs.aspect_ratio === "string" ? inputs.aspect_ratio : "";
|
|
32887
32887
|
return {
|
|
32888
32888
|
retrieval_chunk: browser.buildRetrievalChunkTool([]),
|
|
32889
32889
|
retrieval_full_context: browser.buildRetrievalFullContextTool(referencesOf(inputs)),
|
|
32890
|
-
...aspectRatio && aspectRatio !==
|
|
32890
|
+
...aspectRatio && aspectRatio !== chunkR3247EN3_cjs.IMAGE_ASPECT_AUTO ? {
|
|
32891
32891
|
image_generation: {
|
|
32892
32892
|
name: "image_generation",
|
|
32893
32893
|
description: "image generation",
|
|
@@ -32908,19 +32908,19 @@ var text = (inputs, name) => {
|
|
|
32908
32908
|
function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
32909
32909
|
const { data: documents = [] } = react.useDocuments();
|
|
32910
32910
|
const { data: workspaceTags = [] } = react.useTags();
|
|
32911
|
-
const tags = React9.useMemo(() =>
|
|
32911
|
+
const tags = React9.useMemo(() => chunkJEXP72GJ_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
|
|
32912
32912
|
const createTag = react.useCreateTag();
|
|
32913
32913
|
const updateTag = react.useUpdateTag();
|
|
32914
32914
|
const generate = react.useGenerateDocTags();
|
|
32915
|
-
const { create: createTask } =
|
|
32915
|
+
const { create: createTask } = chunkPTNV3TT5_cjs.useWorkflowTasks();
|
|
32916
32916
|
const applyModel = react.useApplyChatModel();
|
|
32917
32917
|
const session = react.useArbiSessionStore();
|
|
32918
32918
|
const { notify: notify18, openFiles, openNewConversation } = chunkNG6FFY44_cjs.useBlocksEnvironment();
|
|
32919
32919
|
const annotate = React9.useCallback(
|
|
32920
32920
|
async ({ inputs, scope }) => {
|
|
32921
32921
|
const description = text(inputs, "description");
|
|
32922
|
-
const name = text(inputs, "name") ||
|
|
32923
|
-
const matching =
|
|
32922
|
+
const name = text(inputs, "name") || chunkR3247EN3_cjs.deriveAnnotationName(description);
|
|
32923
|
+
const matching = chunkJEXP72GJ_cjs.matchWorkflowScope(documents, scope);
|
|
32924
32924
|
if (!name || !description || matching.length === 0) return;
|
|
32925
32925
|
try {
|
|
32926
32926
|
const existing = tags.find((t) => t.name.toLowerCase() === name.toLowerCase());
|
|
@@ -32963,9 +32963,9 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
32963
32963
|
async (launch) => {
|
|
32964
32964
|
const { workflow, inputs, scope, agentId } = launch;
|
|
32965
32965
|
if (workflow.run.kind === "operation") {
|
|
32966
|
-
if (workflow.id ===
|
|
32966
|
+
if (workflow.id === chunkR3247EN3_cjs.ANNOTATE_ID) {
|
|
32967
32967
|
await annotate(launch);
|
|
32968
|
-
|
|
32968
|
+
chunkR3247EN3_cjs.recordWorkflowUse(workflow.id);
|
|
32969
32969
|
return;
|
|
32970
32970
|
}
|
|
32971
32971
|
throw new Error(`No host handler for workflow "${workflow.id}"`);
|
|
@@ -32975,7 +32975,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
32975
32975
|
);
|
|
32976
32976
|
const prompt = chunkSMQIYEOL_cjs.composeWorkflowPrompt(workflow, inputs, { documentTitles });
|
|
32977
32977
|
if (!prompt) return;
|
|
32978
|
-
|
|
32978
|
+
chunkR3247EN3_cjs.recordWorkflowUse(workflow.id);
|
|
32979
32979
|
if (agentId) {
|
|
32980
32980
|
try {
|
|
32981
32981
|
const created = await createTask({
|
|
@@ -33020,7 +33020,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
33020
33020
|
const binding = PROMPT_BINDINGS[workflow.id];
|
|
33021
33021
|
if (!inPlace) openNewConversation();
|
|
33022
33022
|
if (binding?.attachScope !== false && !chunkSMQIYEOL_cjs.isEmptyWorkflowScope(scope)) {
|
|
33023
|
-
const ids =
|
|
33023
|
+
const ids = chunkJEXP72GJ_cjs.matchWorkflowScope(documents, scope).map((d) => d.external_id);
|
|
33024
33024
|
if (ids.length > 0) {
|
|
33025
33025
|
session.setConversationDocuments(
|
|
33026
33026
|
inPlace ? session.getState().conversationId ?? "new" : "new",
|
|
@@ -33055,30 +33055,30 @@ function ConnectedWorkflowStart({
|
|
|
33055
33055
|
const onLaunch = useLaunchWorkflow({ landing });
|
|
33056
33056
|
const { openUpload } = chunkNG6FFY44_cjs.useBlocksEnvironment();
|
|
33057
33057
|
const { data: workspaceTags = [] } = react.useTags();
|
|
33058
|
-
const tags = React9.useMemo(() =>
|
|
33058
|
+
const tags = React9.useMemo(() => chunkJEXP72GJ_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
|
|
33059
33059
|
const fieldPlaceholder = React9.useCallback(
|
|
33060
33060
|
(field, inputs, workflow) => {
|
|
33061
|
-
if (workflow.id !==
|
|
33062
|
-
const derived =
|
|
33061
|
+
if (workflow.id !== chunkR3247EN3_cjs.ANNOTATE_ID || field.name !== "name") return void 0;
|
|
33062
|
+
const derived = chunkR3247EN3_cjs.deriveAnnotationName(String(inputs.description ?? ""));
|
|
33063
33063
|
return derived ? `Otherwise \u201C${derived}\u201D` : "Taken from the description";
|
|
33064
33064
|
},
|
|
33065
33065
|
[]
|
|
33066
33066
|
);
|
|
33067
33067
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33068
|
-
|
|
33068
|
+
chunkWHJMV6TX_cjs.ConnectedWorkflowLauncher,
|
|
33069
33069
|
{
|
|
33070
33070
|
...rest,
|
|
33071
33071
|
workflows,
|
|
33072
33072
|
onLaunch,
|
|
33073
|
-
renderIcon:
|
|
33073
|
+
renderIcon: chunkR3247EN3_cjs.renderWorkflowIcon,
|
|
33074
33074
|
onAddFiles: openUpload,
|
|
33075
33075
|
agentLabels: AGENT_LABELS,
|
|
33076
33076
|
addFilesAction,
|
|
33077
33077
|
fieldPlaceholder,
|
|
33078
|
-
submitLabel: ({ workflow, matchedCount }) => workflow.id ===
|
|
33078
|
+
submitLabel: ({ workflow, matchedCount }) => workflow.id === chunkR3247EN3_cjs.ANNOTATE_ID && matchedCount !== null ? `Annotate ${matchedCount} document${matchedCount !== 1 ? "s" : ""}` : void 0,
|
|
33079
33079
|
renderNotice: ({ workflow, inputs }) => {
|
|
33080
|
-
if (workflow.id !==
|
|
33081
|
-
const name = String(inputs.name ?? "").trim() ||
|
|
33080
|
+
if (workflow.id !== chunkR3247EN3_cjs.ANNOTATE_ID) return null;
|
|
33081
|
+
const name = String(inputs.name ?? "").trim() || chunkR3247EN3_cjs.deriveAnnotationName(String(inputs.description ?? ""));
|
|
33082
33082
|
const existing = name ? tags.find((t) => t.name.toLowerCase() === name.toLowerCase()) : void 0;
|
|
33083
33083
|
if (!existing) return null;
|
|
33084
33084
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -33115,9 +33115,9 @@ function resolveLaunchInputs(workflow, request) {
|
|
|
33115
33115
|
return { ...fromContext, ...fromScope, ...request.inputs };
|
|
33116
33116
|
}
|
|
33117
33117
|
function useWorkflowLaunch() {
|
|
33118
|
-
const { skills } =
|
|
33118
|
+
const { skills } = chunkPTNV3TT5_cjs.useWorkflowDefinitions();
|
|
33119
33119
|
const launch = React9.useCallback(
|
|
33120
|
-
(workflowId, options2 = {}) =>
|
|
33120
|
+
(workflowId, options2 = {}) => chunkR3247EN3_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
|
|
33121
33121
|
[]
|
|
33122
33122
|
);
|
|
33123
33123
|
const itemsFor = React9.useCallback(
|
|
@@ -33146,9 +33146,9 @@ function useWorkflowLaunch() {
|
|
|
33146
33146
|
return { launch, itemsFor, scopeItemsFor };
|
|
33147
33147
|
}
|
|
33148
33148
|
function Inner() {
|
|
33149
|
-
const request =
|
|
33150
|
-
const close =
|
|
33151
|
-
const { skills } =
|
|
33149
|
+
const request = chunkR3247EN3_cjs.useWorkflowLaunchRequest();
|
|
33150
|
+
const close = chunkR3247EN3_cjs.closeWorkflowLaunch;
|
|
33151
|
+
const { skills } = chunkPTNV3TT5_cjs.useWorkflowDefinitions();
|
|
33152
33152
|
const run = useLaunchWorkflow({ landing: request?.landing });
|
|
33153
33153
|
const workflow = skills.find((w) => w.id === request?.workflowId);
|
|
33154
33154
|
const inputs = React9.useMemo(
|
|
@@ -33185,7 +33185,7 @@ function Inner() {
|
|
|
33185
33185
|
);
|
|
33186
33186
|
}
|
|
33187
33187
|
function WorkflowLaunchHost() {
|
|
33188
|
-
return
|
|
33188
|
+
return chunkR3247EN3_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
|
|
33189
33189
|
}
|
|
33190
33190
|
function isNeedsConfirmationDetail(detail) {
|
|
33191
33191
|
return typeof detail === "object" && detail !== null && detail.needs_confirmation === "resource_private";
|
|
@@ -33714,7 +33714,7 @@ var ConversationEntity = React9.memo(function ConversationEntity2({
|
|
|
33714
33714
|
);
|
|
33715
33715
|
const icon2 = /* @__PURE__ */ jsxRuntime.jsx(ui.ThreadVisibilityIcon, { shared: isShared, className: `${iconSizeClass} shrink-0` });
|
|
33716
33716
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33717
|
-
|
|
33717
|
+
chunkR3247EN3_cjs.EntityChip,
|
|
33718
33718
|
{
|
|
33719
33719
|
variant,
|
|
33720
33720
|
icon: icon2,
|
|
@@ -33736,7 +33736,7 @@ function WorkflowRunStatusCell({ conversation }) {
|
|
|
33736
33736
|
});
|
|
33737
33737
|
const { data: members = [] } = react.useWorkspaceUsers();
|
|
33738
33738
|
const me = react.useArbiSession().user?.external_id;
|
|
33739
|
-
const steps =
|
|
33739
|
+
const steps = chunkR3247EN3_cjs.fromPlanSteps(conversation.plan?.steps ?? []);
|
|
33740
33740
|
const states = chunkSMQIYEOL_cjs.stepStatesFromActivity(activity.data ?? []);
|
|
33741
33741
|
const nameOf = (id) => {
|
|
33742
33742
|
if (id === me) return "you";
|
|
@@ -33744,7 +33744,7 @@ function WorkflowRunStatusCell({ conversation }) {
|
|
|
33744
33744
|
return person ? ui.getUserDisplayName(person) : void 0;
|
|
33745
33745
|
};
|
|
33746
33746
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33747
|
-
|
|
33747
|
+
chunkR3247EN3_cjs.WorkflowRunStatus,
|
|
33748
33748
|
{
|
|
33749
33749
|
steps,
|
|
33750
33750
|
states,
|
|
@@ -33778,7 +33778,7 @@ function ConversationStatusCell({ conversation }) {
|
|
|
33778
33778
|
if (conversation.plan?.steps?.length && !isLiveGenerating)
|
|
33779
33779
|
return /* @__PURE__ */ jsxRuntime.jsx(WorkflowRunStatusCell, { conversation });
|
|
33780
33780
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33781
|
-
|
|
33781
|
+
chunkR3247EN3_cjs.ThreadStatusLine,
|
|
33782
33782
|
{
|
|
33783
33783
|
state: threadStateOf(conversation, isLiveGenerating),
|
|
33784
33784
|
className: "h-full",
|
|
@@ -34110,16 +34110,16 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
34110
34110
|
const openWorkflow = chunkNG6FFY44_cjs.useOpenWorkflow();
|
|
34111
34111
|
const workspaceExtId = react.useArbiSessionState((s) => s.workspaceId);
|
|
34112
34112
|
const task = conversations.find((c) => c.external_id === conversationId);
|
|
34113
|
-
const latestMessageAt =
|
|
34113
|
+
const latestMessageAt = chunkR3247EN3_cjs.latestMessageTime(messageHistory);
|
|
34114
34114
|
const events = (activity.data ?? []).filter(
|
|
34115
|
-
(event) => !
|
|
34115
|
+
(event) => !chunkR3247EN3_cjs.isSupersededStop(event, latestMessageAt)
|
|
34116
34116
|
);
|
|
34117
34117
|
const personName = (extId) => {
|
|
34118
34118
|
const person = members.find((m) => m.user.external_id === extId)?.user;
|
|
34119
34119
|
return person ? ui.getUserDisplayName(person) : "someone";
|
|
34120
34120
|
};
|
|
34121
|
-
const planSteps =
|
|
34122
|
-
const entries =
|
|
34121
|
+
const planSteps = chunkR3247EN3_cjs.fromPlanSteps(task?.plan?.steps ?? []);
|
|
34122
|
+
const entries = chunkR3247EN3_cjs.compactThreadActivity(events, (id) => planSteps.find((s) => s.id === id)?.title);
|
|
34123
34123
|
const items = entries.map(({ event, label, recipients }) => {
|
|
34124
34124
|
const messageActivity = [
|
|
34125
34125
|
"created",
|
|
@@ -34145,7 +34145,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
34145
34145
|
const messageId = sourceMessage ?? [...messageHistory].reverse().find((message) => Date.parse(message.created_at ?? "") <= Date.parse(event.created_at))?.external_id ?? messageHistory[0]?.external_id;
|
|
34146
34146
|
const doc = docId ? docs.find((d) => d.external_id === docId) : void 0;
|
|
34147
34147
|
const mailDraftId = event.kind === "notified" && event.detail?.event === "mail_draft_ready" && typeof event.detail?.mail_id === "string" ? event.detail.mail_id : void 0;
|
|
34148
|
-
const missed = event.kind === "notified" && recipients.length ?
|
|
34148
|
+
const missed = event.kind === "notified" && recipients.length ? chunkR3247EN3_cjs.unnotifiedMentions(
|
|
34149
34149
|
messageHistory.find((message) => message.external_id === sourceMessage)?.mentions,
|
|
34150
34150
|
recipients,
|
|
34151
34151
|
event.actor_ext_id
|
|
@@ -34178,7 +34178,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
34178
34178
|
) : void 0,
|
|
34179
34179
|
docId,
|
|
34180
34180
|
docTitle: doc ? ui.getDocumentTitle(doc) : void 0,
|
|
34181
|
-
label: mailDraftId ? "Left a draft email" : event.kind === "notified" && recipients.length ?
|
|
34181
|
+
label: mailDraftId ? "Left a draft email" : event.kind === "notified" && recipients.length ? chunkR3247EN3_cjs.notifiedLabel(recipients.map(personName), missed.map(personName)) : label,
|
|
34182
34182
|
description: [
|
|
34183
34183
|
name,
|
|
34184
34184
|
label,
|
|
@@ -34192,7 +34192,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
34192
34192
|
stepChip: eventStep ? stepChipOf(eventStep, event.kind, stepDocument) : void 0,
|
|
34193
34193
|
// No avatar tooltip: the entry is already a button (or titled row) that carries the same
|
|
34194
34194
|
// details, and a tooltip trigger inside it would be a nested <button>.
|
|
34195
|
-
avatar: assistant ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
34195
|
+
avatar: assistant ? /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.AssistantEntity, { variant: "icon", size: 20, showTooltip: false }) : member ? /* @__PURE__ */ jsxRuntime.jsx(chunkDZWO5JAG_cjs.DocumentUser, { user: member, tooltip: false }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { className: "size-4 text-muted-foreground" }),
|
|
34196
34196
|
time: ui.formatRelativeTime(event.created_at, { style: "short" }),
|
|
34197
34197
|
exactTime: ui.formatFriendlyDate(event.created_at),
|
|
34198
34198
|
onOpenDocument: docId && doc ? () => openDocument(docId) : void 0,
|
|
@@ -34241,7 +34241,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
34241
34241
|
onSelect: () => navigateToConversation(source)
|
|
34242
34242
|
});
|
|
34243
34243
|
}
|
|
34244
|
-
const links =
|
|
34244
|
+
const links = chunkR3247EN3_cjs.linkedRunsFromActivity(activity.data);
|
|
34245
34245
|
const threadName = (id, workflowId) => conversations.find((c) => c.external_id === id)?.title || workflows.find((w) => w.external_id === workflowId)?.name || "Linked thread";
|
|
34246
34246
|
const signals = links.raised.map((raised) => ({
|
|
34247
34247
|
step: raised.step,
|
|
@@ -34256,7 +34256,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
34256
34256
|
if (links.startedBy) {
|
|
34257
34257
|
const { conversationId: parentId, step, signal } = links.startedBy;
|
|
34258
34258
|
const parent = conversations.find((c) => c.external_id === parentId);
|
|
34259
|
-
const parentSteps =
|
|
34259
|
+
const parentSteps = chunkR3247EN3_cjs.fromPlanSteps(parent?.plan?.steps ?? []);
|
|
34260
34260
|
startedBy = {
|
|
34261
34261
|
stepTitle: parentSteps.find((s) => s.id === step)?.title ?? step ?? "a step",
|
|
34262
34262
|
threadTitle: parent?.title || "another thread",
|
|
@@ -34289,7 +34289,7 @@ function ConnectedThreadTaskBar({
|
|
|
34289
34289
|
const person = members.find((m) => m.user.external_id === id)?.user;
|
|
34290
34290
|
return person ? ui.getUserDisplayName(person) : void 0;
|
|
34291
34291
|
};
|
|
34292
|
-
const steps =
|
|
34292
|
+
const steps = chunkR3247EN3_cjs.fromPlanSteps(task?.plan?.steps ?? []);
|
|
34293
34293
|
const states = chunkSMQIYEOL_cjs.stepStatesFromActivity(activity.data ?? []);
|
|
34294
34294
|
const runInputs = task?.skill_inputs ?? {};
|
|
34295
34295
|
const stepCall = (body) => actOnStep.mutateAsync({ conversationId, body });
|
|
@@ -34315,7 +34315,7 @@ function ConnectedThreadTaskBar({
|
|
|
34315
34315
|
task?.plan?.steps?.length ? (
|
|
34316
34316
|
// A workflow run: its named steps, with what happened in the thread under each.
|
|
34317
34317
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34318
|
-
|
|
34318
|
+
chunkR3247EN3_cjs.WorkflowThreadStrip,
|
|
34319
34319
|
{
|
|
34320
34320
|
steps,
|
|
34321
34321
|
states,
|
|
@@ -34342,7 +34342,7 @@ function ConnectedThreadTaskBar({
|
|
|
34342
34342
|
renderStepAction: (step, phase) => (
|
|
34343
34343
|
// A signer or a draft's person acts on their step even on a thread they cannot edit.
|
|
34344
34344
|
canEdit || phase === "waiting" || phase === "done" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
34345
|
-
|
|
34345
|
+
chunkR3247EN3_cjs.WorkflowStepAction,
|
|
34346
34346
|
{
|
|
34347
34347
|
step,
|
|
34348
34348
|
phase,
|
|
@@ -34363,8 +34363,8 @@ function ConnectedThreadTaskBar({
|
|
|
34363
34363
|
}
|
|
34364
34364
|
)
|
|
34365
34365
|
) : items.length || startedBy ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34366
|
-
startedBy && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34367
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34366
|
+
startedBy && /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.WorkflowThreadStartedBy, { origin: startedBy }),
|
|
34367
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.TaskFlow, { items: items.filter((item) => !item.step) })
|
|
34368
34368
|
] }) : (
|
|
34369
34369
|
// Ordinary chats record no activity events, so an empty ribbon says nothing rather than
|
|
34370
34370
|
// "No recorded activity yet" while the answer and its steps are right there in the thread.
|
|
@@ -34398,7 +34398,7 @@ function ConnectedThreadTaskBar({
|
|
|
34398
34398
|
) }),
|
|
34399
34399
|
/* @__PURE__ */ jsxRuntime.jsxs(ui.DropdownMenuContent, { align: "end", children: [
|
|
34400
34400
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34401
|
-
|
|
34401
|
+
chunkVGFU6JFI_cjs.ThreadFollowMenuItem,
|
|
34402
34402
|
{
|
|
34403
34403
|
following: follow.following,
|
|
34404
34404
|
onFollowingChange: (on) => (
|
|
@@ -34654,7 +34654,7 @@ function ConnectedTaskStartDialog({
|
|
|
34654
34654
|
};
|
|
34655
34655
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34656
34656
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34657
|
-
|
|
34657
|
+
chunkR3247EN3_cjs.TaskStartDialog,
|
|
34658
34658
|
{
|
|
34659
34659
|
open: open && !later,
|
|
34660
34660
|
onOpenChange: (next) => {
|
|
@@ -34679,14 +34679,14 @@ function ConnectedTaskStartDialog({
|
|
|
34679
34679
|
}
|
|
34680
34680
|
),
|
|
34681
34681
|
later && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34682
|
-
|
|
34682
|
+
chunkPTNV3TT5_cjs.ConnectedTaskComposer,
|
|
34683
34683
|
{
|
|
34684
34684
|
open: true,
|
|
34685
34685
|
onOpenChange: (next) => !next && setLater(null),
|
|
34686
34686
|
kind: "workflow",
|
|
34687
34687
|
startLater: true,
|
|
34688
34688
|
initialPrompt: later.prompt,
|
|
34689
|
-
initialWorkflowId: later.todo ?
|
|
34689
|
+
initialWorkflowId: later.todo ? chunkR3247EN3_cjs.REMIND_TASK_ID : void 0,
|
|
34690
34690
|
initialShared: later.shared,
|
|
34691
34691
|
launchWorkflow: later.workflow
|
|
34692
34692
|
}
|
|
@@ -34700,7 +34700,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
34700
34700
|
const [later, setLater] = React9.useState(null);
|
|
34701
34701
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34702
34702
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34703
|
-
|
|
34703
|
+
chunkR3247EN3_cjs.ThreadLauncher,
|
|
34704
34704
|
{
|
|
34705
34705
|
workflows: task.workflows,
|
|
34706
34706
|
people: task.people,
|
|
@@ -34730,14 +34730,14 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
34730
34730
|
}
|
|
34731
34731
|
),
|
|
34732
34732
|
later && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34733
|
-
|
|
34733
|
+
chunkPTNV3TT5_cjs.ConnectedTaskComposer,
|
|
34734
34734
|
{
|
|
34735
34735
|
open: true,
|
|
34736
34736
|
onOpenChange: (next) => !next && setLater(null),
|
|
34737
34737
|
kind: "workflow",
|
|
34738
34738
|
startLater: true,
|
|
34739
34739
|
initialPrompt: later.prompt,
|
|
34740
|
-
initialWorkflowId: later.todo ?
|
|
34740
|
+
initialWorkflowId: later.todo ? chunkR3247EN3_cjs.REMIND_TASK_ID : void 0,
|
|
34741
34741
|
initialShared: later.shared,
|
|
34742
34742
|
launchWorkflow: later.workflow
|
|
34743
34743
|
}
|
|
@@ -34766,13 +34766,13 @@ function ConnectedNewThreadDialog({
|
|
|
34766
34766
|
});
|
|
34767
34767
|
const parentOptions = React9.useMemo(() => {
|
|
34768
34768
|
const leaf = { external_id: "__new__" };
|
|
34769
|
-
return
|
|
34769
|
+
return chunkR3247EN3_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
|
|
34770
34770
|
id: t.external_id,
|
|
34771
34771
|
name: t.title?.trim() || "Untitled task"
|
|
34772
34772
|
}));
|
|
34773
34773
|
}, [tasks]);
|
|
34774
34774
|
const submit = async (values) => {
|
|
34775
|
-
const request =
|
|
34775
|
+
const request = chunkR3247EN3_cjs.newThreadToRequest(values);
|
|
34776
34776
|
try {
|
|
34777
34777
|
if (!workspaceId) throw new Error("Open a workspace to add a task.");
|
|
34778
34778
|
if (!request.startAssistant && request.todo) {
|
|
@@ -34813,7 +34813,7 @@ function ConnectedNewThreadDialog({
|
|
|
34813
34813
|
}
|
|
34814
34814
|
};
|
|
34815
34815
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34816
|
-
|
|
34816
|
+
chunkR3247EN3_cjs.NewThreadDialog,
|
|
34817
34817
|
{
|
|
34818
34818
|
open,
|
|
34819
34819
|
onOpenChange,
|
|
@@ -34829,7 +34829,7 @@ function ConnectedNewThreadDialog({
|
|
|
34829
34829
|
var START_VISIBLE = 8;
|
|
34830
34830
|
var START_SEARCH_ABOVE = 8;
|
|
34831
34831
|
function ConnectedConversationStart() {
|
|
34832
|
-
const { start } =
|
|
34832
|
+
const { start } = chunkPTNV3TT5_cjs.useWorkflowDefinitions();
|
|
34833
34833
|
const { openSkillsBrowser } = chunkNG6FFY44_cjs.useBlocksEnvironment();
|
|
34834
34834
|
const [query, setQuery] = React9.useState("");
|
|
34835
34835
|
const q = query.trim().toLowerCase();
|
|
@@ -34844,7 +34844,7 @@ function ConnectedConversationStart() {
|
|
|
34844
34844
|
const browse = openSkillsBrowser ? [
|
|
34845
34845
|
{
|
|
34846
34846
|
id: "browse-all",
|
|
34847
|
-
iconNode:
|
|
34847
|
+
iconNode: chunkR3247EN3_cjs.renderWorkflowIcon("library"),
|
|
34848
34848
|
title: "Browse all",
|
|
34849
34849
|
description: "See every skill, make a copy, add your own",
|
|
34850
34850
|
onSelect: () => openSkillsBrowser(),
|
|
@@ -34888,7 +34888,7 @@ function parseTypedSkill(draft) {
|
|
|
34888
34888
|
return m ? { slug: m[1].toLowerCase(), text: (m[2] ?? "").trim() } : null;
|
|
34889
34889
|
}
|
|
34890
34890
|
function useSlashSkillWorkflows({ landing }) {
|
|
34891
|
-
const { skills, skillsEnabled } =
|
|
34891
|
+
const { skills, skillsEnabled } = chunkPTNV3TT5_cjs.useWorkflowDefinitions();
|
|
34892
34892
|
const { commands } = react.useBuiltinCommands();
|
|
34893
34893
|
const [active, setActive] = React9.useState(null);
|
|
34894
34894
|
const open = (workflow, text2) => {
|
|
@@ -34957,7 +34957,7 @@ function getToolParams(detail) {
|
|
|
34957
34957
|
return params;
|
|
34958
34958
|
}
|
|
34959
34959
|
function StepModelIcon({ modelName, tag }) {
|
|
34960
|
-
const cfg = tag === "Premium" ? null :
|
|
34960
|
+
const cfg = tag === "Premium" ? null : chunkR3247EN3_cjs.getModelIcon(modelName, tag);
|
|
34961
34961
|
if (tag !== "Premium" && !cfg) return null;
|
|
34962
34962
|
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
|
|
34963
34963
|
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0", children: tag === "Premium" ? /* @__PURE__ */ jsxRuntime.jsx(ui.ProviderIcon, { modelName: modelName ?? void 0, size: 11 }) : cfg && /* @__PURE__ */ jsxRuntime.jsx(cfg.icon, { className: cfg.className, style: { width: 11, height: 11 } }) }) }),
|
|
@@ -35072,15 +35072,15 @@ var AgentStepsComponent = ({
|
|
|
35072
35072
|
const lastStepIndex = mergedSteps[mergedSteps.length - 1].index;
|
|
35073
35073
|
const renderRow = (step, depth, isLastInList) => {
|
|
35074
35074
|
const i = posByIndex.get(step.index);
|
|
35075
|
-
const presentation =
|
|
35075
|
+
const presentation = chunkR3247EN3_cjs.getAgentStepPresentation(step, docInfo);
|
|
35076
35076
|
const { tool, Icon } = presentation;
|
|
35077
35077
|
const { label, summary, isMultiLine, details } = browser.getStepDisplay(step, docInfo);
|
|
35078
|
-
const accent =
|
|
35078
|
+
const accent = chunkR3247EN3_cjs.stepAccent(step, tool);
|
|
35079
35079
|
const duration = stepDurations[i];
|
|
35080
35080
|
const isLastStep = step.index === lastStepIndex;
|
|
35081
35081
|
const isActive = step.index === currentStepIndex;
|
|
35082
35082
|
const tier = step.step === "goal" ? step.model_recommendation : null;
|
|
35083
|
-
const TierIcon = tier ?
|
|
35083
|
+
const TierIcon = tier ? chunkR3247EN3_cjs.MODEL_TIER_ICON_MAP[tier] : null;
|
|
35084
35084
|
const useLiveDuration = isLastStep && liveTimer != null && step.t != null;
|
|
35085
35085
|
const durationNode = useLiveDuration ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
35086
35086
|
MessageLiveSeconds,
|
|
@@ -35104,7 +35104,7 @@ var AgentStepsComponent = ({
|
|
|
35104
35104
|
})) : null;
|
|
35105
35105
|
const folded = childrenByParent.get(step.index);
|
|
35106
35106
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
35107
|
-
|
|
35107
|
+
chunkR3247EN3_cjs.StepRow,
|
|
35108
35108
|
{
|
|
35109
35109
|
index: step.index,
|
|
35110
35110
|
number: displayNumber.get(step.index) ?? String(i + 1),
|
|
@@ -35118,7 +35118,7 @@ var AgentStepsComponent = ({
|
|
|
35118
35118
|
titleTestId: isActive ? "agent-expanded-current-step-description" : void 0,
|
|
35119
35119
|
badge: TierIcon ? /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
|
|
35120
35120
|
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex shrink-0 items-center self-center", children: /* @__PURE__ */ jsxRuntime.jsx(TierIcon, { size: 12, className: accent.fg, "aria-hidden": true }) }) }),
|
|
35121
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "top", children:
|
|
35121
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "top", children: chunkR3247EN3_cjs.MODEL_TIER_LABELS[tier] ?? tier })
|
|
35122
35122
|
] }) : void 0,
|
|
35123
35123
|
meta: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
35124
35124
|
isDeveloper && /* @__PURE__ */ jsxRuntime.jsx(StepModelIcon, { modelName: step.usage?.model, tag: getModelTag(step.usage?.model) }),
|
|
@@ -35133,14 +35133,14 @@ var AgentStepsComponent = ({
|
|
|
35133
35133
|
summary && !isActive && (step.narration ? (
|
|
35134
35134
|
/* Narration is PROSE (headings, bold, lists): render markdown, not raw asterisks.
|
|
35135
35135
|
Tool summaries stay plain text: one-line headlines where a clamp matters. */
|
|
35136
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35137
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
35138
|
-
details.map((d, di) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
35139
|
-
showOutcome && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35140
|
-
toolParams.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35141
|
-
criteriaView && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35136
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.StepNarration, { index: step.index, children: /* @__PURE__ */ jsxRuntime.jsx(chunkA2UBFIY5_cjs.ConnectedMarkdown, { isStreaming: false, children: summary }) })
|
|
35137
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.StepSummary, { index: step.index, multiLine: isMultiLine, children: summary })),
|
|
35138
|
+
details.map((d, di) => /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.StepDetail, { index: step.index, children: d }, di)),
|
|
35139
|
+
showOutcome && /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.StepOutcome, { index: step.index, failed: outcomeFailed, children: step.outcome }),
|
|
35140
|
+
toolParams.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.StepParams, { children: toolParams.map((p) => `${p.key}=${p.value}`).join(" ") }),
|
|
35141
|
+
criteriaView && /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.GoalCriteria, { criteria: criteriaView }),
|
|
35142
35142
|
folded && folded.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35143
|
-
|
|
35143
|
+
chunkR3247EN3_cjs.SubStepGroup,
|
|
35144
35144
|
{
|
|
35145
35145
|
parentIndex: step.index,
|
|
35146
35146
|
summary: summariseSubSteps(folded),
|
|
@@ -35166,7 +35166,7 @@ var AgentStepsComponent = ({
|
|
|
35166
35166
|
leftParts.push(`${browser.formatTokens(totalInputTokens)} in`);
|
|
35167
35167
|
if (totalOutputTokens > 0) leftParts.push(`${browser.formatTokens(totalOutputTokens)} out`);
|
|
35168
35168
|
summaryNode = /* @__PURE__ */ jsxRuntime.jsx(
|
|
35169
|
-
|
|
35169
|
+
chunkR3247EN3_cjs.StepTraceSummary,
|
|
35170
35170
|
{
|
|
35171
35171
|
left: leftParts.join(" \xB7 "),
|
|
35172
35172
|
isNearBudget: browser.isNearAiUsageBudget(contextUsage),
|
|
@@ -35174,7 +35174,7 @@ var AgentStepsComponent = ({
|
|
|
35174
35174
|
}
|
|
35175
35175
|
);
|
|
35176
35176
|
}
|
|
35177
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35177
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.StepTrace, { className, summary: summaryNode, children: displayRows.map((row2, i) => {
|
|
35178
35178
|
if (row2.lane) {
|
|
35179
35179
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35180
35180
|
LaneBinding,
|
|
@@ -35211,7 +35211,7 @@ function LaneBinding({
|
|
|
35211
35211
|
const running = !closed && isStreaming;
|
|
35212
35212
|
const latest = inner[inner.length - 1];
|
|
35213
35213
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35214
|
-
|
|
35214
|
+
chunkR3247EN3_cjs.SubAgentLane,
|
|
35215
35215
|
{
|
|
35216
35216
|
handle,
|
|
35217
35217
|
number,
|
|
@@ -35334,7 +35334,7 @@ function AgentBarShell({
|
|
|
35334
35334
|
}, [isStepsExpanded, steps]);
|
|
35335
35335
|
const visibleStepCount = React9.useMemo(() => browser.topLevelAgentSteps(steps ?? []).length, [steps]);
|
|
35336
35336
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35337
|
-
|
|
35337
|
+
chunkR3247EN3_cjs.AgentBar,
|
|
35338
35338
|
{
|
|
35339
35339
|
className,
|
|
35340
35340
|
testId,
|
|
@@ -35390,7 +35390,7 @@ function AgentControlBar({
|
|
|
35390
35390
|
const isPaused = controlState === "paused" || controlState === "resuming";
|
|
35391
35391
|
const steps = agentSteps ?? [];
|
|
35392
35392
|
const currentStep = browser.getCurrentStep(steps);
|
|
35393
|
-
const currentPresentation =
|
|
35393
|
+
const currentPresentation = chunkR3247EN3_cjs.getCurrentAgentStepPresentation(steps);
|
|
35394
35394
|
const CurrentStepIcon = currentPresentation?.Icon;
|
|
35395
35395
|
const stepLabel2 = currentPresentation?.description ?? "Agent working\u2026";
|
|
35396
35396
|
const runningLanes = browser.extractSubagentLanes(steps).filter((l) => l.status === "running");
|
|
@@ -35407,7 +35407,7 @@ function AgentControlBar({
|
|
|
35407
35407
|
}
|
|
35408
35408
|
);
|
|
35409
35409
|
const status = /* @__PURE__ */ jsxRuntime.jsx(
|
|
35410
|
-
|
|
35410
|
+
chunkR3247EN3_cjs.AgentBarStatus,
|
|
35411
35411
|
{
|
|
35412
35412
|
state: showState ? controlState : void 0,
|
|
35413
35413
|
stateLabel: STATE_LABEL[controlState],
|
|
@@ -35449,7 +35449,7 @@ function AgentControlBar({
|
|
|
35449
35449
|
];
|
|
35450
35450
|
const controls = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
35451
35451
|
onStop && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35452
|
-
|
|
35452
|
+
chunkR3247EN3_cjs.AgentBarIconButton,
|
|
35453
35453
|
{
|
|
35454
35454
|
onClick: onStop,
|
|
35455
35455
|
title: "Stop",
|
|
@@ -35458,22 +35458,22 @@ function AgentControlBar({
|
|
|
35458
35458
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3 w-3", fill: "currentColor" })
|
|
35459
35459
|
}
|
|
35460
35460
|
),
|
|
35461
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35461
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.AgentBarMenu, { items: menuItems })
|
|
35462
35462
|
] });
|
|
35463
35463
|
const displayedQueuedMessages = (transientQueuedMessages ?? []).filter(
|
|
35464
35464
|
(message) => !message.serverId || !queuedMessages.some((queued) => queued.external_id === message.serverId)
|
|
35465
35465
|
);
|
|
35466
35466
|
const queuedNotes = displayedQueuedMessages.filter((message) => message.content);
|
|
35467
|
-
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
35467
|
+
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkR3247EN3_cjs.AgentBarNotes, { children: [
|
|
35468
35468
|
queuedNotes.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
35469
|
-
|
|
35469
|
+
chunkR3247EN3_cjs.AgentBarQueuedNote,
|
|
35470
35470
|
{
|
|
35471
35471
|
text: message.content ?? "",
|
|
35472
35472
|
isAcknowledged: message.acknowledged
|
|
35473
35473
|
},
|
|
35474
35474
|
index
|
|
35475
35475
|
)),
|
|
35476
|
-
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35476
|
+
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
|
|
35477
35477
|
] }) : null;
|
|
35478
35478
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35479
35479
|
AgentBarShell,
|
|
@@ -35530,7 +35530,7 @@ function RunningSubagentsRoster({
|
|
|
35530
35530
|
if (leafId) selectThread(leafId);
|
|
35531
35531
|
};
|
|
35532
35532
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35533
|
-
|
|
35533
|
+
chunkR3247EN3_cjs.SubagentRoster,
|
|
35534
35534
|
{
|
|
35535
35535
|
lanes: rosterLanes,
|
|
35536
35536
|
className,
|
|
@@ -35654,7 +35654,7 @@ function useOpenChunk() {
|
|
|
35654
35654
|
const meta = chunk.metadata;
|
|
35655
35655
|
if (!meta?.doc_ext_id) return;
|
|
35656
35656
|
const listed = documents?.find((d) => d.external_id === meta.doc_ext_id);
|
|
35657
|
-
openDocument(
|
|
35657
|
+
openDocument(chunkYD3RN2FY_cjs.citedVersionRef(meta.doc_ext_id, meta.doc_version, listed?.current_version), {
|
|
35658
35658
|
page: meta.page_number ?? void 0,
|
|
35659
35659
|
passageId: meta.chunk_ext_id ?? void 0
|
|
35660
35660
|
});
|
|
@@ -36272,7 +36272,7 @@ function WorkflowStepMessage({
|
|
|
36272
36272
|
const { conversations } = react.useConversationItems();
|
|
36273
36273
|
const activity = react.useConversationActivity(conversationId ?? void 0, { live: true });
|
|
36274
36274
|
const plan = conversations.find((c) => c.external_id === conversationId)?.plan;
|
|
36275
|
-
const steps =
|
|
36275
|
+
const steps = chunkR3247EN3_cjs.fromPlanSteps(plan?.steps ?? []);
|
|
36276
36276
|
const found = steps.find((s) => s.id === step);
|
|
36277
36277
|
const states = chunkSMQIYEOL_cjs.stepStatesFromActivity(activity.data ?? []);
|
|
36278
36278
|
const { data: documents = [] } = react.useDocuments();
|
|
@@ -36444,7 +36444,7 @@ var MessageComponent = ({
|
|
|
36444
36444
|
const isQueuedAnswer = !isUser && message.status === "queued" && !isGenerating;
|
|
36445
36445
|
const isAwaitingAnswer = (isGenerating || isRunningOnServer) && !isStopped && !!message.pendingUserInput;
|
|
36446
36446
|
const showWorkingIndicator = (isGenerating || isRunningOnServer) && !isQueuedAnswer && !responseContent.trim() && !linkedArtifact && !isAwaitingAnswer;
|
|
36447
|
-
const workingStepLabel = showWorkingIndicator ?
|
|
36447
|
+
const workingStepLabel = showWorkingIndicator ? chunkR3247EN3_cjs.getCurrentAgentStepPresentation(message.agentSteps ?? [])?.description : void 0;
|
|
36448
36448
|
const workingStepStart = showWorkingIndicator ? browser.getCurrentStep(message.agentSteps ?? [])?.t ?? 0 : 0;
|
|
36449
36449
|
const showEmptyAnswer = !isUser && !isGenerating && !isRunningOnServer && !isFailed && !isStopped && !responseContent.trim() && !linkedArtifact;
|
|
36450
36450
|
const isEmptyStopped = isStopped && !responseContent.trim();
|
|
@@ -36464,7 +36464,7 @@ var MessageComponent = ({
|
|
|
36464
36464
|
else session.setDraft(retry.question.content);
|
|
36465
36465
|
};
|
|
36466
36466
|
const factData = React9.useMemo(
|
|
36467
|
-
() =>
|
|
36467
|
+
() => chunkYD3RN2FY_cjs.buildFactCitations(responseContent, activeCitations, citationData),
|
|
36468
36468
|
[responseContent, activeCitations, citationData]
|
|
36469
36469
|
);
|
|
36470
36470
|
const factText = factData.text;
|
|
@@ -36567,7 +36567,7 @@ var MessageComponent = ({
|
|
|
36567
36567
|
notify18("Cannot create fact: no workspace open", "error");
|
|
36568
36568
|
return;
|
|
36569
36569
|
}
|
|
36570
|
-
const chronology =
|
|
36570
|
+
const chronology = chunkYD3RN2FY_cjs.chronologyFactBodies(factText, factData.citations);
|
|
36571
36571
|
try {
|
|
36572
36572
|
if (chronology) {
|
|
36573
36573
|
await createFacts.mutateAsync({ facts: chronology });
|
|
@@ -36748,7 +36748,7 @@ var MessageComponent = ({
|
|
|
36748
36748
|
},
|
|
36749
36749
|
"data-testid": `message-model-${messageId}`,
|
|
36750
36750
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
36751
|
-
|
|
36751
|
+
chunkR3247EN3_cjs.AssistantEntity,
|
|
36752
36752
|
{
|
|
36753
36753
|
name: modelDisplayName,
|
|
36754
36754
|
modelName,
|
|
@@ -36861,7 +36861,7 @@ var MessageComponent = ({
|
|
|
36861
36861
|
// Stays the ARBI identity while streaming: the model name arrives
|
|
36862
36862
|
// with the first step that reports one and would swap the author
|
|
36863
36863
|
// mid-answer. The model is shown in the footer once settled.
|
|
36864
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36864
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.AssistantEntity, { size: 16, pillSize: "sm" })
|
|
36865
36865
|
),
|
|
36866
36866
|
timeLabel,
|
|
36867
36867
|
isSettled: settledForHeader,
|
|
@@ -37326,7 +37326,7 @@ function ConnectedMessageList({ messages }) {
|
|
|
37326
37326
|
start: virtualItem.start,
|
|
37327
37327
|
messageId: entry.id,
|
|
37328
37328
|
setSize: transcript.length,
|
|
37329
|
-
children: entry.item.card ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
37329
|
+
children: entry.item.card ?? /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ThreadActivity, { item: entry.item, children: entry.item.onOpenDocument && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37330
37330
|
"button",
|
|
37331
37331
|
{
|
|
37332
37332
|
className: "mt-1 hover:underline text-primary",
|
|
@@ -37486,8 +37486,8 @@ function ConnectedThreadsPage({
|
|
|
37486
37486
|
const tasks = useStableRecencyOrder(listed);
|
|
37487
37487
|
const updateConversation = react.useUpdateConversation();
|
|
37488
37488
|
const deleteConversation = react.useDeleteConversation();
|
|
37489
|
-
const people =
|
|
37490
|
-
const renderPerson =
|
|
37489
|
+
const people = chunkPTNV3TT5_cjs.useTaskPeople();
|
|
37490
|
+
const renderPerson = chunkPTNV3TT5_cjs.useRenderTaskPerson();
|
|
37491
37491
|
const canEditShared = react.useCanEditShared();
|
|
37492
37492
|
const isWorkspaceOwner = react.useIsWorkspaceOwner();
|
|
37493
37493
|
const { data: agents = [] } = react.useAgents();
|
|
@@ -37725,7 +37725,7 @@ function ConnectedThreadsPage({
|
|
|
37725
37725
|
"data-testid": mode === "tasks" ? "tasks-page" : "threads-page",
|
|
37726
37726
|
children: [
|
|
37727
37727
|
/* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-0 flex-1 flex-col bg-background", children: mode === "threads" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
37728
|
-
|
|
37728
|
+
chunkR3247EN3_cjs.ConversationListView,
|
|
37729
37729
|
{
|
|
37730
37730
|
showHeader,
|
|
37731
37731
|
conversations: tasks,
|
|
@@ -37745,7 +37745,7 @@ function ConnectedThreadsPage({
|
|
|
37745
37745
|
renderLabels: threadLabels.renderLabels,
|
|
37746
37746
|
labelText: threadLabels.labelText,
|
|
37747
37747
|
renderBy: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
37748
|
-
|
|
37748
|
+
chunkR3247EN3_cjs.ConversationTurnSpeaker,
|
|
37749
37749
|
{
|
|
37750
37750
|
variant: "icon",
|
|
37751
37751
|
role: row2.last_message_role,
|
|
@@ -37767,7 +37767,7 @@ function ConnectedThreadsPage({
|
|
|
37767
37767
|
footer: /* @__PURE__ */ jsxRuntime.jsx(ConnectedThreadLauncher, { autoFocus: focusLauncher })
|
|
37768
37768
|
}
|
|
37769
37769
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
37770
|
-
|
|
37770
|
+
chunkR3247EN3_cjs.TaskInbox,
|
|
37771
37771
|
{
|
|
37772
37772
|
tasks,
|
|
37773
37773
|
isLoading,
|
|
@@ -37811,7 +37811,7 @@ function ConnectedThreadsPage({
|
|
|
37811
37811
|
initialParentId: parentForNew
|
|
37812
37812
|
}
|
|
37813
37813
|
),
|
|
37814
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
37814
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkPTNV3TT5_cjs.ConnectedTaskComposer, { open: editorOpen, onOpenChange: setEditorOpen, task: editing }),
|
|
37815
37815
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
37816
37816
|
ConnectedExportDialog,
|
|
37817
37817
|
{
|
|
@@ -38047,7 +38047,7 @@ function ConnectedConversationPage({
|
|
|
38047
38047
|
}
|
|
38048
38048
|
);
|
|
38049
38049
|
const { data: workspaceTags = [] } = react.useTags();
|
|
38050
|
-
const historyCount =
|
|
38050
|
+
const historyCount = chunkR3247EN3_cjs.filterConversationRows(
|
|
38051
38051
|
conversations,
|
|
38052
38052
|
threadFilter,
|
|
38053
38053
|
(row2) => workspaceTags.filter((tag) => row2.label_ext_ids?.includes(tag.external_id)).map((tag) => tag.name).join(" "),
|
|
@@ -38978,7 +38978,7 @@ function ConversationThread({
|
|
|
38978
38978
|
}, [isGenerating]);
|
|
38979
38979
|
const slashWorkflows = useSlashSkillWorkflows({ landing: "current-chat" });
|
|
38980
38980
|
const composerSkills = React9.useMemo(
|
|
38981
|
-
() => ({ builtin:
|
|
38981
|
+
() => ({ builtin: chunkR3247EN3_cjs.BUILTIN_SKILLS, openFor: slashWorkflows.openFor }),
|
|
38982
38982
|
[slashWorkflows.openFor]
|
|
38983
38983
|
);
|
|
38984
38984
|
const browseSkills = React9.useMemo(
|
|
@@ -39053,7 +39053,7 @@ function ConversationThread({
|
|
|
39053
39053
|
/* @__PURE__ */ jsxRuntime.jsx(chunkGUJD7R6U_cjs.CallConversationEmpty, { callExtId: meetingCallExtId }),
|
|
39054
39054
|
/* @__PURE__ */ jsxRuntime.jsx(chunkGUJD7R6U_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
|
|
39055
39055
|
] })
|
|
39056
|
-
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
39056
|
+
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
39057
39057
|
ConnectedConversationEmpty,
|
|
39058
39058
|
{
|
|
39059
39059
|
hasDocuments: allWorkspaceDocuments.length > 0,
|
|
@@ -40940,7 +40940,7 @@ function SsoResendVerificationButton({
|
|
|
40940
40940
|
onClick: async () => handleResendEmailVerification(),
|
|
40941
40941
|
disabled: loading || disabled,
|
|
40942
40942
|
"aria-label": "Resend verification email",
|
|
40943
|
-
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
40943
|
+
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkVGFU6JFI_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
40944
40944
|
"Didn't get a verification email? ",
|
|
40945
40945
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: "Resend" })
|
|
40946
40946
|
] })
|
|
@@ -41834,27 +41834,27 @@ function ConnectedOAuthConsentPage({
|
|
|
41834
41834
|
oauthErrorRedirect(params.redirectUri, params.state, "access_denied");
|
|
41835
41835
|
}
|
|
41836
41836
|
if (error && !params) {
|
|
41837
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41837
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
|
|
41838
41838
|
}
|
|
41839
41839
|
if (!params) {
|
|
41840
41840
|
return null;
|
|
41841
41841
|
}
|
|
41842
41842
|
if (clientInfo?.isLocalAgentFlow) {
|
|
41843
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41843
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_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." }) });
|
|
41844
41844
|
}
|
|
41845
41845
|
if (!isAuthenticated2) {
|
|
41846
41846
|
return null;
|
|
41847
41847
|
}
|
|
41848
41848
|
if (callbackUrl) {
|
|
41849
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41850
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
41849
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR3247EN3_cjs.ConsentCard, { size: "md", children: [
|
|
41850
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkR3247EN3_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
|
|
41851
41851
|
"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",
|
|
41852
41852
|
" ",
|
|
41853
41853
|
copied ? "it's already copied to your clipboard." : "copy it first."
|
|
41854
41854
|
] }),
|
|
41855
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
41856
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41857
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
41855
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkR3247EN3_cjs.ConsentSection, { title: "Callback URL", children: [
|
|
41856
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
|
|
41857
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkR3247EN3_cjs.ConsentText, { variant: "hint", children: [
|
|
41858
41858
|
"In Claude Code, paste the URL at the prompt that says",
|
|
41859
41859
|
" ",
|
|
41860
41860
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-foreground", children: '"paste the full redirect URL here"' }),
|
|
@@ -41863,17 +41863,17 @@ function ConnectedOAuthConsentPage({
|
|
|
41863
41863
|
] })
|
|
41864
41864
|
] }) });
|
|
41865
41865
|
}
|
|
41866
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41867
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
41868
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41866
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR3247EN3_cjs.ConsentCard, { children: [
|
|
41867
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkR3247EN3_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
|
|
41868
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
|
|
41869
41869
|
" is requesting access to your ",
|
|
41870
41870
|
appName,
|
|
41871
41871
|
" workspace."
|
|
41872
41872
|
] }),
|
|
41873
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41874
|
-
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
41875
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41876
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41873
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentPermissionList, { items: permissions }) }),
|
|
41874
|
+
error && /* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentNotice, { tone: "error", children: error }),
|
|
41875
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
|
|
41876
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR3247EN3_cjs.ConsentFootnote, { children: footnote })
|
|
41877
41877
|
] }) });
|
|
41878
41878
|
}
|
|
41879
41879
|
function ConnectedSharedFilesPage({
|
|
@@ -42169,10 +42169,10 @@ function useContextualHints() {
|
|
|
42169
42169
|
const session = react.useArbiSessionStore();
|
|
42170
42170
|
const { data: userSettings } = react.useUserSettings();
|
|
42171
42171
|
const updateUserSettings = react.useUpdateUserSettings();
|
|
42172
|
-
const [sessionOverride] = react.useTransientView(
|
|
42173
|
-
const setShowHints = (value) =>
|
|
42172
|
+
const [sessionOverride] = react.useTransientView(chunkVGFU6JFI_cjs.TIPS_VISIBILITY_OVERRIDE, null);
|
|
42173
|
+
const setShowHints = (value) => chunkVGFU6JFI_cjs.setHintsSessionOverride(session, value);
|
|
42174
42174
|
const setShowHintsPersisted = (value) => {
|
|
42175
|
-
|
|
42175
|
+
chunkVGFU6JFI_cjs.setHintsSessionOverride(session, null);
|
|
42176
42176
|
updateUserSettings.mutate({ show_hints: value });
|
|
42177
42177
|
};
|
|
42178
42178
|
return {
|
|
@@ -42251,43 +42251,43 @@ Object.defineProperty(exports, "useMemberLookup", {
|
|
|
42251
42251
|
});
|
|
42252
42252
|
Object.defineProperty(exports, "ConnectedTaskActivityDialog", {
|
|
42253
42253
|
enumerable: true,
|
|
42254
|
-
get: function () { return
|
|
42254
|
+
get: function () { return chunkPTNV3TT5_cjs.ConnectedTaskActivityDialog; }
|
|
42255
42255
|
});
|
|
42256
42256
|
Object.defineProperty(exports, "ConnectedTaskComposer", {
|
|
42257
42257
|
enumerable: true,
|
|
42258
|
-
get: function () { return
|
|
42258
|
+
get: function () { return chunkPTNV3TT5_cjs.ConnectedTaskComposer; }
|
|
42259
42259
|
});
|
|
42260
42260
|
Object.defineProperty(exports, "ConnectedWorkflowHistory", {
|
|
42261
42261
|
enumerable: true,
|
|
42262
|
-
get: function () { return
|
|
42262
|
+
get: function () { return chunkPTNV3TT5_cjs.ConnectedWorkflowHistory; }
|
|
42263
42263
|
});
|
|
42264
42264
|
Object.defineProperty(exports, "useRenderTaskPerson", {
|
|
42265
42265
|
enumerable: true,
|
|
42266
|
-
get: function () { return
|
|
42266
|
+
get: function () { return chunkPTNV3TT5_cjs.useRenderTaskPerson; }
|
|
42267
42267
|
});
|
|
42268
42268
|
Object.defineProperty(exports, "useSkillsEnabled", {
|
|
42269
42269
|
enumerable: true,
|
|
42270
|
-
get: function () { return
|
|
42270
|
+
get: function () { return chunkPTNV3TT5_cjs.useSkillsEnabled; }
|
|
42271
42271
|
});
|
|
42272
42272
|
Object.defineProperty(exports, "useTaskPeople", {
|
|
42273
42273
|
enumerable: true,
|
|
42274
|
-
get: function () { return
|
|
42274
|
+
get: function () { return chunkPTNV3TT5_cjs.useTaskPeople; }
|
|
42275
42275
|
});
|
|
42276
42276
|
Object.defineProperty(exports, "useWorkflowDefinitions", {
|
|
42277
42277
|
enumerable: true,
|
|
42278
|
-
get: function () { return
|
|
42278
|
+
get: function () { return chunkPTNV3TT5_cjs.useWorkflowDefinitions; }
|
|
42279
42279
|
});
|
|
42280
42280
|
Object.defineProperty(exports, "useWorkflowTasks", {
|
|
42281
42281
|
enumerable: true,
|
|
42282
|
-
get: function () { return
|
|
42282
|
+
get: function () { return chunkPTNV3TT5_cjs.useWorkflowTasks; }
|
|
42283
42283
|
});
|
|
42284
42284
|
Object.defineProperty(exports, "useWorkflowsPageState", {
|
|
42285
42285
|
enumerable: true,
|
|
42286
|
-
get: function () { return
|
|
42286
|
+
get: function () { return chunkPTNV3TT5_cjs.useWorkflowsPageState; }
|
|
42287
42287
|
});
|
|
42288
42288
|
Object.defineProperty(exports, "workflowRunView", {
|
|
42289
42289
|
enumerable: true,
|
|
42290
|
-
get: function () { return
|
|
42290
|
+
get: function () { return chunkPTNV3TT5_cjs.workflowRunView; }
|
|
42291
42291
|
});
|
|
42292
42292
|
Object.defineProperty(exports, "ConnectedPendingSyncDialog", {
|
|
42293
42293
|
enumerable: true,
|
|
@@ -42427,43 +42427,43 @@ Object.defineProperty(exports, "useWorkspaceDocs", {
|
|
|
42427
42427
|
});
|
|
42428
42428
|
Object.defineProperty(exports, "useDocxCommentTarget", {
|
|
42429
42429
|
enumerable: true,
|
|
42430
|
-
get: function () { return
|
|
42430
|
+
get: function () { return chunk2DRTKD2W_cjs.useDocxCommentTarget; }
|
|
42431
42431
|
});
|
|
42432
42432
|
Object.defineProperty(exports, "useNativeDocxSupport", {
|
|
42433
42433
|
enumerable: true,
|
|
42434
|
-
get: function () { return
|
|
42434
|
+
get: function () { return chunk2DRTKD2W_cjs.useNativeDocxSupport; }
|
|
42435
42435
|
});
|
|
42436
42436
|
Object.defineProperty(exports, "ConnectedWorkflowDocumentsField", {
|
|
42437
42437
|
enumerable: true,
|
|
42438
|
-
get: function () { return
|
|
42438
|
+
get: function () { return chunkWHJMV6TX_cjs.ConnectedWorkflowDocumentsField; }
|
|
42439
42439
|
});
|
|
42440
42440
|
Object.defineProperty(exports, "ConnectedWorkflowLauncher", {
|
|
42441
42441
|
enumerable: true,
|
|
42442
|
-
get: function () { return
|
|
42442
|
+
get: function () { return chunkWHJMV6TX_cjs.ConnectedWorkflowLauncher; }
|
|
42443
42443
|
});
|
|
42444
42444
|
Object.defineProperty(exports, "ConnectedWorkflowsTable", {
|
|
42445
42445
|
enumerable: true,
|
|
42446
|
-
get: function () { return
|
|
42446
|
+
get: function () { return chunkWHJMV6TX_cjs.ConnectedWorkflowsTable; }
|
|
42447
42447
|
});
|
|
42448
42448
|
Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS", {
|
|
42449
42449
|
enumerable: true,
|
|
42450
|
-
get: function () { return
|
|
42450
|
+
get: function () { return chunkWHJMV6TX_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
|
|
42451
42451
|
});
|
|
42452
42452
|
Object.defineProperty(exports, "toWorkflowFieldDocument", {
|
|
42453
42453
|
enumerable: true,
|
|
42454
|
-
get: function () { return
|
|
42454
|
+
get: function () { return chunkWHJMV6TX_cjs.toWorkflowFieldDocument; }
|
|
42455
42455
|
});
|
|
42456
42456
|
Object.defineProperty(exports, "useConnectedAgentOptions", {
|
|
42457
42457
|
enumerable: true,
|
|
42458
|
-
get: function () { return
|
|
42458
|
+
get: function () { return chunkWHJMV6TX_cjs.useConnectedAgentOptions; }
|
|
42459
42459
|
});
|
|
42460
42460
|
Object.defineProperty(exports, "useConnectedWorkflowScopeSource", {
|
|
42461
42461
|
enumerable: true,
|
|
42462
|
-
get: function () { return
|
|
42462
|
+
get: function () { return chunkWHJMV6TX_cjs.useConnectedWorkflowScopeSource; }
|
|
42463
42463
|
});
|
|
42464
42464
|
Object.defineProperty(exports, "useConnectedWorkspaceRole", {
|
|
42465
42465
|
enumerable: true,
|
|
42466
|
-
get: function () { return
|
|
42466
|
+
get: function () { return chunkWHJMV6TX_cjs.useConnectedWorkspaceRole; }
|
|
42467
42467
|
});
|
|
42468
42468
|
Object.defineProperty(exports, "ConnectedDocumentToolsProvider", {
|
|
42469
42469
|
enumerable: true,
|