@arbidocs/blocks 0.5.34 → 0.5.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -0
- package/dist/{ConnectedNativeDocxComparison-4R5WW7IU.cjs → ConnectedNativeDocxComparison-H2OZMWHT.cjs} +7 -7
- package/dist/{ConnectedNativeDocxComparison-4R5WW7IU.cjs.map → ConnectedNativeDocxComparison-H2OZMWHT.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-AH6KR4CZ.js → ConnectedNativeDocxComparison-RWKFPJPJ.js} +6 -6
- package/dist/{ConnectedStreamedWordArtifact-JJI3HR7U.js.map → ConnectedNativeDocxComparison-RWKFPJPJ.js.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-ETEJM7GN.js → ConnectedNativeDocxEditor-43BI5LN6.js} +5 -5
- package/dist/{ConnectedNativeDocxEditor-ETEJM7GN.js.map → ConnectedNativeDocxEditor-43BI5LN6.js.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-MJVE2I33.cjs → ConnectedNativeDocxEditor-6DQEM6SD.cjs} +7 -7
- package/dist/{ConnectedNativeDocxEditor-MJVE2I33.cjs.map → ConnectedNativeDocxEditor-6DQEM6SD.cjs.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-S7EQ4FM2.cjs → ConnectedStreamedWordArtifact-3VKYIG6C.cjs} +7 -7
- package/dist/ConnectedStreamedWordArtifact-3VKYIG6C.cjs.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-JJI3HR7U.js → ConnectedStreamedWordArtifact-TEB332E3.js} +6 -6
- package/dist/{ConnectedNativeDocxComparison-AH6KR4CZ.js.map → ConnectedStreamedWordArtifact-TEB332E3.js.map} +1 -1
- package/dist/agents/index.cjs +326 -326
- package/dist/agents/index.js +4 -4
- package/dist/calls/index.cjs +1 -1
- package/dist/calls/index.js +1 -1
- package/dist/{chunk-SSYRPBL5.cjs → chunk-2QDNQM63.cjs} +3 -3
- package/dist/{chunk-SSYRPBL5.cjs.map → chunk-2QDNQM63.cjs.map} +1 -1
- package/dist/{chunk-H7L43DIE.js → chunk-46WCQ4F3.js} +8 -3
- package/dist/chunk-46WCQ4F3.js.map +1 -0
- package/dist/{chunk-UWXCT3ON.js → chunk-4DKI37QQ.js} +3 -3
- package/dist/{chunk-UWXCT3ON.js.map → chunk-4DKI37QQ.js.map} +1 -1
- package/dist/{chunk-WUG24K7P.cjs → chunk-5V4HH7EH.cjs} +7 -2
- package/dist/chunk-5V4HH7EH.cjs.map +1 -0
- package/dist/{chunk-J6U6DIZK.cjs → chunk-6EQSP77K.cjs} +5 -5
- package/dist/{chunk-J6U6DIZK.cjs.map → chunk-6EQSP77K.cjs.map} +1 -1
- package/dist/{chunk-OPK6GYYR.js → chunk-7CHI36EP.js} +3 -3
- package/dist/{chunk-OPK6GYYR.js.map → chunk-7CHI36EP.js.map} +1 -1
- package/dist/{chunk-KBISVJPU.cjs → chunk-BRYRZOS3.cjs} +4 -4
- package/dist/{chunk-KBISVJPU.cjs.map → chunk-BRYRZOS3.cjs.map} +1 -1
- package/dist/{chunk-O76V2TUY.js → chunk-EZSYYENN.js} +5 -5
- package/dist/{chunk-O76V2TUY.js.map → chunk-EZSYYENN.js.map} +1 -1
- package/dist/{chunk-G5ISXB5I.js → chunk-FHB4G77H.js} +3 -3
- package/dist/{chunk-G5ISXB5I.js.map → chunk-FHB4G77H.js.map} +1 -1
- package/dist/{chunk-POU4O4D7.cjs → chunk-FY4C7HU5.cjs} +9 -9
- package/dist/{chunk-POU4O4D7.cjs.map → chunk-FY4C7HU5.cjs.map} +1 -1
- package/dist/{chunk-AL4GAWD3.js → chunk-MLHOG7YH.js} +3 -3
- package/dist/{chunk-AL4GAWD3.js.map → chunk-MLHOG7YH.js.map} +1 -1
- package/dist/{chunk-RFQ2FGL4.js → chunk-NUV5F6MM.js} +3 -3
- package/dist/{chunk-RFQ2FGL4.js.map → chunk-NUV5F6MM.js.map} +1 -1
- package/dist/{chunk-B426HYRI.cjs → chunk-PUX4M22Q.cjs} +49 -49
- package/dist/{chunk-B426HYRI.cjs.map → chunk-PUX4M22Q.cjs.map} +1 -1
- package/dist/{chunk-SXYXFCHN.js → chunk-VKY4SQMH.js} +3 -3
- package/dist/{chunk-SXYXFCHN.js.map → chunk-VKY4SQMH.js.map} +1 -1
- package/dist/{chunk-QU77RRZP.cjs → chunk-VMLEISRZ.cjs} +8 -8
- package/dist/{chunk-QU77RRZP.cjs.map → chunk-VMLEISRZ.cjs.map} +1 -1
- package/dist/{chunk-R3QNE46Z.cjs → chunk-XFSEPGF7.cjs} +4 -4
- package/dist/{chunk-R3QNE46Z.cjs.map → chunk-XFSEPGF7.cjs.map} +1 -1
- package/dist/collaboration/index.cjs +67 -67
- package/dist/collaboration/index.js +1 -1
- package/dist/connect/docx.cjs +9 -9
- package/dist/connect/docx.js +5 -5
- package/dist/connect/index.cjs +301 -301
- package/dist/connect/index.js +9 -9
- package/dist/connect/viewer.cjs +4 -4
- package/dist/connect/viewer.js +4 -4
- package/dist/index.cjs +505 -462
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +50 -9
- package/dist/index.js.map +1 -1
- package/dist/nav/actions.d.ts +24 -0
- package/dist/nav/manifest.d.ts +16 -0
- package/dist/nav/types.d.ts +2 -0
- package/dist/workflow-canvas/index.cjs +17 -17
- package/dist/workflow-canvas/index.js +4 -4
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ConnectedStreamedWordArtifact-S7EQ4FM2.cjs.map +0 -1
- package/dist/chunk-H7L43DIE.js.map +0 -1
- package/dist/chunk-WUG24K7P.cjs.map +0 -1
package/dist/connect/index.cjs
CHANGED
|
@@ -9,9 +9,9 @@ var chunkYD3RN2FY_cjs = require('../chunk-YD3RN2FY.cjs');
|
|
|
9
9
|
var chunkH6K7EWL2_cjs = require('../chunk-H6K7EWL2.cjs');
|
|
10
10
|
var chunkOU3RGQFX_cjs = require('../chunk-OU3RGQFX.cjs');
|
|
11
11
|
require('../chunk-UAEYU2NN.cjs');
|
|
12
|
-
var chunkNOKTUWTN_cjs = require('../chunk-NOKTUWTN.cjs');
|
|
13
12
|
var chunkFEVJA4BP_cjs = require('../chunk-FEVJA4BP.cjs');
|
|
14
|
-
var
|
|
13
|
+
var chunkNOKTUWTN_cjs = require('../chunk-NOKTUWTN.cjs');
|
|
14
|
+
var chunkVMLEISRZ_cjs = require('../chunk-VMLEISRZ.cjs');
|
|
15
15
|
var chunkEFSL4O3B_cjs = require('../chunk-EFSL4O3B.cjs');
|
|
16
16
|
var chunkWALADS2S_cjs = require('../chunk-WALADS2S.cjs');
|
|
17
17
|
var chunk2WLXQGWC_cjs = require('../chunk-2WLXQGWC.cjs');
|
|
@@ -23,17 +23,17 @@ require('../chunk-464YPRAE.cjs');
|
|
|
23
23
|
require('../chunk-PICGTGEB.cjs');
|
|
24
24
|
var chunk5FYU7ZIU_cjs = require('../chunk-5FYU7ZIU.cjs');
|
|
25
25
|
require('../chunk-ZESMRGDV.cjs');
|
|
26
|
-
var
|
|
26
|
+
var chunk6EQSP77K_cjs = require('../chunk-6EQSP77K.cjs');
|
|
27
27
|
var chunkC2ECYOPP_cjs = require('../chunk-C2ECYOPP.cjs');
|
|
28
28
|
var chunkGOWXP5KT_cjs = require('../chunk-GOWXP5KT.cjs');
|
|
29
29
|
var chunkHV7XHZLW_cjs = require('../chunk-HV7XHZLW.cjs');
|
|
30
|
+
var chunkQZTNTP75_cjs = require('../chunk-QZTNTP75.cjs');
|
|
30
31
|
var chunkRGWROTJ2_cjs = require('../chunk-RGWROTJ2.cjs');
|
|
31
32
|
var chunkKUQOHPKP_cjs = require('../chunk-KUQOHPKP.cjs');
|
|
32
33
|
var chunkVPPX5XUF_cjs = require('../chunk-VPPX5XUF.cjs');
|
|
33
34
|
require('../chunk-PCB2BPN3.cjs');
|
|
34
|
-
var chunkQZTNTP75_cjs = require('../chunk-QZTNTP75.cjs');
|
|
35
35
|
require('../chunk-NWNVWO6L.cjs');
|
|
36
|
-
var
|
|
36
|
+
var chunk5V4HH7EH_cjs = require('../chunk-5V4HH7EH.cjs');
|
|
37
37
|
require('../chunk-7G2LJMUG.cjs');
|
|
38
38
|
var chunkTM2D4XT4_cjs = require('../chunk-TM2D4XT4.cjs');
|
|
39
39
|
var chunk5Y6V7F6W_cjs = require('../chunk-5Y6V7F6W.cjs');
|
|
@@ -43,9 +43,9 @@ require('../chunk-VLCY46K6.cjs');
|
|
|
43
43
|
require('../chunk-D54JXTPG.cjs');
|
|
44
44
|
var chunkJIOHDVWH_cjs = require('../chunk-JIOHDVWH.cjs');
|
|
45
45
|
var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
|
|
46
|
-
var
|
|
46
|
+
var chunkFY4C7HU5_cjs = require('../chunk-FY4C7HU5.cjs');
|
|
47
47
|
var chunkRFIBUWLF_cjs = require('../chunk-RFIBUWLF.cjs');
|
|
48
|
-
var
|
|
48
|
+
var chunk2QDNQM63_cjs = require('../chunk-2QDNQM63.cjs');
|
|
49
49
|
var chunk3ZLNI7ZA_cjs = require('../chunk-3ZLNI7ZA.cjs');
|
|
50
50
|
var chunkAQPZ4QMV_cjs = require('../chunk-AQPZ4QMV.cjs');
|
|
51
51
|
require('../chunk-SIB6C7P7.cjs');
|
|
@@ -67,8 +67,8 @@ var chunkC3YIVBTU_cjs = require('../chunk-C3YIVBTU.cjs');
|
|
|
67
67
|
var chunkJVXHVFUA_cjs = require('../chunk-JVXHVFUA.cjs');
|
|
68
68
|
var chunkMOIZ2R5X_cjs = require('../chunk-MOIZ2R5X.cjs');
|
|
69
69
|
var chunkMB3S2ETI_cjs = require('../chunk-MB3S2ETI.cjs');
|
|
70
|
-
var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
|
|
71
70
|
var chunkMEMWZ72Y_cjs = require('../chunk-MEMWZ72Y.cjs');
|
|
71
|
+
var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
|
|
72
72
|
var chunkLTO4JYU3_cjs = require('../chunk-LTO4JYU3.cjs');
|
|
73
73
|
var chunkLNYEYR7W_cjs = require('../chunk-LNYEYR7W.cjs');
|
|
74
74
|
var chunkZ2XZ2D4N_cjs = require('../chunk-Z2XZ2D4N.cjs');
|
|
@@ -163,9 +163,9 @@ var ConnectedUserEntity = React9.memo(function ConnectedUserEntity2({
|
|
|
163
163
|
if (isMe) openSettings();
|
|
164
164
|
else openDirectChat?.(user.external_id);
|
|
165
165
|
};
|
|
166
|
-
const tooltipContent = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
166
|
+
const tooltipContent = /* @__PURE__ */ jsxRuntime.jsxs(chunk6EQSP77K_cjs.EntityTooltip, { children: [
|
|
167
167
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
168
|
-
|
|
168
|
+
chunk6EQSP77K_cjs.EntityTooltipHeader,
|
|
169
169
|
{
|
|
170
170
|
lead: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
171
171
|
ui.Avatar,
|
|
@@ -196,13 +196,13 @@ var ConnectedUserEntity = React9.memo(function ConnectedUserEntity2({
|
|
|
196
196
|
subtitle: user.email
|
|
197
197
|
}
|
|
198
198
|
),
|
|
199
|
-
userIsAgent && agentOwner && /* @__PURE__ */ jsxRuntime.jsx(
|
|
199
|
+
userIsAgent && agentOwner && /* @__PURE__ */ jsxRuntime.jsx(chunk6EQSP77K_cjs.EntityTooltipSection, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunk6EQSP77K_cjs.EntityTooltipHint, { icon: /* @__PURE__ */ jsxRuntime.jsx(react.ArbiBotHeadIcon, { className: "w-3.5 h-3.5 flex-shrink-0" }), children: [
|
|
200
200
|
"Agent of",
|
|
201
201
|
" ",
|
|
202
202
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: ui.getUserDisplayName(agentOwner) })
|
|
203
203
|
] }) }),
|
|
204
204
|
sharedWorkspaces.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
205
|
-
|
|
205
|
+
chunk6EQSP77K_cjs.EntityTooltipSection,
|
|
206
206
|
{
|
|
207
207
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Users, { className: "w-3.5 h-3.5 flex-shrink-0" }),
|
|
208
208
|
heading: "Shared Workspaces",
|
|
@@ -233,7 +233,7 @@ var ConnectedUserEntity = React9.memo(function ConnectedUserEntity2({
|
|
|
233
233
|
] })
|
|
234
234
|
}
|
|
235
235
|
),
|
|
236
|
-
interactive && variant === "pill" && canChat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
236
|
+
interactive && variant === "pill" && canChat && /* @__PURE__ */ jsxRuntime.jsx(chunk6EQSP77K_cjs.EntityTooltipHint, { isRuled: true, icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MessageCircleMore, { className: "w-3 h-3" }), children: "Click to send message" })
|
|
237
237
|
] });
|
|
238
238
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
239
239
|
ui.UserEntity,
|
|
@@ -387,7 +387,7 @@ function ConnectedWorkspaceActivity({
|
|
|
387
387
|
[feed.data]
|
|
388
388
|
);
|
|
389
389
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
390
|
-
|
|
390
|
+
chunk6EQSP77K_cjs.WorkspaceActivityList,
|
|
391
391
|
{
|
|
392
392
|
...listProps,
|
|
393
393
|
items,
|
|
@@ -1552,7 +1552,7 @@ function ConnectedWorkspaceNotificationMenu({
|
|
|
1552
1552
|
}, [error, notify17]);
|
|
1553
1553
|
if (!workspaceId) return null;
|
|
1554
1554
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1555
|
-
|
|
1555
|
+
chunk6EQSP77K_cjs.WorkspaceNotificationMenu,
|
|
1556
1556
|
{
|
|
1557
1557
|
...menuProps,
|
|
1558
1558
|
level,
|
|
@@ -1571,7 +1571,7 @@ function ConnectedThreadFollow({
|
|
|
1571
1571
|
enabled: live
|
|
1572
1572
|
});
|
|
1573
1573
|
if (!conversationId) return null;
|
|
1574
|
-
const Control = as === "menu-item" ?
|
|
1574
|
+
const Control = as === "menu-item" ? chunk6EQSP77K_cjs.ThreadFollowMenuItem : chunk6EQSP77K_cjs.ThreadFollowButton;
|
|
1575
1575
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1576
1576
|
Control,
|
|
1577
1577
|
{
|
|
@@ -1644,7 +1644,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1644
1644
|
onChange: (e) => {
|
|
1645
1645
|
const file = e.target.files?.[0];
|
|
1646
1646
|
e.target.value = "";
|
|
1647
|
-
if (file) void add(() =>
|
|
1647
|
+
if (file) void add(() => chunkFY4C7HU5_cjs.importSkillFile(file));
|
|
1648
1648
|
}
|
|
1649
1649
|
}
|
|
1650
1650
|
),
|
|
@@ -1669,7 +1669,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1669
1669
|
className: "space-y-2",
|
|
1670
1670
|
onSubmit: (e) => {
|
|
1671
1671
|
e.preventDefault();
|
|
1672
|
-
if (url.trim()) void add(() =>
|
|
1672
|
+
if (url.trim()) void add(() => chunkFY4C7HU5_cjs.importSkillFromUrl(url));
|
|
1673
1673
|
},
|
|
1674
1674
|
children: [
|
|
1675
1675
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
|
|
@@ -1732,9 +1732,9 @@ function ConnectedSkillsLibrary({
|
|
|
1732
1732
|
const [type, setType] = React9.useState("all");
|
|
1733
1733
|
const [view, setView] = React9.useState("gallery");
|
|
1734
1734
|
const [isBusy, setIsBusy] = React9.useState(false);
|
|
1735
|
-
const all = React9.useMemo(() =>
|
|
1735
|
+
const all = React9.useMemo(() => chunkFY4C7HU5_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
|
|
1736
1736
|
const shown = React9.useMemo(
|
|
1737
|
-
() =>
|
|
1737
|
+
() => chunkFY4C7HU5_cjs.filterLibrarySkills(all, { query, source, type }),
|
|
1738
1738
|
[all, query, source, type]
|
|
1739
1739
|
);
|
|
1740
1740
|
const current = all.find((s) => s.slug === selected) ?? null;
|
|
@@ -1745,21 +1745,21 @@ function ConnectedSkillsLibrary({
|
|
|
1745
1745
|
const count2 = (s) => all.filter((x) => x.source === s).length;
|
|
1746
1746
|
const sourceOptions = [
|
|
1747
1747
|
{ id: "all", label: "All", count: all.length },
|
|
1748
|
-
{ id: "builtin", label:
|
|
1749
|
-
{ id: "mine", label:
|
|
1750
|
-
{ id: "shared", label:
|
|
1748
|
+
{ id: "builtin", label: chunkFY4C7HU5_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
|
|
1749
|
+
{ id: "mine", label: chunkFY4C7HU5_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
|
|
1750
|
+
{ id: "shared", label: chunkFY4C7HU5_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
|
|
1751
1751
|
];
|
|
1752
1752
|
const types = [...new Set(all.map((s) => s.type))];
|
|
1753
1753
|
const typeOptions = [
|
|
1754
1754
|
{ id: "all", label: "Any kind" },
|
|
1755
|
-
...types.map((t) => ({ id: t, label:
|
|
1755
|
+
...types.map((t) => ({ id: t, label: chunkFY4C7HU5_cjs.SKILL_TYPE_LABELS[t] ?? t }))
|
|
1756
1756
|
];
|
|
1757
1757
|
const pick = (slug) => {
|
|
1758
1758
|
setSelected(slug);
|
|
1759
1759
|
setMode("detail");
|
|
1760
1760
|
};
|
|
1761
1761
|
const markdownOf = async (skill) => {
|
|
1762
|
-
if (!skill.docExtId) return
|
|
1762
|
+
if (!skill.docExtId) return chunkFY4C7HU5_cjs.workflowToSkillMarkdown(skill.workflow);
|
|
1763
1763
|
const response = await arbi.documents.download(skill.docExtId);
|
|
1764
1764
|
if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
|
|
1765
1765
|
return response.text();
|
|
@@ -1823,7 +1823,7 @@ function ConnectedSkillsLibrary({
|
|
|
1823
1823
|
try {
|
|
1824
1824
|
documentTools.downloadBlob(
|
|
1825
1825
|
new Blob([await markdownOf(skill)], { type: "text/markdown" }),
|
|
1826
|
-
|
|
1826
|
+
chunkFY4C7HU5_cjs.SKILL_MAIN_FILENAME
|
|
1827
1827
|
);
|
|
1828
1828
|
} catch (error) {
|
|
1829
1829
|
notify17(errorText(error, "Could not export the skill"), "error");
|
|
@@ -1864,10 +1864,10 @@ function ConnectedSkillsLibrary({
|
|
|
1864
1864
|
}
|
|
1865
1865
|
)
|
|
1866
1866
|
] }),
|
|
1867
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1867
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.SkillViewToggle, { value: view, onChange: setView })
|
|
1868
1868
|
] }),
|
|
1869
1869
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1870
|
-
|
|
1870
|
+
chunkFY4C7HU5_cjs.SkillFilterChips,
|
|
1871
1871
|
{
|
|
1872
1872
|
label: "Show",
|
|
1873
1873
|
value: source,
|
|
@@ -1876,7 +1876,7 @@ function ConnectedSkillsLibrary({
|
|
|
1876
1876
|
}
|
|
1877
1877
|
),
|
|
1878
1878
|
types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1879
|
-
|
|
1879
|
+
chunkFY4C7HU5_cjs.SkillFilterChips,
|
|
1880
1880
|
{
|
|
1881
1881
|
label: "Kind",
|
|
1882
1882
|
value: type,
|
|
@@ -1923,12 +1923,12 @@ function ConnectedSkillsLibrary({
|
|
|
1923
1923
|
view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
|
|
1924
1924
|
),
|
|
1925
1925
|
children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1926
|
-
|
|
1926
|
+
chunkFY4C7HU5_cjs.SkillTile,
|
|
1927
1927
|
{
|
|
1928
1928
|
name: skill.title,
|
|
1929
1929
|
testId: `skill-tile-${skill.slug}`,
|
|
1930
1930
|
description: skill.description,
|
|
1931
|
-
sourceLabel: skill.isShared ? `${
|
|
1931
|
+
sourceLabel: skill.isShared ? `${chunkFY4C7HU5_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkFY4C7HU5_cjs.SKILL_SOURCE_LABELS[skill.source],
|
|
1932
1932
|
type: skill.type,
|
|
1933
1933
|
icon,
|
|
1934
1934
|
layout: view,
|
|
@@ -1963,7 +1963,7 @@ function ConnectedSkillsLibrary({
|
|
|
1963
1963
|
}
|
|
1964
1964
|
),
|
|
1965
1965
|
mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1966
|
-
|
|
1966
|
+
chunkFY4C7HU5_cjs.SkillGenerateForm,
|
|
1967
1967
|
{
|
|
1968
1968
|
icon,
|
|
1969
1969
|
onGenerate: (desc) => {
|
|
@@ -1990,11 +1990,11 @@ function ConnectedSkillsLibrary({
|
|
|
1990
1990
|
),
|
|
1991
1991
|
mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
|
|
1992
1992
|
mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1993
|
-
|
|
1993
|
+
chunkFY4C7HU5_cjs.SkillLibraryDetail,
|
|
1994
1994
|
{
|
|
1995
1995
|
skill: current,
|
|
1996
1996
|
icon,
|
|
1997
|
-
instructions: current.docExtId ? currentText ?
|
|
1997
|
+
instructions: current.docExtId ? currentText ? chunkFY4C7HU5_cjs.parseSkillFrontmatter(currentText, chunkFY4C7HU5_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
|
|
1998
1998
|
isLoading: !!current.docExtId && textLoading,
|
|
1999
1999
|
actions: {
|
|
2000
2000
|
onRun: () => onRun(current.slug),
|
|
@@ -2029,7 +2029,7 @@ function SkillEditor({
|
|
|
2029
2029
|
const [seeded, setSeeded] = React9.useState(!isEditing);
|
|
2030
2030
|
const [nameError, setNameError] = React9.useState(null);
|
|
2031
2031
|
if (isEditing && !seeded && text2 !== void 0) {
|
|
2032
|
-
const parsed =
|
|
2032
|
+
const parsed = chunkFY4C7HU5_cjs.parseSkillFrontmatter(text2, chunkFY4C7HU5_cjs.SKILL_MAIN_FILENAME);
|
|
2033
2033
|
setDescription(parsed.description ?? "");
|
|
2034
2034
|
setBody(parsed.content ?? "");
|
|
2035
2035
|
setSeeded(true);
|
|
@@ -2043,15 +2043,15 @@ function SkillEditor({
|
|
|
2043
2043
|
notify17("Add a short description.", "error");
|
|
2044
2044
|
return;
|
|
2045
2045
|
}
|
|
2046
|
-
const slug =
|
|
2046
|
+
const slug = chunkFY4C7HU5_cjs.skillSlug(name);
|
|
2047
2047
|
try {
|
|
2048
|
-
await onSave(slug,
|
|
2048
|
+
await onSave(slug, chunkFY4C7HU5_cjs.serializeSkill({ name: slug, description, body }), isEditing);
|
|
2049
2049
|
} catch (err) {
|
|
2050
2050
|
notify17(errorText(err, "Could not save the skill"), "error");
|
|
2051
2051
|
}
|
|
2052
2052
|
};
|
|
2053
2053
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2054
|
-
|
|
2054
|
+
chunkFY4C7HU5_cjs.SkillEditForm,
|
|
2055
2055
|
{
|
|
2056
2056
|
name,
|
|
2057
2057
|
onNameChange: setName,
|
|
@@ -2087,9 +2087,9 @@ function ConnectedAgentCreator({
|
|
|
2087
2087
|
agent,
|
|
2088
2088
|
initialName,
|
|
2089
2089
|
onSaved,
|
|
2090
|
-
capabilities =
|
|
2091
|
-
templates =
|
|
2092
|
-
types =
|
|
2090
|
+
capabilities = chunkFY4C7HU5_cjs.DEFAULT_AGENT_CAPABILITIES,
|
|
2091
|
+
templates = chunkFY4C7HU5_cjs.DEFAULT_AGENT_TEMPLATES,
|
|
2092
|
+
types = chunkFY4C7HU5_cjs.DEFAULT_AGENT_TYPES,
|
|
2093
2093
|
canRevokeWorkspaces = false,
|
|
2094
2094
|
labels
|
|
2095
2095
|
}) {
|
|
@@ -2131,7 +2131,7 @@ function ConnectedAgentCreator({
|
|
|
2131
2131
|
const initialValues = React9.useMemo(
|
|
2132
2132
|
() => ({
|
|
2133
2133
|
name: agent?.given_name ?? initialName ?? "",
|
|
2134
|
-
persona: isEdit ?
|
|
2134
|
+
persona: isEdit ? chunkFY4C7HU5_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
|
|
2135
2135
|
modelName: String(agents.AGENT_MODEL_NAME ?? ""),
|
|
2136
2136
|
capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
|
|
2137
2137
|
type: "builtin",
|
|
@@ -2150,7 +2150,7 @@ function ConnectedAgentCreator({
|
|
|
2150
2150
|
try {
|
|
2151
2151
|
let agentExtId = agent?.external_id ?? early?.id ?? "";
|
|
2152
2152
|
if (!agentExtId) {
|
|
2153
|
-
if (!
|
|
2153
|
+
if (!chunkFY4C7HU5_cjs.isValidAgentName(values.name)) {
|
|
2154
2154
|
notify17("Give the agent a name first.", "error");
|
|
2155
2155
|
return;
|
|
2156
2156
|
}
|
|
@@ -2186,7 +2186,7 @@ function ConnectedAgentCreator({
|
|
|
2186
2186
|
title: `agent-${name}`,
|
|
2187
2187
|
sections: {
|
|
2188
2188
|
Agents: {
|
|
2189
|
-
PERSONA:
|
|
2189
|
+
PERSONA: chunkFY4C7HU5_cjs.composePersona(name, values.persona),
|
|
2190
2190
|
...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
|
|
2191
2191
|
...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
|
|
2192
2192
|
ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
|
|
@@ -2209,7 +2209,7 @@ function ConnectedAgentCreator({
|
|
|
2209
2209
|
};
|
|
2210
2210
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2211
2211
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2212
|
-
|
|
2212
|
+
chunkFY4C7HU5_cjs.AgentCreator,
|
|
2213
2213
|
{
|
|
2214
2214
|
open: ready,
|
|
2215
2215
|
onOpenChange,
|
|
@@ -2225,11 +2225,11 @@ function ConnectedAgentCreator({
|
|
|
2225
2225
|
) : void 0,
|
|
2226
2226
|
revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
|
|
2227
2227
|
avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2228
|
-
|
|
2228
|
+
chunkFY4C7HU5_cjs.AgentAvatarField,
|
|
2229
2229
|
{
|
|
2230
2230
|
picture,
|
|
2231
2231
|
isBusy: avatarBusy,
|
|
2232
|
-
canGenerate: isEdit ||
|
|
2232
|
+
canGenerate: isEdit || chunkFY4C7HU5_cjs.isValidAgentName(values.name),
|
|
2233
2233
|
onGenerate: () => handleGenerateAvatar(values)
|
|
2234
2234
|
}
|
|
2235
2235
|
),
|
|
@@ -2281,7 +2281,7 @@ function ConnectedAgentCreator({
|
|
|
2281
2281
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
|
|
2282
2282
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
|
|
2283
2283
|
] }),
|
|
2284
|
-
connect && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2284
|
+
connect && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
|
|
2285
2285
|
]
|
|
2286
2286
|
}
|
|
2287
2287
|
) })
|
|
@@ -2318,7 +2318,7 @@ function ConnectedWorkflowHistory({
|
|
|
2318
2318
|
const { openConversation } = chunkB3NYBMDR_cjs.useBlocksEnvironment();
|
|
2319
2319
|
const { data: runs = [], isLoading } = react.useWorkflowRuns(workflow?.external_id);
|
|
2320
2320
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2321
|
-
|
|
2321
|
+
chunkFY4C7HU5_cjs.TaskRunsDialog,
|
|
2322
2322
|
{
|
|
2323
2323
|
inline,
|
|
2324
2324
|
hideHeader,
|
|
@@ -2354,14 +2354,14 @@ function ConnectedTaskActivityDialog({
|
|
|
2354
2354
|
const activity = react.useConversationActivity(conversationId, { live });
|
|
2355
2355
|
const { data: agents = [] } = react.useAgents();
|
|
2356
2356
|
const { userId } = chunkJVXHVFUA_cjs.useConnectedWorkspace();
|
|
2357
|
-
const { members } =
|
|
2357
|
+
const { members } = chunkVMLEISRZ_cjs.useConnectedWorkspaceRole();
|
|
2358
2358
|
const renderPerson = React9.useCallback(
|
|
2359
2359
|
(id) => {
|
|
2360
2360
|
const isMe = !!id && id === userId;
|
|
2361
2361
|
const member = members.find((m) => m.user.external_id === id)?.user;
|
|
2362
2362
|
const name = member && [member.given_name, member.family_name].filter(Boolean).join(" ") || member?.email;
|
|
2363
2363
|
const person = { id, label: isMe ? "You" : name || "Someone", isMe };
|
|
2364
|
-
return renderTaskPerson ? renderTaskPerson(person) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2364
|
+
return renderTaskPerson ? renderTaskPerson(person) : /* @__PURE__ */ jsxRuntime.jsx(chunk2QDNQM63_cjs.PersonPill, { person });
|
|
2365
2365
|
},
|
|
2366
2366
|
[renderTaskPerson, userId, members]
|
|
2367
2367
|
);
|
|
@@ -2370,7 +2370,7 @@ function ConnectedTaskActivityDialog({
|
|
|
2370
2370
|
[agents]
|
|
2371
2371
|
);
|
|
2372
2372
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2373
|
-
|
|
2373
|
+
chunkFY4C7HU5_cjs.TaskActivityDialog,
|
|
2374
2374
|
{
|
|
2375
2375
|
open: true,
|
|
2376
2376
|
onOpenChange: (open) => !open && onClose(),
|
|
@@ -2516,7 +2516,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
2516
2516
|
);
|
|
2517
2517
|
const conversation = conversations.data?.find((c) => c.external_id === threadId);
|
|
2518
2518
|
const steps = React9.useMemo(
|
|
2519
|
-
() => chunkEZLZ3MDU_cjs.workflowSteps(workflow).length > 0 ? chunkEZLZ3MDU_cjs.workflowSteps(workflow) :
|
|
2519
|
+
() => chunkEZLZ3MDU_cjs.workflowSteps(workflow).length > 0 ? chunkEZLZ3MDU_cjs.workflowSteps(workflow) : chunkFY4C7HU5_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
|
|
2520
2520
|
[workflow, conversation?.plan?.steps]
|
|
2521
2521
|
);
|
|
2522
2522
|
const activity = react.useConversationActivity(threadId, { live: !!threadId });
|
|
@@ -2576,7 +2576,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
2576
2576
|
criteria: [],
|
|
2577
2577
|
max_passes: 3,
|
|
2578
2578
|
documents: [],
|
|
2579
|
-
steps:
|
|
2579
|
+
steps: chunkFY4C7HU5_cjs.toPlanSteps(workflow, {
|
|
2580
2580
|
inputs: values,
|
|
2581
2581
|
resolveWorkflow: options2.resolveWorkflow,
|
|
2582
2582
|
compose: options2.compose
|
|
@@ -2663,7 +2663,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
2663
2663
|
const anyRunning = Object.values(states).some((s) => s.status === "running");
|
|
2664
2664
|
const needsStart = !threadId || idle && !anyRunning;
|
|
2665
2665
|
const runError = idle ? conversation?.last_error ?? null : null;
|
|
2666
|
-
const view =
|
|
2666
|
+
const view = chunkFY4C7HU5_cjs.useWorkflowView({
|
|
2667
2667
|
steps,
|
|
2668
2668
|
states,
|
|
2669
2669
|
inputs,
|
|
@@ -2829,7 +2829,7 @@ function WorkflowWordDialog({
|
|
|
2829
2829
|
title: title ?? labels.wordTitle,
|
|
2830
2830
|
size: "xl",
|
|
2831
2831
|
testId: "workflow-word-dialog",
|
|
2832
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2832
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVMLEISRZ_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
|
|
2833
2833
|
}
|
|
2834
2834
|
);
|
|
2835
2835
|
}
|
|
@@ -3151,7 +3151,7 @@ function ConnectedWorkflowRunner({
|
|
|
3151
3151
|
);
|
|
3152
3152
|
};
|
|
3153
3153
|
const runner = (compact) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3154
|
-
|
|
3154
|
+
chunkFY4C7HU5_cjs.WorkflowRunner,
|
|
3155
3155
|
{
|
|
3156
3156
|
people,
|
|
3157
3157
|
...runnerProps,
|
|
@@ -3197,7 +3197,7 @@ function ConnectedWorkflowRunner({
|
|
|
3197
3197
|
) }),
|
|
3198
3198
|
inThread && conversationId ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3199
3199
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3200
|
-
|
|
3200
|
+
chunkFY4C7HU5_cjs.WorkflowStepBar,
|
|
3201
3201
|
{
|
|
3202
3202
|
run: view,
|
|
3203
3203
|
levels: chunkEZLZ3MDU_cjs.stepLevels(view.steps),
|
|
@@ -3488,7 +3488,7 @@ function ConnectedTagTable({
|
|
|
3488
3488
|
const fail = (fallback) => (e) => notify17(browser.refusalReason(e, fallback), "error");
|
|
3489
3489
|
const snapshot2 = (data) => {
|
|
3490
3490
|
const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
|
|
3491
|
-
const bytes =
|
|
3491
|
+
const bytes = chunk6EQSP77K_cjs.tagTableDocx(data, {
|
|
3492
3492
|
title,
|
|
3493
3493
|
nameOf: (id) => people.find((p) => p.value === id)?.label
|
|
3494
3494
|
});
|
|
@@ -3497,7 +3497,7 @@ function ConnectedTagTable({
|
|
|
3497
3497
|
return { blob: new Blob([bytes], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }), name };
|
|
3498
3498
|
};
|
|
3499
3499
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3500
|
-
|
|
3500
|
+
chunk6EQSP77K_cjs.TagTable,
|
|
3501
3501
|
{
|
|
3502
3502
|
...props,
|
|
3503
3503
|
table,
|
|
@@ -3635,9 +3635,9 @@ function GlossaryExport({ labelId, nameOf }) {
|
|
|
3635
3635
|
const narrowed = agreements.find((a) => a.id === narrowTo);
|
|
3636
3636
|
const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
|
|
3637
3637
|
const download = (format) => {
|
|
3638
|
-
const entries =
|
|
3639
|
-
const blob = format === "docx" ? new Blob([
|
|
3640
|
-
documentTools.downloadBlob(blob,
|
|
3638
|
+
const entries = chunk6EQSP77K_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
|
|
3639
|
+
const blob = format === "docx" ? new Blob([chunk6EQSP77K_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunk6EQSP77K_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
|
|
3640
|
+
documentTools.downloadBlob(blob, chunk6EQSP77K_cjs.glossaryFileName(title, format));
|
|
3641
3641
|
};
|
|
3642
3642
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
|
|
3643
3643
|
agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -4423,7 +4423,7 @@ var DocumentSharedCell = React9.memo(function DocumentSharedCell2({
|
|
|
4423
4423
|
[document2.external_id, onToggle]
|
|
4424
4424
|
);
|
|
4425
4425
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4426
|
-
|
|
4426
|
+
chunk6EQSP77K_cjs.SharedCell,
|
|
4427
4427
|
{
|
|
4428
4428
|
item: document2,
|
|
4429
4429
|
onToggle: handleToggle,
|
|
@@ -5134,7 +5134,7 @@ function KindSection({
|
|
|
5134
5134
|
{
|
|
5135
5135
|
testId: `tags-kind-${kind}`,
|
|
5136
5136
|
title: ui.tagKindTitle(kind, { plural: true }),
|
|
5137
|
-
description:
|
|
5137
|
+
description: chunk6EQSP77K_cjs.tagKindDescription(kind),
|
|
5138
5138
|
actions: picker,
|
|
5139
5139
|
children: [
|
|
5140
5140
|
browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -5145,9 +5145,9 @@ function KindSection({
|
|
|
5145
5145
|
children: [
|
|
5146
5146
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
|
|
5147
5147
|
"Extracting ",
|
|
5148
|
-
|
|
5148
|
+
chunk6EQSP77K_cjs.entitiesPhrase().toLowerCase(),
|
|
5149
5149
|
" from ",
|
|
5150
|
-
|
|
5150
|
+
chunk6EQSP77K_cjs.documentCount(extractingCount),
|
|
5151
5151
|
"\u2026"
|
|
5152
5152
|
]
|
|
5153
5153
|
}
|
|
@@ -5165,7 +5165,7 @@ function KindSection({
|
|
|
5165
5165
|
onOpenDocument: (id) => openDocument(id),
|
|
5166
5166
|
onOpenFact: ctx.onOpenFact,
|
|
5167
5167
|
onOpenThread: (id) => openConversation(id),
|
|
5168
|
-
labels:
|
|
5168
|
+
labels: chunk6EQSP77K_cjs.tagTableLabels(kind),
|
|
5169
5169
|
testId: `tags-table-${kind}`
|
|
5170
5170
|
}
|
|
5171
5171
|
)
|
|
@@ -5267,12 +5267,12 @@ function TagSection({
|
|
|
5267
5267
|
onOpenDocument: (id) => openDocument(id),
|
|
5268
5268
|
onOpenFact: ctx.onOpenFact,
|
|
5269
5269
|
onOpenThread: (id) => openConversation(id),
|
|
5270
|
-
labels:
|
|
5270
|
+
labels: chunk6EQSP77K_cjs.tagTableLabels(tag.kind),
|
|
5271
5271
|
testId: "tags-rows"
|
|
5272
5272
|
}
|
|
5273
5273
|
),
|
|
5274
5274
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5275
|
-
|
|
5275
|
+
chunk6EQSP77K_cjs.TagDetail,
|
|
5276
5276
|
{
|
|
5277
5277
|
row: detailRow && narrowTagRow(detailRow, ctx.filter.matches),
|
|
5278
5278
|
fields: schema.data?.fields ?? [],
|
|
@@ -5284,10 +5284,10 @@ function TagSection({
|
|
|
5284
5284
|
onOpenDocument: (id) => openDocument(id),
|
|
5285
5285
|
onOpenFact: ctx.onOpenFact,
|
|
5286
5286
|
onOpenThread: (id) => openConversation(id),
|
|
5287
|
-
noteLabel:
|
|
5287
|
+
noteLabel: chunk6EQSP77K_cjs.tagNoteLabel(tag.kind),
|
|
5288
5288
|
noteIsValue: tag.kind === "annotation",
|
|
5289
5289
|
renderPassages: (d, label) => renderPassages(d.doc_ext_id, label),
|
|
5290
|
-
labels:
|
|
5290
|
+
labels: chunk6EQSP77K_cjs.tagDetailLabels(),
|
|
5291
5291
|
testId: "tags-detail"
|
|
5292
5292
|
}
|
|
5293
5293
|
)
|
|
@@ -5375,7 +5375,7 @@ function ConnectedTagsPage({
|
|
|
5375
5375
|
const onDelete = async (t) => {
|
|
5376
5376
|
const nested = browser.getChildTags([...tags], t.external_id);
|
|
5377
5377
|
const uses = browser.tagUseCount(t);
|
|
5378
|
-
const n2 =
|
|
5378
|
+
const n2 = chunk6EQSP77K_cjs.tagsPageNouns();
|
|
5379
5379
|
const tagNoun = (count2) => (count2 === 1 ? n2.tag : n2.tags).toLowerCase();
|
|
5380
5380
|
const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
|
|
5381
5381
|
const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
|
|
@@ -5396,16 +5396,16 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
5396
5396
|
try {
|
|
5397
5397
|
await extract.mutateAsync(docIds);
|
|
5398
5398
|
notify17(
|
|
5399
|
-
`Extracting ${
|
|
5399
|
+
`Extracting ${chunk6EQSP77K_cjs.entitiesPhrase().toLowerCase()} from ${chunk6EQSP77K_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
|
|
5400
5400
|
"info"
|
|
5401
5401
|
);
|
|
5402
5402
|
} catch (error) {
|
|
5403
|
-
notify17(browser.refusalReason(error, `Could not extract ${
|
|
5403
|
+
notify17(browser.refusalReason(error, `Could not extract ${chunk6EQSP77K_cjs.entitiesPhrase().toLowerCase()}`), "error");
|
|
5404
5404
|
throw error;
|
|
5405
5405
|
}
|
|
5406
5406
|
};
|
|
5407
5407
|
const picker = /* @__PURE__ */ jsxRuntime.jsx(
|
|
5408
|
-
|
|
5408
|
+
chunk6EQSP77K_cjs.TagPicker,
|
|
5409
5409
|
{
|
|
5410
5410
|
tags: viewTags,
|
|
5411
5411
|
selectedId: tag?.external_id,
|
|
@@ -5419,10 +5419,10 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
5419
5419
|
onOpenTag: openTag,
|
|
5420
5420
|
onOpenFact
|
|
5421
5421
|
};
|
|
5422
|
-
const n =
|
|
5422
|
+
const n = chunk6EQSP77K_cjs.tagsPageNouns();
|
|
5423
5423
|
const action = view === "person" || view === "organisation" ? {
|
|
5424
5424
|
label: "Extract",
|
|
5425
|
-
title: `Extract ${
|
|
5425
|
+
title: `Extract ${chunk6EQSP77K_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
|
|
5426
5426
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
|
|
5427
5427
|
run: () => setExtracting(true),
|
|
5428
5428
|
testId: "tags-extract-entities"
|
|
@@ -5572,7 +5572,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
5572
5572
|
}
|
|
5573
5573
|
),
|
|
5574
5574
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5575
|
-
|
|
5575
|
+
chunk6EQSP77K_cjs.ExtractEntitiesDialog,
|
|
5576
5576
|
{
|
|
5577
5577
|
open: extracting,
|
|
5578
5578
|
onOpenChange: setExtracting,
|
|
@@ -7575,7 +7575,7 @@ function ConnectedFactsPage({
|
|
|
7575
7575
|
onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
|
|
7576
7576
|
navSlotRef: setNavSlot,
|
|
7577
7577
|
navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7578
|
-
|
|
7578
|
+
chunk6EQSP77K_cjs.GridRowNavigator,
|
|
7579
7579
|
{
|
|
7580
7580
|
gridApi,
|
|
7581
7581
|
selectedId: editingId,
|
|
@@ -10571,7 +10571,7 @@ function ConnectedWorkspaceMembers({
|
|
|
10571
10571
|
minWidth: 150,
|
|
10572
10572
|
sortable: true,
|
|
10573
10573
|
valueGetter: (p) => p.data ? memberName(p.data.user) : "",
|
|
10574
|
-
cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10574
|
+
cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunk5V4HH7EH_cjs.MemberNameCell, { children: renderMember(p.data) }) : null
|
|
10575
10575
|
},
|
|
10576
10576
|
{
|
|
10577
10577
|
colId: "email",
|
|
@@ -10581,7 +10581,7 @@ function ConnectedWorkspaceMembers({
|
|
|
10581
10581
|
sortable: true,
|
|
10582
10582
|
valueGetter: (p) => p.data?.user.email ?? "",
|
|
10583
10583
|
// Plain text, not a mailto: the row's click selects it.
|
|
10584
|
-
cellRenderer: (p) => p.data?.user.email ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10584
|
+
cellRenderer: (p) => p.data?.user.email ? /* @__PURE__ */ jsxRuntime.jsx(chunk5V4HH7EH_cjs.MemberMutedText, { className: "truncate", title: p.data.user.email, children: p.data.user.email }) : null
|
|
10585
10585
|
},
|
|
10586
10586
|
{
|
|
10587
10587
|
colId: "role",
|
|
@@ -10595,7 +10595,7 @@ function ConnectedWorkspaceMembers({
|
|
|
10595
10595
|
if (!row2) return null;
|
|
10596
10596
|
const lock = roleLock(row2.user.external_id, selfId, isOwner);
|
|
10597
10597
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10598
|
-
|
|
10598
|
+
chunk5V4HH7EH_cjs.MemberRoleCell,
|
|
10599
10599
|
{
|
|
10600
10600
|
role: row2.role,
|
|
10601
10601
|
roles: ALL_ROLES,
|
|
@@ -10615,7 +10615,7 @@ function ConnectedWorkspaceMembers({
|
|
|
10615
10615
|
minWidth: 125,
|
|
10616
10616
|
sortable: true,
|
|
10617
10617
|
valueGetter: (p) => p.data ? new Date(p.data.joined_at).getTime() : "",
|
|
10618
|
-
cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10618
|
+
cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunk5V4HH7EH_cjs.MemberMutedText, { className: "cursor-default", children: ui.formatFriendlyDate(p.data.joined_at) }) : null
|
|
10619
10619
|
},
|
|
10620
10620
|
{
|
|
10621
10621
|
colId: "conversation_count",
|
|
@@ -10625,7 +10625,7 @@ function ConnectedWorkspaceMembers({
|
|
|
10625
10625
|
sortable: true,
|
|
10626
10626
|
type: "numericColumn",
|
|
10627
10627
|
valueGetter: (p) => p.data?.conversation_count ?? 0,
|
|
10628
|
-
cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10628
|
+
cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunk5V4HH7EH_cjs.MemberMutedText, { children: p.data.conversation_count }) : null
|
|
10629
10629
|
},
|
|
10630
10630
|
{
|
|
10631
10631
|
colId: "document_count",
|
|
@@ -10635,7 +10635,7 @@ function ConnectedWorkspaceMembers({
|
|
|
10635
10635
|
sortable: true,
|
|
10636
10636
|
type: "numericColumn",
|
|
10637
10637
|
valueGetter: (p) => p.data?.document_count ?? 0,
|
|
10638
|
-
cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10638
|
+
cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunk5V4HH7EH_cjs.MemberMutedText, { children: p.data.document_count }) : null
|
|
10639
10639
|
},
|
|
10640
10640
|
{
|
|
10641
10641
|
colId: "files_mb",
|
|
@@ -10648,7 +10648,7 @@ function ConnectedWorkspaceMembers({
|
|
|
10648
10648
|
cellRenderer: (p) => {
|
|
10649
10649
|
if (!p.data) return null;
|
|
10650
10650
|
const mb = p.data.files_mb ?? 0;
|
|
10651
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10651
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunk5V4HH7EH_cjs.MemberMutedText, { children: [
|
|
10652
10652
|
mb >= 100 ? Math.round(mb).toLocaleString("en-US") : mb.toFixed(1),
|
|
10653
10653
|
" MB"
|
|
10654
10654
|
] });
|
|
@@ -10688,7 +10688,7 @@ Note that ${members2} may have saved private content in the ${workspaceWord2} th
|
|
|
10688
10688
|
);
|
|
10689
10689
|
const canChangeRoleSelected = selected.some((m) => !roleLock(m.user.external_id, selfId, isOwner));
|
|
10690
10690
|
const ownerOnly = `Only available to ${workspaceWord2} owner`;
|
|
10691
|
-
if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10691
|
+
if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunk5V4HH7EH_cjs.MemberListLoading, {});
|
|
10692
10692
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "workspace-users", className: "relative flex flex-col", children: [
|
|
10693
10693
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10694
10694
|
chunkLKK52DEY_cjs.GridView,
|
|
@@ -10706,7 +10706,7 @@ Note that ${members2} may have saved private content in the ${workspaceWord2} th
|
|
|
10706
10706
|
}
|
|
10707
10707
|
) }),
|
|
10708
10708
|
!readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkV4ISCZJ7_cjs.SelectionBar, { count: selected.length, onClear: () => setSelected([]), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10709
|
-
|
|
10709
|
+
chunk5V4HH7EH_cjs.MemberBulkActions,
|
|
10710
10710
|
{
|
|
10711
10711
|
roles: BULK_ROLES,
|
|
10712
10712
|
onChangeRole: (value) => void changeSelectedRoles(value),
|
|
@@ -10750,13 +10750,13 @@ function ConnectedWorkspaceSettings({
|
|
|
10750
10750
|
const [membersExpanded, setMembersExpanded] = React9.useState(false);
|
|
10751
10751
|
const [shareOpen, setShareOpen] = React9.useState(false);
|
|
10752
10752
|
if (!workspace) {
|
|
10753
|
-
return /* @__PURE__ */ jsxRuntime.jsx(chunkQ7BS7EOU_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10753
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQ7BS7EOU_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk6EQSP77K_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
|
|
10754
10754
|
}
|
|
10755
10755
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
10756
10756
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkQ7BS7EOU_cjs.WorkspacePageFrame, { testId, children: [
|
|
10757
10757
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkQ7BS7EOU_cjs.WorkspaceIdentityPanel, { children: [
|
|
10758
10758
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10759
|
-
|
|
10759
|
+
chunk6EQSP77K_cjs.EntityIdentityBar,
|
|
10760
10760
|
{
|
|
10761
10761
|
testId: "workspace-identity-bar",
|
|
10762
10762
|
canEdit: isOwner,
|
|
@@ -10773,7 +10773,7 @@ function ConnectedWorkspaceSettings({
|
|
|
10773
10773
|
label: "Name",
|
|
10774
10774
|
value: workspace.name,
|
|
10775
10775
|
placeholder: "Untitled",
|
|
10776
|
-
maxLength:
|
|
10776
|
+
maxLength: chunk6EQSP77K_cjs.IDENTITY_NAME_MAX_LENGTH,
|
|
10777
10777
|
valueClassName: "truncate text-base font-semibold",
|
|
10778
10778
|
testId: "workspace-home-title",
|
|
10779
10779
|
hideLabel: true,
|
|
@@ -10996,7 +10996,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
10996
10996
|
error: foldersError
|
|
10997
10997
|
} = react.useMailboxFolders(catalog.vendor_key, open && tokensBridged);
|
|
10998
10998
|
const foldersLoading = !tokensBridged || foldersQueryLoading;
|
|
10999
|
-
const folderTree =
|
|
10999
|
+
const folderTree = chunk5V4HH7EH_cjs.buildMailFolderTree(folders);
|
|
11000
11000
|
const [expandAllNonce, setExpandAllNonce] = React9.useState(0);
|
|
11001
11001
|
const [collapseAllNonce, setCollapseAllNonce] = React9.useState(0);
|
|
11002
11002
|
const selectAllIds = folderTree.flatMap(
|
|
@@ -11127,7 +11127,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
11127
11127
|
}
|
|
11128
11128
|
)
|
|
11129
11129
|
) : folders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFEVJA4BP_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFEVJA4BP_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11130
|
-
|
|
11130
|
+
chunk5V4HH7EH_cjs.MailFolderTree,
|
|
11131
11131
|
{
|
|
11132
11132
|
nodes: folderTree,
|
|
11133
11133
|
selected: selectedFolders,
|
|
@@ -11529,36 +11529,36 @@ function ConnectedSharePointAdminConsentPage({
|
|
|
11529
11529
|
const result = givenResult === void 0 ? queryResult : givenResult;
|
|
11530
11530
|
const { apiBaseUrl } = chunkB3NYBMDR_cjs.useBlocksEnvironment().runtimeConfig;
|
|
11531
11531
|
const consentUrl = `${apiBaseUrl}/v1/connectors/microsoft_sharepoint/admin-consent`;
|
|
11532
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11532
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentCard, { size: "md", children: [
|
|
11533
11533
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11534
|
-
|
|
11534
|
+
chunkFY4C7HU5_cjs.ConsentHeader,
|
|
11535
11535
|
{
|
|
11536
11536
|
icon: /* @__PURE__ */ jsxRuntime.jsx(chunkWALADS2S_cjs.VendorLogo, { vendorKey: "microsoft_sharepoint", product: "sharepoint" }),
|
|
11537
11537
|
title: "Approve ARBI for SharePoint access",
|
|
11538
11538
|
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."
|
|
11539
11539
|
}
|
|
11540
11540
|
),
|
|
11541
|
-
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11542
|
-
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11543
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11541
|
+
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_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." }),
|
|
11542
|
+
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_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." }),
|
|
11543
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentSection, { title: "What you are approving", children: [
|
|
11544
11544
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11545
|
-
|
|
11545
|
+
chunkFY4C7HU5_cjs.ConsentBulletList,
|
|
11546
11546
|
{
|
|
11547
11547
|
items: [
|
|
11548
11548
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11549
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11549
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
|
|
11550
11550
|
" \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."
|
|
11551
11551
|
] }),
|
|
11552
11552
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11553
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11553
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
|
|
11554
11554
|
" \u2014 standard sign-in (openid, profile, email) and offline access so syncs keep working between sessions."
|
|
11555
11555
|
] })
|
|
11556
11556
|
]
|
|
11557
11557
|
}
|
|
11558
11558
|
),
|
|
11559
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11559
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_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." }),
|
|
11560
11560
|
/* @__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" }) }),
|
|
11561
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11561
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_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." })
|
|
11562
11562
|
] })
|
|
11563
11563
|
] }) });
|
|
11564
11564
|
}
|
|
@@ -14456,36 +14456,36 @@ function ConnectedAddContacts({
|
|
|
14456
14456
|
const [rows, setRows] = React9.useState(null);
|
|
14457
14457
|
const selfEmail = arbi.isLoggedIn ? arbi.user.identity()?.email : null;
|
|
14458
14458
|
const submit = async () => {
|
|
14459
|
-
if (!
|
|
14459
|
+
if (!chunk5V4HH7EH_cjs.emailTokens(text2).length) {
|
|
14460
14460
|
notify17("Please enter at least one email address", "error");
|
|
14461
14461
|
return;
|
|
14462
14462
|
}
|
|
14463
|
-
const plan =
|
|
14464
|
-
if (plan.send.length >
|
|
14465
|
-
notify17(`Maximum ${
|
|
14463
|
+
const plan = chunk5V4HH7EH_cjs.planContactInvites(text2, contacts, selfEmail);
|
|
14464
|
+
if (plan.send.length > chunk5V4HH7EH_cjs.MAX_INVITE_EMAILS) {
|
|
14465
|
+
notify17(`Maximum ${chunk5V4HH7EH_cjs.MAX_INVITE_EMAILS} new emails allowed per batch`, "error");
|
|
14466
14466
|
return;
|
|
14467
14467
|
}
|
|
14468
14468
|
setRows(plan.rows);
|
|
14469
14469
|
if (!plan.send.length) {
|
|
14470
|
-
notify17(
|
|
14470
|
+
notify17(chunk5V4HH7EH_cjs.summarizeUnsentInvites(plan.rows), "info");
|
|
14471
14471
|
onSuccess?.();
|
|
14472
14472
|
return;
|
|
14473
14473
|
}
|
|
14474
14474
|
try {
|
|
14475
14475
|
const response = await invite.mutateAsync(plan.send);
|
|
14476
|
-
setRows(
|
|
14477
|
-
const summary =
|
|
14476
|
+
setRows(chunk5V4HH7EH_cjs.applyContactInviteResults(plan, response));
|
|
14477
|
+
const summary = chunk5V4HH7EH_cjs.summarizeContactInvites(response);
|
|
14478
14478
|
notify17(summary.message, summary.failed ? "error" : "success");
|
|
14479
14479
|
onSuccess?.();
|
|
14480
14480
|
} catch (error) {
|
|
14481
14481
|
const message = browser.refusalReason(error, "Failed to add contacts");
|
|
14482
|
-
setRows(
|
|
14482
|
+
setRows(chunk5V4HH7EH_cjs.failContactInvites(plan, message));
|
|
14483
14483
|
notify17(message, "error");
|
|
14484
14484
|
}
|
|
14485
14485
|
};
|
|
14486
14486
|
if (rows)
|
|
14487
14487
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14488
|
-
|
|
14488
|
+
chunk5V4HH7EH_cjs.AddContactsResults,
|
|
14489
14489
|
{
|
|
14490
14490
|
rows,
|
|
14491
14491
|
onDone: onClose,
|
|
@@ -14496,11 +14496,11 @@ function ConnectedAddContacts({
|
|
|
14496
14496
|
}
|
|
14497
14497
|
);
|
|
14498
14498
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14499
|
-
|
|
14499
|
+
chunk5V4HH7EH_cjs.AddContactsForm,
|
|
14500
14500
|
{
|
|
14501
14501
|
value: text2,
|
|
14502
14502
|
onChange: setText,
|
|
14503
|
-
emailCount:
|
|
14503
|
+
emailCount: chunk5V4HH7EH_cjs.emailTokens(text2).length,
|
|
14504
14504
|
isPending: invite.isPending,
|
|
14505
14505
|
onSubmit: () => void submit(),
|
|
14506
14506
|
onCancel: onClose,
|
|
@@ -14909,7 +14909,7 @@ function ConnectedWorkspaceList({
|
|
|
14909
14909
|
else void openWorkspace(workspace.external_id, { name: workspace.name });
|
|
14910
14910
|
};
|
|
14911
14911
|
const createDisabledReason = list.canCreateProjects === false ? react.PROJECT_CREATION_DENIED_REASON : void 0;
|
|
14912
|
-
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14912
|
+
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunk6EQSP77K_cjs.LoadingIndicator, { message: "Loading workspaces..." });
|
|
14913
14913
|
if (list.error) {
|
|
14914
14914
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14915
14915
|
chunkH6K7EWL2_cjs.HomeLoadError,
|
|
@@ -14982,7 +14982,7 @@ function ConnectedWorkspaceList({
|
|
|
14982
14982
|
workspaceState
|
|
14983
14983
|
}
|
|
14984
14984
|
) })
|
|
14985
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14985
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk6EQSP77K_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkH6K7EWL2_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14986
14986
|
WorkspaceTableView,
|
|
14987
14987
|
{
|
|
14988
14988
|
list,
|
|
@@ -15224,7 +15224,7 @@ function ProjectsListPage({
|
|
|
15224
15224
|
}
|
|
15225
15225
|
),
|
|
15226
15226
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15227
|
-
|
|
15227
|
+
chunk6EQSP77K_cjs.Toolbar,
|
|
15228
15228
|
{
|
|
15229
15229
|
search,
|
|
15230
15230
|
onSearch: setSearch,
|
|
@@ -15644,7 +15644,7 @@ var COMPACT_BELOW = 132;
|
|
|
15644
15644
|
var NO_DOCUMENTS = [];
|
|
15645
15645
|
function useFilesWorkspace() {
|
|
15646
15646
|
const { workspaceId, userId, live } = chunkJVXHVFUA_cjs.useConnectedWorkspace();
|
|
15647
|
-
const { members, role } =
|
|
15647
|
+
const { members, role } = chunkVMLEISRZ_cjs.useConnectedWorkspaceRole();
|
|
15648
15648
|
const { data: workspaces } = react.useWorkspaces({ enabled: live });
|
|
15649
15649
|
const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
|
|
15650
15650
|
return {
|
|
@@ -16848,7 +16848,7 @@ function ConnectedContactCardForm({
|
|
|
16848
16848
|
}) {
|
|
16849
16849
|
const { notify: notify17 } = chunkB3NYBMDR_cjs.useBlocksEnvironment();
|
|
16850
16850
|
const [form, setForm] = React9.useState(
|
|
16851
|
-
() => contact?.card ?
|
|
16851
|
+
() => contact?.card ? chunk5V4HH7EH_cjs.contactToForm(contact.card) : chunk5V4HH7EH_cjs.EMPTY_CONTACT_FORM
|
|
16852
16852
|
);
|
|
16853
16853
|
const [invite, setInvite] = React9.useState(false);
|
|
16854
16854
|
const [errors, setErrors] = React9.useState({});
|
|
@@ -16862,14 +16862,14 @@ function ConnectedContactCardForm({
|
|
|
16862
16862
|
const locked = !!contact && !contact.card;
|
|
16863
16863
|
const set = (key, value) => setForm((f) => ({ ...f, [key]: value }));
|
|
16864
16864
|
const submit = () => {
|
|
16865
|
-
const found =
|
|
16866
|
-
const email =
|
|
16865
|
+
const found = chunk5V4HH7EH_cjs.validateContactForm(form);
|
|
16866
|
+
const email = chunk5V4HH7EH_cjs.inviteEmail(form);
|
|
16867
16867
|
if (invite && !email && !found.emails) found.emails = "Add an e-mail address to invite";
|
|
16868
16868
|
setErrors(found);
|
|
16869
16869
|
setServerError(null);
|
|
16870
16870
|
setDuplicateOf(null);
|
|
16871
16871
|
if (Object.keys(found).length) return;
|
|
16872
|
-
const card =
|
|
16872
|
+
const card = chunk5V4HH7EH_cjs.formToContactCard(form);
|
|
16873
16873
|
const onError = (err) => {
|
|
16874
16874
|
setServerError(browser.refusalReason(err, "Could not save"));
|
|
16875
16875
|
if (err instanceof browser.DuplicateContactError && err.contactId !== contact?.external_id)
|
|
@@ -16877,10 +16877,10 @@ function ConnectedContactCardForm({
|
|
|
16877
16877
|
};
|
|
16878
16878
|
const onInvited = (result) => {
|
|
16879
16879
|
if (result.status === "failed") {
|
|
16880
|
-
setServerError(result.outcome_detail ||
|
|
16880
|
+
setServerError(result.outcome_detail || chunk5V4HH7EH_cjs.DEFAULT_CONTACT_OUTCOME_LABELS.failed);
|
|
16881
16881
|
return;
|
|
16882
16882
|
}
|
|
16883
|
-
notify17(
|
|
16883
|
+
notify17(chunk5V4HH7EH_cjs.contactOutcomeMessage({ ...result, outcome: result.outcome ?? "invited" }), "success");
|
|
16884
16884
|
onDone();
|
|
16885
16885
|
};
|
|
16886
16886
|
if (invite && email) {
|
|
@@ -16936,7 +16936,7 @@ function ConnectedContactCardForm({
|
|
|
16936
16936
|
linked && contact && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-muted-foreground", "data-testid": "contact-linked-email", children: [
|
|
16937
16937
|
"ARBI: ",
|
|
16938
16938
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: contact.email }),
|
|
16939
|
-
|
|
16939
|
+
chunk5V4HH7EH_cjs.contactStatusLabel(contact.status) && ` \xB7 ${chunk5V4HH7EH_cjs.contactStatusLabel(contact.status)}`
|
|
16940
16940
|
] }),
|
|
16941
16941
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-1", children: [
|
|
16942
16942
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "contact-name", children: "Name" }),
|
|
@@ -17139,7 +17139,7 @@ function ImportVcfSummary({
|
|
|
17139
17139
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "min-w-0", children: [
|
|
17140
17140
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: o.file }),
|
|
17141
17141
|
": ",
|
|
17142
|
-
"error" in o ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-destructive", children: o.error }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children:
|
|
17142
|
+
"error" in o ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-destructive", children: o.error }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: chunk5V4HH7EH_cjs.summarizeImport(o.result) })
|
|
17143
17143
|
] }),
|
|
17144
17144
|
"result" in o && o.result.skipped.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "text-xs text-muted-foreground", children: [
|
|
17145
17145
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer", children: "Why cards were skipped" }),
|
|
@@ -17177,7 +17177,7 @@ function ConnectedContactsDirectory({
|
|
|
17177
17177
|
const [confirmDelete, setConfirmDelete] = React9.useState(null);
|
|
17178
17178
|
const [importState, setImportState] = React9.useState(null);
|
|
17179
17179
|
const contacts = React9.useMemo(() => data.filter((c) => !(c.user && ui.isAgent(c.user))), [data]);
|
|
17180
|
-
const shown = React9.useMemo(() => contacts.filter((c) =>
|
|
17180
|
+
const shown = React9.useMemo(() => contacts.filter((c) => chunk5V4HH7EH_cjs.matchesContact(c, q)), [contacts, q]);
|
|
17181
17181
|
if (editing)
|
|
17182
17182
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17183
17183
|
"section",
|
|
@@ -17196,7 +17196,7 @@ function ConnectedContactsDirectory({
|
|
|
17196
17196
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, { className: "size-4" })
|
|
17197
17197
|
}
|
|
17198
17198
|
),
|
|
17199
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "truncate text-base font-semibold text-foreground", children: editing === "new" ? "New contact" :
|
|
17199
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "truncate text-base font-semibold text-foreground", children: editing === "new" ? "New contact" : chunk5V4HH7EH_cjs.contactName(editing) || "Contact" })
|
|
17200
17200
|
] }),
|
|
17201
17201
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17202
17202
|
ConnectedContactCardForm,
|
|
@@ -17268,8 +17268,8 @@ function ConnectedContactsDirectory({
|
|
|
17268
17268
|
"\u201D."
|
|
17269
17269
|
] }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "grid divide-y divide-border rounded-lg border border-border", children: shown.map((c, i) => {
|
|
17270
17270
|
const id = c.external_id ?? `row-${i}`;
|
|
17271
|
-
const name =
|
|
17272
|
-
const status =
|
|
17271
|
+
const name = chunk5V4HH7EH_cjs.contactName(c);
|
|
17272
|
+
const status = chunk5V4HH7EH_cjs.contactStatusLabel(c.status);
|
|
17273
17273
|
const peer = onMessage && c.status === "registered" ? c.user : null;
|
|
17274
17274
|
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-center justify-between gap-2 px-3 py-2 text-sm", children: [
|
|
17275
17275
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -17299,7 +17299,7 @@ function ConnectedContactsDirectory({
|
|
|
17299
17299
|
)
|
|
17300
17300
|
] }),
|
|
17301
17301
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "truncate text-xs text-muted-foreground", children: [
|
|
17302
|
-
|
|
17302
|
+
chunk5V4HH7EH_cjs.primaryEmail(c) !== name && chunk5V4HH7EH_cjs.primaryEmail(c),
|
|
17303
17303
|
c.card?.organization,
|
|
17304
17304
|
c.card?.birthday && `Birthday ${c.card.birthday}`
|
|
17305
17305
|
].filter(Boolean).join(" \xB7 ") })
|
|
@@ -17428,7 +17428,7 @@ function recentConversations(conversations) {
|
|
|
17428
17428
|
return [...conversations].sort((a, b) => time(b.updated_at) - time(a.updated_at)).slice(0, RECENT_ROWS).map((c) => ({
|
|
17429
17429
|
id: c.external_id,
|
|
17430
17430
|
title: c.title?.trim() || "Untitled thread",
|
|
17431
|
-
subtitle: c.status ? [
|
|
17431
|
+
subtitle: c.status ? [chunkFY4C7HU5_cjs.STATUS_LABELS[chunkFY4C7HU5_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"}`,
|
|
17432
17432
|
time: timeAndDate(c.updated_at)
|
|
17433
17433
|
}));
|
|
17434
17434
|
}
|
|
@@ -18078,7 +18078,7 @@ function MailRecipientInput({
|
|
|
18078
18078
|
const { head, token } = currentToken(value);
|
|
18079
18079
|
const found = source.useSuggestions(token);
|
|
18080
18080
|
const options2 = React9.useMemo(() => {
|
|
18081
|
-
const chosen = new Set(
|
|
18081
|
+
const chosen = new Set(chunk5V4HH7EH_cjs.parseMailRecipients(head).map((r) => r.email.toLowerCase()));
|
|
18082
18082
|
return found.filter((p) => !chosen.has(p.email.toLowerCase())).slice(0, 8);
|
|
18083
18083
|
}, [found, head]);
|
|
18084
18084
|
const open = focused && !dismissed && token.length > 0 && options2.length > 0;
|
|
@@ -18226,7 +18226,7 @@ function useWordBody({
|
|
|
18226
18226
|
}
|
|
18227
18227
|
var MailBodyEditor = React9.lazy(
|
|
18228
18228
|
() => import('../MailBodyEditor-D7MGJMLH.cjs').catch(() => ({
|
|
18229
|
-
default:
|
|
18229
|
+
default: chunk5V4HH7EH_cjs.PlainMailBodyEditor
|
|
18230
18230
|
}))
|
|
18231
18231
|
);
|
|
18232
18232
|
var NativeDocxEditor = React9.lazy(
|
|
@@ -18319,9 +18319,9 @@ function MailComposerForm({
|
|
|
18319
18319
|
}, [drafts, draftId, subject]);
|
|
18320
18320
|
const body = () => ({
|
|
18321
18321
|
...initial,
|
|
18322
|
-
to:
|
|
18323
|
-
cc:
|
|
18324
|
-
bcc:
|
|
18322
|
+
to: chunk5V4HH7EH_cjs.parseMailRecipients(to),
|
|
18323
|
+
cc: chunk5V4HH7EH_cjs.parseMailRecipients(cc),
|
|
18324
|
+
bcc: chunk5V4HH7EH_cjs.parseMailRecipients(bcc),
|
|
18325
18325
|
subject,
|
|
18326
18326
|
text: text2,
|
|
18327
18327
|
html,
|
|
@@ -18793,7 +18793,7 @@ function MailComposerForm({
|
|
|
18793
18793
|
}
|
|
18794
18794
|
),
|
|
18795
18795
|
documents && /* @__PURE__ */ jsxRuntime.jsx(
|
|
18796
|
-
|
|
18796
|
+
chunk5V4HH7EH_cjs.MailDocumentPicker,
|
|
18797
18797
|
{
|
|
18798
18798
|
documents: documents.documents,
|
|
18799
18799
|
disabled: locked,
|
|
@@ -18912,7 +18912,7 @@ function ConnectedMailComposer({
|
|
|
18912
18912
|
openId,
|
|
18913
18913
|
async (from, id) => {
|
|
18914
18914
|
const message = await client.getMessage(from, id);
|
|
18915
|
-
return
|
|
18915
|
+
return chunk5V4HH7EH_cjs.draftMailCompose(
|
|
18916
18916
|
message,
|
|
18917
18917
|
await hydrateMailAttachments(client, from, message.id, message.attachments, {
|
|
18918
18918
|
isOnline,
|
|
@@ -18926,11 +18926,11 @@ function ConnectedMailComposer({
|
|
|
18926
18926
|
const start = React9.useMemo(() => {
|
|
18927
18927
|
if (replyTo)
|
|
18928
18928
|
return original.data && account ? {
|
|
18929
|
-
...
|
|
18929
|
+
...chunk5V4HH7EH_cjs.replyMailCompose(original.data, { account, folderRole: "inbox" }),
|
|
18930
18930
|
text: "",
|
|
18931
18931
|
html: ""
|
|
18932
18932
|
} : void 0;
|
|
18933
|
-
return reloaded ? draft.data : initial ?? (openId ? draft.data :
|
|
18933
|
+
return reloaded ? draft.data : initial ?? (openId ? draft.data : chunk5V4HH7EH_cjs.emptyMailCompose());
|
|
18934
18934
|
}, [replyTo, original.data, account, reloaded, initial, openId, draft.data]);
|
|
18935
18935
|
if (!start)
|
|
18936
18936
|
return draft.error ?? original.error ? /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "p-4 text-sm text-destructive", children: (draft.error ?? original.error)?.message }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "p-4 text-sm text-muted-foreground", children: "Loading draft\u2026" });
|
|
@@ -19237,7 +19237,7 @@ function ConnectedMailbox({
|
|
|
19237
19237
|
const message = detail.data;
|
|
19238
19238
|
React9.useEffect(() => {
|
|
19239
19239
|
if (!composeAttachments?.length) return;
|
|
19240
|
-
openCompose({ ...
|
|
19240
|
+
openCompose({ ...chunk5V4HH7EH_cjs.emptyMailCompose(), attachments: composeAttachments });
|
|
19241
19241
|
onComposeOpened?.();
|
|
19242
19242
|
}, [composeAttachments]);
|
|
19243
19243
|
React9.useEffect(() => {
|
|
@@ -19369,7 +19369,7 @@ function ConnectedMailbox({
|
|
|
19369
19369
|
const editDraft = async () => {
|
|
19370
19370
|
if (!message) return;
|
|
19371
19371
|
try {
|
|
19372
|
-
openCompose(
|
|
19372
|
+
openCompose(chunk5V4HH7EH_cjs.draftMailCompose(message, await hydrate(message.attachments)));
|
|
19373
19373
|
} catch (e) {
|
|
19374
19374
|
setActionError(e instanceof Error ? e.message : "Could not load draft attachments");
|
|
19375
19375
|
}
|
|
@@ -19378,7 +19378,7 @@ function ConnectedMailbox({
|
|
|
19378
19378
|
if (!message || !account) return;
|
|
19379
19379
|
try {
|
|
19380
19380
|
const attachments = forward ? await hydrate(message.attachments) : [];
|
|
19381
|
-
openCompose(
|
|
19381
|
+
openCompose(chunk5V4HH7EH_cjs.replyMailCompose(message, { account, folderRole, forward, all, attachments }));
|
|
19382
19382
|
} catch (e) {
|
|
19383
19383
|
setActionError(e instanceof Error ? e.message : "Could not prepare forwarded attachments");
|
|
19384
19384
|
}
|
|
@@ -19498,7 +19498,7 @@ function ConnectedMailbox({
|
|
|
19498
19498
|
{
|
|
19499
19499
|
size: "sm",
|
|
19500
19500
|
disabled: !ready || !!compose,
|
|
19501
|
-
onClick: () => openCompose(
|
|
19501
|
+
onClick: () => openCompose(chunk5V4HH7EH_cjs.emptyMailCompose()),
|
|
19502
19502
|
children: [
|
|
19503
19503
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "mr-1.5 size-4" }),
|
|
19504
19504
|
"Email"
|
|
@@ -19577,7 +19577,7 @@ function ConnectedMailbox({
|
|
|
19577
19577
|
onEdit: (value) => openCompose({ ...value })
|
|
19578
19578
|
}),
|
|
19579
19579
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: deviceFolder ? "hidden" : "min-h-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19580
|
-
|
|
19580
|
+
chunk5V4HH7EH_cjs.MailGrid,
|
|
19581
19581
|
{
|
|
19582
19582
|
messages: filteredMessages,
|
|
19583
19583
|
loading: list.isPending && list.fetchStatus !== "idle",
|
|
@@ -19641,7 +19641,7 @@ function ConnectedMailbox({
|
|
|
19641
19641
|
},
|
|
19642
19642
|
`${account?.id}-${composeSession}`
|
|
19643
19643
|
) : message && selected ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
19644
|
-
|
|
19644
|
+
chunk5V4HH7EH_cjs.MailMessageView,
|
|
19645
19645
|
{
|
|
19646
19646
|
account,
|
|
19647
19647
|
message,
|
|
@@ -19778,7 +19778,7 @@ function ConnectedMailMessage({
|
|
|
19778
19778
|
const attachments = forward ? await hydrateMailAttachments(client, account, message.id, message.attachments, {
|
|
19779
19779
|
isOnline
|
|
19780
19780
|
}) : [];
|
|
19781
|
-
onCompose(
|
|
19781
|
+
onCompose(chunk5V4HH7EH_cjs.replyMailCompose(message, { account, folderRole, forward, all, attachments }));
|
|
19782
19782
|
} catch (e) {
|
|
19783
19783
|
setError(e instanceof Error ? e.message : "Could not prepare forwarded attachments");
|
|
19784
19784
|
}
|
|
@@ -19786,7 +19786,7 @@ function ConnectedMailMessage({
|
|
|
19786
19786
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col", children: [
|
|
19787
19787
|
error && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "px-4 pt-3 text-sm text-destructive", children: error }),
|
|
19788
19788
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19789
|
-
|
|
19789
|
+
chunk5V4HH7EH_cjs.MailMessageView,
|
|
19790
19790
|
{
|
|
19791
19791
|
account,
|
|
19792
19792
|
message,
|
|
@@ -19797,7 +19797,7 @@ function ConnectedMailMessage({
|
|
|
19797
19797
|
onBack: onClose,
|
|
19798
19798
|
onEditDraft: () => void hydrateMailAttachments(client, account, message.id, message.attachments, {
|
|
19799
19799
|
isOnline
|
|
19800
|
-
}).then((attachments) => onCompose(
|
|
19800
|
+
}).then((attachments) => onCompose(chunk5V4HH7EH_cjs.draftMailCompose(message, attachments))).catch((e) => setError(e.message)),
|
|
19801
19801
|
onReply: (forward, all) => void reply(forward, all),
|
|
19802
19802
|
onReplyWithArbi: onReplyWithArbi && account.provider === "native" ? () => onReplyWithArbi(message, account) : void 0,
|
|
19803
19803
|
onUpdate: (body) => void update(body),
|
|
@@ -21186,7 +21186,7 @@ function EventEditorDialog({
|
|
|
21186
21186
|
const { notify: notify17, runtimeConfig } = chunkB3NYBMDR_cjs.useBlocksEnvironment();
|
|
21187
21187
|
const attachmentDocuments = documents.map((document2) => ({
|
|
21188
21188
|
doc_id: document2.external_id,
|
|
21189
|
-
title:
|
|
21189
|
+
title: chunkVMLEISRZ_cjs.toWorkflowFieldDocument(document2).title,
|
|
21190
21190
|
url: chunk725OETK3_cjs.buildDeepLinkUrl(
|
|
21191
21191
|
{ workspaceId: workspaceId ?? void 0, documentId: document2.external_id },
|
|
21192
21192
|
runtimeConfig.deploymentDomain
|
|
@@ -23705,9 +23705,9 @@ function ConnectedTagEntity({
|
|
|
23705
23705
|
onEditClick();
|
|
23706
23706
|
}
|
|
23707
23707
|
};
|
|
23708
|
-
const tooltipContent = showTooltip ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
23708
|
+
const tooltipContent = showTooltip ? /* @__PURE__ */ jsxRuntime.jsxs(chunk6EQSP77K_cjs.EntityTooltip, { children: [
|
|
23709
23709
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
23710
|
-
|
|
23710
|
+
chunk6EQSP77K_cjs.EntityTooltipHeader,
|
|
23711
23711
|
{
|
|
23712
23712
|
lead: /* @__PURE__ */ jsxRuntime.jsx(
|
|
23713
23713
|
"span",
|
|
@@ -26162,9 +26162,9 @@ function ConnectedWorkspaceEntity({
|
|
|
26162
26162
|
);
|
|
26163
26163
|
const documentCount2 = (workspace.shared_document_count ?? 0) + (workspace.private_document_count ?? 0);
|
|
26164
26164
|
const conversationCount = (workspace.shared_conversation_count ?? 0) + (workspace.private_conversation_count ?? 0);
|
|
26165
|
-
const tooltipContent = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
26165
|
+
const tooltipContent = /* @__PURE__ */ jsxRuntime.jsxs(chunk6EQSP77K_cjs.EntityTooltip, { children: [
|
|
26166
26166
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26167
|
-
|
|
26167
|
+
chunk6EQSP77K_cjs.EntityTooltipHeader,
|
|
26168
26168
|
{
|
|
26169
26169
|
lead: /* @__PURE__ */ jsxRuntime.jsx(
|
|
26170
26170
|
ui.ShieldIcon,
|
|
@@ -26181,7 +26181,7 @@ function ConnectedWorkspaceEntity({
|
|
|
26181
26181
|
}
|
|
26182
26182
|
),
|
|
26183
26183
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26184
|
-
|
|
26184
|
+
chunk6EQSP77K_cjs.EntityTooltipStats,
|
|
26185
26185
|
{
|
|
26186
26186
|
stats: [
|
|
26187
26187
|
{
|
|
@@ -26205,11 +26205,11 @@ function ConnectedWorkspaceEntity({
|
|
|
26205
26205
|
]
|
|
26206
26206
|
}
|
|
26207
26207
|
),
|
|
26208
|
-
workspace.updated_at && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
26208
|
+
workspace.updated_at && /* @__PURE__ */ jsxRuntime.jsxs(chunk6EQSP77K_cjs.EntityTooltipHint, { children: [
|
|
26209
26209
|
"Updated ",
|
|
26210
26210
|
ui.formatFriendlyDate(workspace.updated_at)
|
|
26211
26211
|
] }),
|
|
26212
|
-
interactive && variant !== "icon" && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
26212
|
+
interactive && variant !== "icon" && /* @__PURE__ */ jsxRuntime.jsxs(chunk6EQSP77K_cjs.EntityTooltipHint, { icon: /* @__PURE__ */ jsxRuntime.jsx(ui.EntityIcon, { entityType: "WORKSPACE", className: "w-3 h-3" }), children: [
|
|
26213
26213
|
"Click to open ",
|
|
26214
26214
|
ui.getEntityLabel("WORKSPACE").toLowerCase(),
|
|
26215
26215
|
" settings"
|
|
@@ -26325,7 +26325,7 @@ function useBatchCompleteToasts() {
|
|
|
26325
26325
|
}
|
|
26326
26326
|
}, AI_FIELDS_NOTICE_WINDOW_MS);
|
|
26327
26327
|
} else if (message.batch_type === "entity_extract") {
|
|
26328
|
-
say(`${
|
|
26328
|
+
say(`${chunk6EQSP77K_cjs.entitiesPhrase()} extracted from ${chunk6EQSP77K_cjs.documentCount(docIds.length)}`, "success", {
|
|
26329
26329
|
...openTags && { action: { label: "View", onClick: openTags } }
|
|
26330
26330
|
});
|
|
26331
26331
|
} else if (message.batch_type === "upload") {
|
|
@@ -28071,7 +28071,7 @@ function ConnectedFilesPage({
|
|
|
28071
28071
|
const deleteDocuments = react.useDeleteDocuments();
|
|
28072
28072
|
const isDocumentsPending = isLoading && documents.length === 0;
|
|
28073
28073
|
const { workspaceId, userId, live } = chunkJVXHVFUA_cjs.useConnectedWorkspace();
|
|
28074
|
-
const { role, members } =
|
|
28074
|
+
const { role, members } = chunkVMLEISRZ_cjs.useConnectedWorkspaceRole();
|
|
28075
28075
|
const { data: workspaces } = react.useWorkspaces({ enabled: live });
|
|
28076
28076
|
const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
|
|
28077
28077
|
const isMember = role != null;
|
|
@@ -28486,7 +28486,7 @@ function ConnectedFilesPage({
|
|
|
28486
28486
|
viewMode === "grid" ? (
|
|
28487
28487
|
// ‹ n / N › over the table's displayed rows; a step opens the document.
|
|
28488
28488
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
28489
|
-
|
|
28489
|
+
chunk6EQSP77K_cjs.GridRowNavigator,
|
|
28490
28490
|
{
|
|
28491
28491
|
gridApi,
|
|
28492
28492
|
selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
|
|
@@ -29159,10 +29159,10 @@ function ConnectedChatThread({
|
|
|
29159
29159
|
};
|
|
29160
29160
|
const History = host.ThreadHistory;
|
|
29161
29161
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
29162
|
-
|
|
29162
|
+
chunk5V4HH7EH_cjs.DmThreadFrame,
|
|
29163
29163
|
{
|
|
29164
29164
|
accessBanner: pendingAccessRequest ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
29165
|
-
|
|
29165
|
+
chunk5V4HH7EH_cjs.DmAccessRequestBanner,
|
|
29166
29166
|
{
|
|
29167
29167
|
name: peer?.given_name ?? "They",
|
|
29168
29168
|
onReview: () => host.onReviewAccessRequest?.(pendingAccessRequest)
|
|
@@ -30057,7 +30057,7 @@ function ConnectedConfigForm({ availableModels, ...rest }) {
|
|
|
30057
30057
|
({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedModelSelector, { value, onValueChange: onChange, className: "w-full" }),
|
|
30058
30058
|
[]
|
|
30059
30059
|
);
|
|
30060
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30060
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
|
|
30061
30061
|
}
|
|
30062
30062
|
function ConnectedAgentConfigForm({ agentExtId, agentName, onSaved }) {
|
|
30063
30063
|
const { notify: notify17 } = chunkB3NYBMDR_cjs.useBlocksEnvironment();
|
|
@@ -30174,7 +30174,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
30174
30174
|
}, [name, selectedWorkspaces, role, createAgent, addWorkspaceUsers, arbi, notify17]);
|
|
30175
30175
|
if (editAgent) {
|
|
30176
30176
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30177
|
-
|
|
30177
|
+
chunkFY4C7HU5_cjs.AgentEditView,
|
|
30178
30178
|
{
|
|
30179
30179
|
agentName: editAgent.name,
|
|
30180
30180
|
config: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -30190,7 +30190,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
30190
30190
|
}
|
|
30191
30191
|
if (view === "main") {
|
|
30192
30192
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30193
|
-
|
|
30193
|
+
chunkFY4C7HU5_cjs.AgentMainView,
|
|
30194
30194
|
{
|
|
30195
30195
|
onConnectExternal: () => setView("connect"),
|
|
30196
30196
|
config: mainAgent ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -30206,11 +30206,11 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
30206
30206
|
}
|
|
30207
30207
|
if (result) {
|
|
30208
30208
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30209
|
-
|
|
30209
|
+
chunkFY4C7HU5_cjs.AgentCreatedView,
|
|
30210
30210
|
{
|
|
30211
30211
|
email: result.email,
|
|
30212
30212
|
signingKey: result.signingKey,
|
|
30213
|
-
instructions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
30213
|
+
instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
|
|
30214
30214
|
config: /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentConfigForm, { agentExtId: result.extId, agentName: result.name }),
|
|
30215
30215
|
isConfigOpen: configOpen,
|
|
30216
30216
|
onToggleConfig: () => setConfigOpen((v) => !v),
|
|
@@ -30219,7 +30219,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
30219
30219
|
);
|
|
30220
30220
|
}
|
|
30221
30221
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30222
|
-
|
|
30222
|
+
chunkFY4C7HU5_cjs.AgentCreateView,
|
|
30223
30223
|
{
|
|
30224
30224
|
name,
|
|
30225
30225
|
onNameChange: setName,
|
|
@@ -31918,14 +31918,14 @@ var referencesOf = (inputs) => {
|
|
|
31918
31918
|
return value?.documents ?? [];
|
|
31919
31919
|
};
|
|
31920
31920
|
var PROMPT_BINDINGS = {
|
|
31921
|
-
[
|
|
31921
|
+
[chunkFY4C7HU5_cjs.GENERATE_IMAGE_ID]: {
|
|
31922
31922
|
attachScope: false,
|
|
31923
31923
|
tools: (inputs) => {
|
|
31924
31924
|
const aspectRatio = typeof inputs.aspect_ratio === "string" ? inputs.aspect_ratio : "";
|
|
31925
31925
|
return {
|
|
31926
31926
|
retrieval_chunk: browser.buildRetrievalChunkTool([]),
|
|
31927
31927
|
retrieval_full_context: browser.buildRetrievalFullContextTool(referencesOf(inputs)),
|
|
31928
|
-
...aspectRatio && aspectRatio !==
|
|
31928
|
+
...aspectRatio && aspectRatio !== chunkFY4C7HU5_cjs.IMAGE_ASPECT_AUTO ? {
|
|
31929
31929
|
image_generation: {
|
|
31930
31930
|
name: "image_generation",
|
|
31931
31931
|
description: "image generation",
|
|
@@ -31961,7 +31961,7 @@ function useWorkflowTasks() {
|
|
|
31961
31961
|
);
|
|
31962
31962
|
const create4 = React9.useCallback(
|
|
31963
31963
|
async (ctx, forceWorkflow = false) => {
|
|
31964
|
-
const request =
|
|
31964
|
+
const request = chunkFY4C7HU5_cjs.taskComposerToCreateRequest(
|
|
31965
31965
|
{ ...ctx, documentTitles, plan: ctx.plan ?? null },
|
|
31966
31966
|
activeWorkspaceId ?? void 0,
|
|
31967
31967
|
forceWorkflow
|
|
@@ -32003,7 +32003,7 @@ function useWorkflowTasks() {
|
|
|
32003
32003
|
);
|
|
32004
32004
|
const update = React9.useCallback(
|
|
32005
32005
|
async (task, ctx) => {
|
|
32006
|
-
const patch =
|
|
32006
|
+
const patch = chunkFY4C7HU5_cjs.taskComposerToUpdateRequest({ ...ctx, plan: ctx.plan ?? null });
|
|
32007
32007
|
if (task.is_owner === false) delete patch.shared;
|
|
32008
32008
|
await updateConversation.mutateAsync({ conversationId: task.external_id, patch });
|
|
32009
32009
|
},
|
|
@@ -32011,7 +32011,7 @@ function useWorkflowTasks() {
|
|
|
32011
32011
|
);
|
|
32012
32012
|
const updateWorkflow = React9.useCallback(
|
|
32013
32013
|
async (workflow, ctx) => {
|
|
32014
|
-
const patch =
|
|
32014
|
+
const patch = chunkFY4C7HU5_cjs.composerToWorkflowUpdate({ ...ctx, documentTitles, plan: ctx.plan ?? null });
|
|
32015
32015
|
if (workflow.is_owner === false) delete patch.shared;
|
|
32016
32016
|
const workspaceId = workflow.workspace_ext_id ?? activeWorkspaceId;
|
|
32017
32017
|
const updated = await updateWorkflowMutation.mutateAsync({
|
|
@@ -32041,7 +32041,7 @@ var text = (inputs, name) => {
|
|
|
32041
32041
|
function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
32042
32042
|
const { data: documents = [] } = react.useDocuments();
|
|
32043
32043
|
const { data: workspaceTags = [] } = react.useTags();
|
|
32044
|
-
const tags = React9.useMemo(() =>
|
|
32044
|
+
const tags = React9.useMemo(() => chunk2QDNQM63_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
|
|
32045
32045
|
const createTag = react.useCreateTag();
|
|
32046
32046
|
const updateTag = react.useUpdateTag();
|
|
32047
32047
|
const generate = react.useGenerateDocTags();
|
|
@@ -32052,8 +32052,8 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
32052
32052
|
const annotate = React9.useCallback(
|
|
32053
32053
|
async ({ inputs, scope }) => {
|
|
32054
32054
|
const description = text(inputs, "description");
|
|
32055
|
-
const name = text(inputs, "name") ||
|
|
32056
|
-
const matching =
|
|
32055
|
+
const name = text(inputs, "name") || chunkFY4C7HU5_cjs.deriveAnnotationName(description);
|
|
32056
|
+
const matching = chunk2QDNQM63_cjs.matchWorkflowScope(documents, scope);
|
|
32057
32057
|
if (!name || !description || matching.length === 0) return;
|
|
32058
32058
|
try {
|
|
32059
32059
|
const existing = tags.find((t) => t.name.toLowerCase() === name.toLowerCase());
|
|
@@ -32096,9 +32096,9 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
32096
32096
|
async (launch) => {
|
|
32097
32097
|
const { workflow, inputs, scope, agentId } = launch;
|
|
32098
32098
|
if (workflow.run.kind === "operation") {
|
|
32099
|
-
if (workflow.id ===
|
|
32099
|
+
if (workflow.id === chunkFY4C7HU5_cjs.ANNOTATE_ID) {
|
|
32100
32100
|
await annotate(launch);
|
|
32101
|
-
|
|
32101
|
+
chunkFY4C7HU5_cjs.recordWorkflowUse(workflow.id);
|
|
32102
32102
|
return;
|
|
32103
32103
|
}
|
|
32104
32104
|
throw new Error(`No host handler for workflow "${workflow.id}"`);
|
|
@@ -32108,7 +32108,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
32108
32108
|
);
|
|
32109
32109
|
const prompt = chunk76L6LOP3_cjs.composeWorkflowPrompt(workflow, inputs, { documentTitles });
|
|
32110
32110
|
if (!prompt) return;
|
|
32111
|
-
|
|
32111
|
+
chunkFY4C7HU5_cjs.recordWorkflowUse(workflow.id);
|
|
32112
32112
|
if (agentId) {
|
|
32113
32113
|
try {
|
|
32114
32114
|
const created = await createTask({
|
|
@@ -32153,7 +32153,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
32153
32153
|
const binding = PROMPT_BINDINGS[workflow.id];
|
|
32154
32154
|
if (!inPlace) openNewConversation();
|
|
32155
32155
|
if (binding?.attachScope !== false && !chunk76L6LOP3_cjs.isEmptyWorkflowScope(scope)) {
|
|
32156
|
-
const ids =
|
|
32156
|
+
const ids = chunk2QDNQM63_cjs.matchWorkflowScope(documents, scope).map((d) => d.external_id);
|
|
32157
32157
|
if (ids.length > 0) {
|
|
32158
32158
|
session.setConversationDocuments(
|
|
32159
32159
|
inPlace ? session.getState().conversationId ?? "new" : "new",
|
|
@@ -32188,30 +32188,30 @@ function ConnectedWorkflowStart({
|
|
|
32188
32188
|
const onLaunch = useLaunchWorkflow({ landing });
|
|
32189
32189
|
const { openUpload } = chunkB3NYBMDR_cjs.useBlocksEnvironment();
|
|
32190
32190
|
const { data: workspaceTags = [] } = react.useTags();
|
|
32191
|
-
const tags = React9.useMemo(() =>
|
|
32191
|
+
const tags = React9.useMemo(() => chunk2QDNQM63_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
|
|
32192
32192
|
const fieldPlaceholder = React9.useCallback(
|
|
32193
32193
|
(field, inputs, workflow) => {
|
|
32194
|
-
if (workflow.id !==
|
|
32195
|
-
const derived =
|
|
32194
|
+
if (workflow.id !== chunkFY4C7HU5_cjs.ANNOTATE_ID || field.name !== "name") return void 0;
|
|
32195
|
+
const derived = chunkFY4C7HU5_cjs.deriveAnnotationName(String(inputs.description ?? ""));
|
|
32196
32196
|
return derived ? `Otherwise \u201C${derived}\u201D` : "Taken from the description";
|
|
32197
32197
|
},
|
|
32198
32198
|
[]
|
|
32199
32199
|
);
|
|
32200
32200
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32201
|
-
|
|
32201
|
+
chunkVMLEISRZ_cjs.ConnectedWorkflowLauncher,
|
|
32202
32202
|
{
|
|
32203
32203
|
...rest,
|
|
32204
32204
|
workflows,
|
|
32205
32205
|
onLaunch,
|
|
32206
|
-
renderIcon:
|
|
32206
|
+
renderIcon: chunkFY4C7HU5_cjs.renderWorkflowIcon,
|
|
32207
32207
|
onAddFiles: openUpload,
|
|
32208
32208
|
agentLabels: AGENT_LABELS,
|
|
32209
32209
|
addFilesAction,
|
|
32210
32210
|
fieldPlaceholder,
|
|
32211
|
-
submitLabel: ({ workflow, matchedCount }) => workflow.id ===
|
|
32211
|
+
submitLabel: ({ workflow, matchedCount }) => workflow.id === chunkFY4C7HU5_cjs.ANNOTATE_ID && matchedCount !== null ? `Annotate ${matchedCount} document${matchedCount !== 1 ? "s" : ""}` : void 0,
|
|
32212
32212
|
renderNotice: ({ workflow, inputs }) => {
|
|
32213
|
-
if (workflow.id !==
|
|
32214
|
-
const name = String(inputs.name ?? "").trim() ||
|
|
32213
|
+
if (workflow.id !== chunkFY4C7HU5_cjs.ANNOTATE_ID) return null;
|
|
32214
|
+
const name = String(inputs.name ?? "").trim() || chunkFY4C7HU5_cjs.deriveAnnotationName(String(inputs.description ?? ""));
|
|
32215
32215
|
const existing = name ? tags.find((t) => t.name.toLowerCase() === name.toLowerCase()) : void 0;
|
|
32216
32216
|
if (!existing) return null;
|
|
32217
32217
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -32242,25 +32242,25 @@ function useSkillsEnabled() {
|
|
|
32242
32242
|
// src/connection/workflows/useWorkflowDefinitions.ts
|
|
32243
32243
|
function useWorkflowDefinitions() {
|
|
32244
32244
|
const { data: listings } = react.useSkills();
|
|
32245
|
-
const usage =
|
|
32245
|
+
const usage = chunkFY4C7HU5_cjs.useWorkflowUsage();
|
|
32246
32246
|
const skillsEnabled = useSkillsEnabled();
|
|
32247
32247
|
return React9.useMemo(() => {
|
|
32248
32248
|
const { host: builtins, skills: fromServer } = chunk76L6LOP3_cjs.mergeSkillWorkflows(
|
|
32249
|
-
|
|
32249
|
+
chunkFY4C7HU5_cjs.WEB_WORKFLOWS,
|
|
32250
32250
|
listings ?? []
|
|
32251
32251
|
);
|
|
32252
32252
|
const all = [...builtins, ...fromServer];
|
|
32253
32253
|
const byId = new Map(all.map((w) => [w.id, w]));
|
|
32254
|
-
const pinned =
|
|
32254
|
+
const pinned = chunkFY4C7HU5_cjs.DASHBOARD_PINNED.flatMap((id) => {
|
|
32255
32255
|
const w = byId.get(id);
|
|
32256
32256
|
return w ? [w] : [];
|
|
32257
32257
|
});
|
|
32258
32258
|
return {
|
|
32259
32259
|
skills: all,
|
|
32260
32260
|
skillsEnabled,
|
|
32261
|
-
start: skillsEnabled ? [...builtins, ...
|
|
32262
|
-
dashboard: [...pinned, ...
|
|
32263
|
-
forTasks: [
|
|
32261
|
+
start: skillsEnabled ? [...builtins, ...chunkFY4C7HU5_cjs.sortByRecentUse(fromServer, usage)] : [],
|
|
32262
|
+
dashboard: [...pinned, ...chunkFY4C7HU5_cjs.DASHBOARD_OPERATIONS],
|
|
32263
|
+
forTasks: [chunkFY4C7HU5_cjs.CUSTOM_TASK, ...all.filter((w) => w.schedulable), chunkFY4C7HU5_cjs.REMIND_TASK]
|
|
32264
32264
|
};
|
|
32265
32265
|
}, [listings, usage, skillsEnabled]);
|
|
32266
32266
|
}
|
|
@@ -32282,7 +32282,7 @@ function resolveLaunchInputs(workflow, request) {
|
|
|
32282
32282
|
function useWorkflowLaunch() {
|
|
32283
32283
|
const { skills } = useWorkflowDefinitions();
|
|
32284
32284
|
const launch = React9.useCallback(
|
|
32285
|
-
(workflowId, options2 = {}) =>
|
|
32285
|
+
(workflowId, options2 = {}) => chunkFY4C7HU5_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
|
|
32286
32286
|
[]
|
|
32287
32287
|
);
|
|
32288
32288
|
const itemsFor = React9.useCallback(
|
|
@@ -32311,8 +32311,8 @@ function useWorkflowLaunch() {
|
|
|
32311
32311
|
return { launch, itemsFor, scopeItemsFor };
|
|
32312
32312
|
}
|
|
32313
32313
|
function Inner() {
|
|
32314
|
-
const request =
|
|
32315
|
-
const close =
|
|
32314
|
+
const request = chunkFY4C7HU5_cjs.useWorkflowLaunchRequest();
|
|
32315
|
+
const close = chunkFY4C7HU5_cjs.closeWorkflowLaunch;
|
|
32316
32316
|
const { skills } = useWorkflowDefinitions();
|
|
32317
32317
|
const run = useLaunchWorkflow({ landing: request?.landing });
|
|
32318
32318
|
const workflow = skills.find((w) => w.id === request?.workflowId);
|
|
@@ -32350,7 +32350,7 @@ function Inner() {
|
|
|
32350
32350
|
);
|
|
32351
32351
|
}
|
|
32352
32352
|
function WorkflowLaunchHost() {
|
|
32353
|
-
return
|
|
32353
|
+
return chunkFY4C7HU5_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
|
|
32354
32354
|
}
|
|
32355
32355
|
var BUILTIN_GLOBAL_DIALOGS = {
|
|
32356
32356
|
quota: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedQuotaDialog, { info: props, onClose }),
|
|
@@ -32409,7 +32409,7 @@ var ConversationEntity = React9.memo(function ConversationEntity2({
|
|
|
32409
32409
|
);
|
|
32410
32410
|
const icon2 = /* @__PURE__ */ jsxRuntime.jsx(ui.ThreadVisibilityIcon, { shared: isShared, className: `${iconSizeClass} shrink-0` });
|
|
32411
32411
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32412
|
-
|
|
32412
|
+
chunkFY4C7HU5_cjs.EntityChip,
|
|
32413
32413
|
{
|
|
32414
32414
|
variant,
|
|
32415
32415
|
icon: icon2,
|
|
@@ -32431,7 +32431,7 @@ function WorkflowRunStatusCell({ conversation }) {
|
|
|
32431
32431
|
});
|
|
32432
32432
|
const { data: members = [] } = react.useWorkspaceUsers();
|
|
32433
32433
|
const me = react.useArbiSession().user?.external_id;
|
|
32434
|
-
const steps =
|
|
32434
|
+
const steps = chunkFY4C7HU5_cjs.fromPlanSteps(conversation.plan?.steps ?? []);
|
|
32435
32435
|
const states = chunkEZLZ3MDU_cjs.stepStatesFromActivity(activity.data ?? []);
|
|
32436
32436
|
const nameOf = (id) => {
|
|
32437
32437
|
if (id === me) return "you";
|
|
@@ -32439,7 +32439,7 @@ function WorkflowRunStatusCell({ conversation }) {
|
|
|
32439
32439
|
return person ? ui.getUserDisplayName(person) : void 0;
|
|
32440
32440
|
};
|
|
32441
32441
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32442
|
-
|
|
32442
|
+
chunkFY4C7HU5_cjs.WorkflowRunStatus,
|
|
32443
32443
|
{
|
|
32444
32444
|
steps,
|
|
32445
32445
|
states,
|
|
@@ -32473,7 +32473,7 @@ function ConversationStatusCell({ conversation }) {
|
|
|
32473
32473
|
if (conversation.plan?.steps?.length && !isLiveGenerating)
|
|
32474
32474
|
return /* @__PURE__ */ jsxRuntime.jsx(WorkflowRunStatusCell, { conversation });
|
|
32475
32475
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32476
|
-
|
|
32476
|
+
chunkFY4C7HU5_cjs.ThreadStatusLine,
|
|
32477
32477
|
{
|
|
32478
32478
|
state: threadStateOf(conversation, isLiveGenerating),
|
|
32479
32479
|
className: "h-full",
|
|
@@ -32805,16 +32805,16 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
32805
32805
|
const openWorkflow = chunkB3NYBMDR_cjs.useOpenWorkflow();
|
|
32806
32806
|
const workspaceExtId = react.useArbiSessionState((s) => s.workspaceId);
|
|
32807
32807
|
const task = conversations.find((c) => c.external_id === conversationId);
|
|
32808
|
-
const latestMessageAt =
|
|
32808
|
+
const latestMessageAt = chunkFY4C7HU5_cjs.latestMessageTime(messageHistory);
|
|
32809
32809
|
const events = (activity.data ?? []).filter(
|
|
32810
|
-
(event) => !
|
|
32810
|
+
(event) => !chunkFY4C7HU5_cjs.isSupersededStop(event, latestMessageAt)
|
|
32811
32811
|
);
|
|
32812
32812
|
const personName = (extId) => {
|
|
32813
32813
|
const person = members.find((m) => m.user.external_id === extId)?.user;
|
|
32814
32814
|
return person ? ui.getUserDisplayName(person) : "someone";
|
|
32815
32815
|
};
|
|
32816
|
-
const planSteps =
|
|
32817
|
-
const entries =
|
|
32816
|
+
const planSteps = chunkFY4C7HU5_cjs.fromPlanSteps(task?.plan?.steps ?? []);
|
|
32817
|
+
const entries = chunkFY4C7HU5_cjs.compactThreadActivity(events, (id) => planSteps.find((s) => s.id === id)?.title);
|
|
32818
32818
|
const items = entries.map(({ event, label, recipients }) => {
|
|
32819
32819
|
const messageActivity = [
|
|
32820
32820
|
"created",
|
|
@@ -32840,7 +32840,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
32840
32840
|
const messageId = sourceMessage ?? [...messageHistory].reverse().find((message) => Date.parse(message.created_at ?? "") <= Date.parse(event.created_at))?.external_id ?? messageHistory[0]?.external_id;
|
|
32841
32841
|
const doc = docId ? docs.find((d) => d.external_id === docId) : void 0;
|
|
32842
32842
|
const mailDraftId = event.kind === "notified" && event.detail?.event === "mail_draft_ready" && typeof event.detail?.mail_id === "string" ? event.detail.mail_id : void 0;
|
|
32843
|
-
const missed = event.kind === "notified" && recipients.length ?
|
|
32843
|
+
const missed = event.kind === "notified" && recipients.length ? chunkFY4C7HU5_cjs.unnotifiedMentions(
|
|
32844
32844
|
messageHistory.find((message) => message.external_id === sourceMessage)?.mentions,
|
|
32845
32845
|
recipients,
|
|
32846
32846
|
event.actor_ext_id
|
|
@@ -32873,7 +32873,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
32873
32873
|
) : void 0,
|
|
32874
32874
|
docId,
|
|
32875
32875
|
docTitle: doc ? ui.getDocumentTitle(doc) : void 0,
|
|
32876
|
-
label: mailDraftId ? "Left a draft email" : event.kind === "notified" && recipients.length ?
|
|
32876
|
+
label: mailDraftId ? "Left a draft email" : event.kind === "notified" && recipients.length ? chunkFY4C7HU5_cjs.notifiedLabel(recipients.map(personName), missed.map(personName)) : label,
|
|
32877
32877
|
description: [
|
|
32878
32878
|
name,
|
|
32879
32879
|
label,
|
|
@@ -32887,7 +32887,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
32887
32887
|
stepChip: eventStep ? stepChipOf(eventStep, event.kind, stepDocument) : void 0,
|
|
32888
32888
|
// No avatar tooltip: the entry is already a button (or titled row) that carries the same
|
|
32889
32889
|
// details, and a tooltip trigger inside it would be a nested <button>.
|
|
32890
|
-
avatar: assistant ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32890
|
+
avatar: assistant ? /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.AssistantEntity, { variant: "icon", size: 20, showTooltip: false }) : member ? /* @__PURE__ */ jsxRuntime.jsx(DocumentUser, { user: member, tooltip: false }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { className: "size-4 text-muted-foreground" }),
|
|
32891
32891
|
time: ui.formatRelativeTime(event.created_at, { style: "short" }),
|
|
32892
32892
|
exactTime: ui.formatFriendlyDate(event.created_at),
|
|
32893
32893
|
onOpenDocument: docId && doc ? () => openDocument(docId) : void 0,
|
|
@@ -32936,7 +32936,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
32936
32936
|
onSelect: () => navigateToConversation(source)
|
|
32937
32937
|
});
|
|
32938
32938
|
}
|
|
32939
|
-
const links =
|
|
32939
|
+
const links = chunkFY4C7HU5_cjs.linkedRunsFromActivity(activity.data);
|
|
32940
32940
|
const threadName = (id, workflowId) => conversations.find((c) => c.external_id === id)?.title || workflows.find((w) => w.external_id === workflowId)?.name || "Linked thread";
|
|
32941
32941
|
const signals = links.raised.map((raised) => ({
|
|
32942
32942
|
step: raised.step,
|
|
@@ -32951,7 +32951,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
32951
32951
|
if (links.startedBy) {
|
|
32952
32952
|
const { conversationId: parentId, step, signal } = links.startedBy;
|
|
32953
32953
|
const parent = conversations.find((c) => c.external_id === parentId);
|
|
32954
|
-
const parentSteps =
|
|
32954
|
+
const parentSteps = chunkFY4C7HU5_cjs.fromPlanSteps(parent?.plan?.steps ?? []);
|
|
32955
32955
|
startedBy = {
|
|
32956
32956
|
stepTitle: parentSteps.find((s) => s.id === step)?.title ?? step ?? "a step",
|
|
32957
32957
|
threadTitle: parent?.title || "another thread",
|
|
@@ -32984,7 +32984,7 @@ function ConnectedThreadTaskBar({
|
|
|
32984
32984
|
const person = members.find((m) => m.user.external_id === id)?.user;
|
|
32985
32985
|
return person ? ui.getUserDisplayName(person) : void 0;
|
|
32986
32986
|
};
|
|
32987
|
-
const steps =
|
|
32987
|
+
const steps = chunkFY4C7HU5_cjs.fromPlanSteps(task?.plan?.steps ?? []);
|
|
32988
32988
|
const states = chunkEZLZ3MDU_cjs.stepStatesFromActivity(activity.data ?? []);
|
|
32989
32989
|
const runInputs = task?.skill_inputs ?? {};
|
|
32990
32990
|
const stepCall = (body) => actOnStep.mutateAsync({ conversationId, body });
|
|
@@ -33010,7 +33010,7 @@ function ConnectedThreadTaskBar({
|
|
|
33010
33010
|
task?.plan?.steps?.length ? (
|
|
33011
33011
|
// A workflow run: its named steps, with what happened in the thread under each.
|
|
33012
33012
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33013
|
-
|
|
33013
|
+
chunkFY4C7HU5_cjs.WorkflowThreadStrip,
|
|
33014
33014
|
{
|
|
33015
33015
|
steps,
|
|
33016
33016
|
states,
|
|
@@ -33037,7 +33037,7 @@ function ConnectedThreadTaskBar({
|
|
|
33037
33037
|
renderStepAction: (step, phase) => (
|
|
33038
33038
|
// A signer or a draft's person acts on their step even on a thread they cannot edit.
|
|
33039
33039
|
canEdit || phase === "waiting" || phase === "done" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33040
|
-
|
|
33040
|
+
chunkFY4C7HU5_cjs.WorkflowStepAction,
|
|
33041
33041
|
{
|
|
33042
33042
|
step,
|
|
33043
33043
|
phase,
|
|
@@ -33058,8 +33058,8 @@ function ConnectedThreadTaskBar({
|
|
|
33058
33058
|
}
|
|
33059
33059
|
)
|
|
33060
33060
|
) : items.length || startedBy ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
33061
|
-
startedBy && /* @__PURE__ */ jsxRuntime.jsx(
|
|
33062
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33061
|
+
startedBy && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.WorkflowThreadStartedBy, { origin: startedBy }),
|
|
33062
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.TaskFlow, { items: items.filter((item) => !item.step) })
|
|
33063
33063
|
] }) : (
|
|
33064
33064
|
// Ordinary chats record no activity events, so an empty ribbon says nothing rather than
|
|
33065
33065
|
// "No recorded activity yet" while the answer and its steps are right there in the thread.
|
|
@@ -33093,7 +33093,7 @@ function ConnectedThreadTaskBar({
|
|
|
33093
33093
|
) }),
|
|
33094
33094
|
/* @__PURE__ */ jsxRuntime.jsxs(ui.DropdownMenuContent, { align: "end", children: [
|
|
33095
33095
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33096
|
-
|
|
33096
|
+
chunk6EQSP77K_cjs.ThreadFollowMenuItem,
|
|
33097
33097
|
{
|
|
33098
33098
|
following: follow.following,
|
|
33099
33099
|
onFollowingChange: (on) => (
|
|
@@ -33258,7 +33258,7 @@ function ConnectedTaskComposer({
|
|
|
33258
33258
|
const { tasks: allTasks } = react.useWorkItems();
|
|
33259
33259
|
const { data: documents = [] } = react.useDocuments();
|
|
33260
33260
|
const { create: create4, update, updateWorkflow, isPending } = useWorkflowTasks();
|
|
33261
|
-
const scopeSource =
|
|
33261
|
+
const scopeSource = chunkVMLEISRZ_cjs.useConnectedWorkflowScopeSource();
|
|
33262
33262
|
const activeWorkspaceId = react.useArbiSessionState((s) => s.workspaceId);
|
|
33263
33263
|
const activeWorkspace = React9.useMemo(
|
|
33264
33264
|
() => workspaces.find((w) => w.external_id === activeWorkspaceId) ?? null,
|
|
@@ -33275,7 +33275,7 @@ function ConnectedTaskComposer({
|
|
|
33275
33275
|
const label = (t) => t.title?.trim() || "Untitled task";
|
|
33276
33276
|
if (isWorkflow) return allTasks.map((t) => ({ id: t.external_id, name: label(t) }));
|
|
33277
33277
|
const subject = task ?? { external_id: "__new__" };
|
|
33278
|
-
return
|
|
33278
|
+
return chunkFY4C7HU5_cjs.moveTargets(
|
|
33279
33279
|
[...allTasks.filter((t) => t.external_id !== subject.external_id), subject],
|
|
33280
33280
|
subject
|
|
33281
33281
|
).map((t) => ({ id: t.external_id, name: label(t) }));
|
|
@@ -33290,33 +33290,33 @@ function ConnectedTaskComposer({
|
|
|
33290
33290
|
);
|
|
33291
33291
|
const initialValues = React9.useMemo(() => {
|
|
33292
33292
|
const ids = {
|
|
33293
|
-
customWorkflowId:
|
|
33294
|
-
reminderWorkflowId:
|
|
33293
|
+
customWorkflowId: chunkFY4C7HU5_cjs.CUSTOM_TASK_ID,
|
|
33294
|
+
reminderWorkflowId: chunkFY4C7HU5_cjs.REMIND_TASK_ID,
|
|
33295
33295
|
definitions: forTasks
|
|
33296
33296
|
};
|
|
33297
33297
|
const base = launchWorkflow ? {
|
|
33298
|
-
...
|
|
33298
|
+
...chunkFY4C7HU5_cjs.workflowToComposerValues(launchWorkflow, ids),
|
|
33299
33299
|
when: "once",
|
|
33300
33300
|
runAt: "",
|
|
33301
33301
|
rrule: "",
|
|
33302
33302
|
eventKind: "",
|
|
33303
33303
|
afterTaskId: "",
|
|
33304
33304
|
name: ""
|
|
33305
|
-
} : editingWorkflow ?
|
|
33305
|
+
} : editingWorkflow ? chunkFY4C7HU5_cjs.workflowToComposerValues(editingWorkflow, ids) : task ? chunkFY4C7HU5_cjs.taskToComposerValues(task, ids) : isWorkflow ? {
|
|
33306
33306
|
// Run now is the default start; scheduling is the fallback in the same field.
|
|
33307
33307
|
assignee: "agent",
|
|
33308
|
-
workflowId: initialWorkflowId ??
|
|
33308
|
+
workflowId: initialWorkflowId ?? chunkFY4C7HU5_cjs.CUSTOM_TASK_ID,
|
|
33309
33309
|
when: startLater ? "once" : "now",
|
|
33310
33310
|
...initialPrompt ? {
|
|
33311
33311
|
inputs: {
|
|
33312
|
-
[initialWorkflowId ===
|
|
33312
|
+
[initialWorkflowId === chunkFY4C7HU5_cjs.REMIND_TASK_ID ? "message" : "instruction"]: initialPrompt
|
|
33313
33313
|
}
|
|
33314
33314
|
} : {},
|
|
33315
33315
|
// A scheduled run needs an agent: the owner's Assistant unless another is picked.
|
|
33316
33316
|
...startLater && defaultAgentId ? { agentId: defaultAgentId } : {}
|
|
33317
33317
|
} : initialAgentExtId ? (
|
|
33318
33318
|
// Assigning an agent means agentic work: the free instruction, and tell me when done.
|
|
33319
|
-
{ agentId: initialAgentExtId, workflowId:
|
|
33319
|
+
{ agentId: initialAgentExtId, workflowId: chunkFY4C7HU5_cjs.CUSTOM_TASK_ID, notifyOnComplete: true }
|
|
33320
33320
|
) : {};
|
|
33321
33321
|
return {
|
|
33322
33322
|
timezone: chunkQUMUAJ2P_cjs.detectTimeZone(),
|
|
@@ -33377,7 +33377,7 @@ function ConnectedTaskComposer({
|
|
|
33377
33377
|
const ctx = {
|
|
33378
33378
|
workflow: chosen,
|
|
33379
33379
|
values: submitted,
|
|
33380
|
-
plan: chosen.id ===
|
|
33380
|
+
plan: chosen.id === chunkFY4C7HU5_cjs.CUSTOM_TASK_ID ? plan : null
|
|
33381
33381
|
};
|
|
33382
33382
|
try {
|
|
33383
33383
|
if (isWorkflow && editingWorkflow && !options2?.runOnce) {
|
|
@@ -33413,7 +33413,7 @@ function ConnectedTaskComposer({
|
|
|
33413
33413
|
}
|
|
33414
33414
|
};
|
|
33415
33415
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33416
|
-
|
|
33416
|
+
chunkFY4C7HU5_cjs.TaskComposer,
|
|
33417
33417
|
{
|
|
33418
33418
|
open,
|
|
33419
33419
|
onOpenChange,
|
|
@@ -33427,15 +33427,15 @@ function ConnectedTaskComposer({
|
|
|
33427
33427
|
tasks: taskOptions,
|
|
33428
33428
|
initialValues,
|
|
33429
33429
|
timezones,
|
|
33430
|
-
eventOptions:
|
|
33430
|
+
eventOptions: chunkFY4C7HU5_cjs.AUTOMATION_EVENTS,
|
|
33431
33431
|
eventWorkflowOptions: workspaceAutomations.filter((item) => item.external_id !== editingWorkflow?.external_id).map((item) => ({ id: item.external_id, label: item.name })),
|
|
33432
33432
|
isPending,
|
|
33433
33433
|
planDrafting: planWork.isPending,
|
|
33434
33434
|
hasPlan: plan !== null,
|
|
33435
|
-
renderIcon:
|
|
33435
|
+
renderIcon: chunkFY4C7HU5_cjs.renderWorkflowIcon,
|
|
33436
33436
|
scopeSource,
|
|
33437
33437
|
renderDocuments: (field, value, onChange) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
33438
|
-
|
|
33438
|
+
chunkVMLEISRZ_cjs.ConnectedWorkflowDocumentsField,
|
|
33439
33439
|
{
|
|
33440
33440
|
field,
|
|
33441
33441
|
value,
|
|
@@ -33466,8 +33466,8 @@ function ConnectedTaskComposer({
|
|
|
33466
33466
|
...plan ? { addAndStart: "Approve plan and start", addAndSchedule: "Approve plan and schedule" } : {}
|
|
33467
33467
|
},
|
|
33468
33468
|
onSubmit: submit,
|
|
33469
|
-
goal: (values) => values.workflowId ===
|
|
33470
|
-
|
|
33469
|
+
goal: (values) => values.workflowId === chunkFY4C7HU5_cjs.CUSTOM_TASK_ID ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33470
|
+
chunkFY4C7HU5_cjs.TaskPlan,
|
|
33471
33471
|
{
|
|
33472
33472
|
plan,
|
|
33473
33473
|
onChange: setPlan,
|
|
@@ -33667,7 +33667,7 @@ function ConnectedTaskStartDialog({
|
|
|
33667
33667
|
};
|
|
33668
33668
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
33669
33669
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33670
|
-
|
|
33670
|
+
chunkFY4C7HU5_cjs.TaskStartDialog,
|
|
33671
33671
|
{
|
|
33672
33672
|
open: open && !later,
|
|
33673
33673
|
onOpenChange: (next) => {
|
|
@@ -33699,7 +33699,7 @@ function ConnectedTaskStartDialog({
|
|
|
33699
33699
|
kind: "workflow",
|
|
33700
33700
|
startLater: true,
|
|
33701
33701
|
initialPrompt: later.prompt,
|
|
33702
|
-
initialWorkflowId: later.todo ?
|
|
33702
|
+
initialWorkflowId: later.todo ? chunkFY4C7HU5_cjs.REMIND_TASK_ID : void 0,
|
|
33703
33703
|
initialShared: later.shared,
|
|
33704
33704
|
launchWorkflow: later.workflow
|
|
33705
33705
|
}
|
|
@@ -33713,7 +33713,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
33713
33713
|
const [later, setLater] = React9.useState(null);
|
|
33714
33714
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
33715
33715
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33716
|
-
|
|
33716
|
+
chunkFY4C7HU5_cjs.ThreadLauncher,
|
|
33717
33717
|
{
|
|
33718
33718
|
workflows: task.workflows,
|
|
33719
33719
|
people: task.people,
|
|
@@ -33750,7 +33750,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
33750
33750
|
kind: "workflow",
|
|
33751
33751
|
startLater: true,
|
|
33752
33752
|
initialPrompt: later.prompt,
|
|
33753
|
-
initialWorkflowId: later.todo ?
|
|
33753
|
+
initialWorkflowId: later.todo ? chunkFY4C7HU5_cjs.REMIND_TASK_ID : void 0,
|
|
33754
33754
|
initialShared: later.shared,
|
|
33755
33755
|
launchWorkflow: later.workflow
|
|
33756
33756
|
}
|
|
@@ -33779,13 +33779,13 @@ function ConnectedNewThreadDialog({
|
|
|
33779
33779
|
});
|
|
33780
33780
|
const parentOptions = React9.useMemo(() => {
|
|
33781
33781
|
const leaf = { external_id: "__new__" };
|
|
33782
|
-
return
|
|
33782
|
+
return chunkFY4C7HU5_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
|
|
33783
33783
|
id: t.external_id,
|
|
33784
33784
|
name: t.title?.trim() || "Untitled task"
|
|
33785
33785
|
}));
|
|
33786
33786
|
}, [tasks]);
|
|
33787
33787
|
const submit = async (values) => {
|
|
33788
|
-
const request =
|
|
33788
|
+
const request = chunkFY4C7HU5_cjs.newThreadToRequest(values);
|
|
33789
33789
|
try {
|
|
33790
33790
|
if (!workspaceId) throw new Error("Open a workspace to add a task.");
|
|
33791
33791
|
if (!request.startAssistant && request.todo) {
|
|
@@ -33826,7 +33826,7 @@ function ConnectedNewThreadDialog({
|
|
|
33826
33826
|
}
|
|
33827
33827
|
};
|
|
33828
33828
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33829
|
-
|
|
33829
|
+
chunkFY4C7HU5_cjs.NewThreadDialog,
|
|
33830
33830
|
{
|
|
33831
33831
|
open,
|
|
33832
33832
|
onOpenChange,
|
|
@@ -33861,7 +33861,7 @@ function useRenderTaskPerson() {
|
|
|
33861
33861
|
return React9.useCallback(
|
|
33862
33862
|
(person) => {
|
|
33863
33863
|
const user = person.id ? byId.get(person.id) : void 0;
|
|
33864
|
-
return user ? /* @__PURE__ */ jsxRuntime.jsx(DocumentUser, { user, variant: "pill" }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
33864
|
+
return user ? /* @__PURE__ */ jsxRuntime.jsx(DocumentUser, { user, variant: "pill" }) : /* @__PURE__ */ jsxRuntime.jsx(chunk2QDNQM63_cjs.PersonPill, { person });
|
|
33865
33865
|
},
|
|
33866
33866
|
[byId]
|
|
33867
33867
|
);
|
|
@@ -33884,7 +33884,7 @@ function ConnectedConversationStart() {
|
|
|
33884
33884
|
const browse = openSkillsBrowser ? [
|
|
33885
33885
|
{
|
|
33886
33886
|
id: "browse-all",
|
|
33887
|
-
iconNode:
|
|
33887
|
+
iconNode: chunkFY4C7HU5_cjs.renderWorkflowIcon("library"),
|
|
33888
33888
|
title: "Browse all",
|
|
33889
33889
|
description: "See every skill, make a copy, add your own",
|
|
33890
33890
|
onSelect: () => openSkillsBrowser(),
|
|
@@ -33997,7 +33997,7 @@ function getToolParams(detail) {
|
|
|
33997
33997
|
return params;
|
|
33998
33998
|
}
|
|
33999
33999
|
function StepModelIcon({ modelName, tag }) {
|
|
34000
|
-
const cfg = tag === "Premium" ? null :
|
|
34000
|
+
const cfg = tag === "Premium" ? null : chunkFY4C7HU5_cjs.getModelIcon(modelName, tag);
|
|
34001
34001
|
if (tag !== "Premium" && !cfg) return null;
|
|
34002
34002
|
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
|
|
34003
34003
|
/* @__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 } }) }) }),
|
|
@@ -34112,15 +34112,15 @@ var AgentStepsComponent = ({
|
|
|
34112
34112
|
const lastStepIndex = mergedSteps[mergedSteps.length - 1].index;
|
|
34113
34113
|
const renderRow = (step, depth, isLastInList) => {
|
|
34114
34114
|
const i = posByIndex.get(step.index);
|
|
34115
|
-
const presentation =
|
|
34115
|
+
const presentation = chunkFY4C7HU5_cjs.getAgentStepPresentation(step, docInfo);
|
|
34116
34116
|
const { tool, Icon } = presentation;
|
|
34117
34117
|
const { label, summary, isMultiLine, details } = browser.getStepDisplay(step, docInfo);
|
|
34118
|
-
const accent =
|
|
34118
|
+
const accent = chunkFY4C7HU5_cjs.stepAccent(step, tool);
|
|
34119
34119
|
const duration = stepDurations[i];
|
|
34120
34120
|
const isLastStep = step.index === lastStepIndex;
|
|
34121
34121
|
const isActive = step.index === currentStepIndex;
|
|
34122
34122
|
const tier = step.step === "goal" ? step.model_recommendation : null;
|
|
34123
|
-
const TierIcon = tier ?
|
|
34123
|
+
const TierIcon = tier ? chunkFY4C7HU5_cjs.MODEL_TIER_ICON_MAP[tier] : null;
|
|
34124
34124
|
const useLiveDuration = isLastStep && liveTimer != null && step.t != null;
|
|
34125
34125
|
const durationNode = useLiveDuration ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
34126
34126
|
MessageLiveSeconds,
|
|
@@ -34144,7 +34144,7 @@ var AgentStepsComponent = ({
|
|
|
34144
34144
|
})) : null;
|
|
34145
34145
|
const folded = childrenByParent.get(step.index);
|
|
34146
34146
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
34147
|
-
|
|
34147
|
+
chunkFY4C7HU5_cjs.StepRow,
|
|
34148
34148
|
{
|
|
34149
34149
|
index: step.index,
|
|
34150
34150
|
number: displayNumber.get(step.index) ?? String(i + 1),
|
|
@@ -34158,7 +34158,7 @@ var AgentStepsComponent = ({
|
|
|
34158
34158
|
titleTestId: isActive ? "agent-expanded-current-step-description" : void 0,
|
|
34159
34159
|
badge: TierIcon ? /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
|
|
34160
34160
|
/* @__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 }) }) }),
|
|
34161
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "top", children:
|
|
34161
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "top", children: chunkFY4C7HU5_cjs.MODEL_TIER_LABELS[tier] ?? tier })
|
|
34162
34162
|
] }) : void 0,
|
|
34163
34163
|
meta: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34164
34164
|
isDeveloper && /* @__PURE__ */ jsxRuntime.jsx(StepModelIcon, { modelName: step.usage?.model, tag: getModelTag(step.usage?.model) }),
|
|
@@ -34173,14 +34173,14 @@ var AgentStepsComponent = ({
|
|
|
34173
34173
|
summary && !isActive && (step.narration ? (
|
|
34174
34174
|
/* Narration is PROSE (headings, bold, lists): render markdown, not raw asterisks.
|
|
34175
34175
|
Tool summaries stay plain text: one-line headlines where a clamp matters. */
|
|
34176
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34177
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
34178
|
-
details.map((d, di) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
34179
|
-
showOutcome && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34180
|
-
toolParams.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34181
|
-
criteriaView && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34176
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.StepNarration, { index: step.index, children: /* @__PURE__ */ jsxRuntime.jsx(chunkEFSL4O3B_cjs.ConnectedMarkdown, { isStreaming: false, children: summary }) })
|
|
34177
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.StepSummary, { index: step.index, multiLine: isMultiLine, children: summary })),
|
|
34178
|
+
details.map((d, di) => /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.StepDetail, { index: step.index, children: d }, di)),
|
|
34179
|
+
showOutcome && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.StepOutcome, { index: step.index, failed: outcomeFailed, children: step.outcome }),
|
|
34180
|
+
toolParams.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.StepParams, { children: toolParams.map((p) => `${p.key}=${p.value}`).join(" ") }),
|
|
34181
|
+
criteriaView && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.GoalCriteria, { criteria: criteriaView }),
|
|
34182
34182
|
folded && folded.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34183
|
-
|
|
34183
|
+
chunkFY4C7HU5_cjs.SubStepGroup,
|
|
34184
34184
|
{
|
|
34185
34185
|
parentIndex: step.index,
|
|
34186
34186
|
summary: summariseSubSteps(folded),
|
|
@@ -34206,7 +34206,7 @@ var AgentStepsComponent = ({
|
|
|
34206
34206
|
leftParts.push(`${browser.formatTokens(totalInputTokens)} in`);
|
|
34207
34207
|
if (totalOutputTokens > 0) leftParts.push(`${browser.formatTokens(totalOutputTokens)} out`);
|
|
34208
34208
|
summaryNode = /* @__PURE__ */ jsxRuntime.jsx(
|
|
34209
|
-
|
|
34209
|
+
chunkFY4C7HU5_cjs.StepTraceSummary,
|
|
34210
34210
|
{
|
|
34211
34211
|
left: leftParts.join(" \xB7 "),
|
|
34212
34212
|
isNearBudget: browser.isNearAiUsageBudget(contextUsage),
|
|
@@ -34214,7 +34214,7 @@ var AgentStepsComponent = ({
|
|
|
34214
34214
|
}
|
|
34215
34215
|
);
|
|
34216
34216
|
}
|
|
34217
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34217
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.StepTrace, { className, summary: summaryNode, children: displayRows.map((row2, i) => {
|
|
34218
34218
|
if (row2.lane) {
|
|
34219
34219
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34220
34220
|
LaneBinding,
|
|
@@ -34251,7 +34251,7 @@ function LaneBinding({
|
|
|
34251
34251
|
const running = !closed && isStreaming;
|
|
34252
34252
|
const latest = inner[inner.length - 1];
|
|
34253
34253
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34254
|
-
|
|
34254
|
+
chunkFY4C7HU5_cjs.SubAgentLane,
|
|
34255
34255
|
{
|
|
34256
34256
|
handle,
|
|
34257
34257
|
number,
|
|
@@ -34374,7 +34374,7 @@ function AgentBarShell({
|
|
|
34374
34374
|
}, [isStepsExpanded, steps]);
|
|
34375
34375
|
const visibleStepCount = React9.useMemo(() => browser.topLevelAgentSteps(steps ?? []).length, [steps]);
|
|
34376
34376
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34377
|
-
|
|
34377
|
+
chunkFY4C7HU5_cjs.AgentBar,
|
|
34378
34378
|
{
|
|
34379
34379
|
className,
|
|
34380
34380
|
testId,
|
|
@@ -34430,7 +34430,7 @@ function AgentControlBar({
|
|
|
34430
34430
|
const isPaused = controlState === "paused" || controlState === "resuming";
|
|
34431
34431
|
const steps = agentSteps ?? [];
|
|
34432
34432
|
const currentStep = browser.getCurrentStep(steps);
|
|
34433
|
-
const currentPresentation =
|
|
34433
|
+
const currentPresentation = chunkFY4C7HU5_cjs.getCurrentAgentStepPresentation(steps);
|
|
34434
34434
|
const CurrentStepIcon = currentPresentation?.Icon;
|
|
34435
34435
|
const stepLabel2 = currentPresentation?.description ?? "Agent working\u2026";
|
|
34436
34436
|
const runningLanes = browser.extractSubagentLanes(steps).filter((l) => l.status === "running");
|
|
@@ -34447,7 +34447,7 @@ function AgentControlBar({
|
|
|
34447
34447
|
}
|
|
34448
34448
|
);
|
|
34449
34449
|
const status = /* @__PURE__ */ jsxRuntime.jsx(
|
|
34450
|
-
|
|
34450
|
+
chunkFY4C7HU5_cjs.AgentBarStatus,
|
|
34451
34451
|
{
|
|
34452
34452
|
state: showState ? controlState : void 0,
|
|
34453
34453
|
stateLabel: STATE_LABEL[controlState],
|
|
@@ -34489,7 +34489,7 @@ function AgentControlBar({
|
|
|
34489
34489
|
];
|
|
34490
34490
|
const controls = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34491
34491
|
onStop && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34492
|
-
|
|
34492
|
+
chunkFY4C7HU5_cjs.AgentBarIconButton,
|
|
34493
34493
|
{
|
|
34494
34494
|
onClick: onStop,
|
|
34495
34495
|
title: "Stop",
|
|
@@ -34498,22 +34498,22 @@ function AgentControlBar({
|
|
|
34498
34498
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3 w-3", fill: "currentColor" })
|
|
34499
34499
|
}
|
|
34500
34500
|
),
|
|
34501
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34501
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.AgentBarMenu, { items: menuItems })
|
|
34502
34502
|
] });
|
|
34503
34503
|
const displayedQueuedMessages = (transientQueuedMessages ?? []).filter(
|
|
34504
34504
|
(message) => !message.serverId || !queuedMessages.some((queued) => queued.external_id === message.serverId)
|
|
34505
34505
|
);
|
|
34506
34506
|
const queuedNotes = displayedQueuedMessages.filter((message) => message.content);
|
|
34507
|
-
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
34507
|
+
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.AgentBarNotes, { children: [
|
|
34508
34508
|
queuedNotes.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
34509
|
-
|
|
34509
|
+
chunkFY4C7HU5_cjs.AgentBarQueuedNote,
|
|
34510
34510
|
{
|
|
34511
34511
|
text: message.content ?? "",
|
|
34512
34512
|
isAcknowledged: message.acknowledged
|
|
34513
34513
|
},
|
|
34514
34514
|
index
|
|
34515
34515
|
)),
|
|
34516
|
-
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34516
|
+
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
|
|
34517
34517
|
] }) : null;
|
|
34518
34518
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34519
34519
|
AgentBarShell,
|
|
@@ -34570,7 +34570,7 @@ function RunningSubagentsRoster({
|
|
|
34570
34570
|
if (leafId) selectThread(leafId);
|
|
34571
34571
|
};
|
|
34572
34572
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34573
|
-
|
|
34573
|
+
chunkFY4C7HU5_cjs.SubagentRoster,
|
|
34574
34574
|
{
|
|
34575
34575
|
lanes: rosterLanes,
|
|
34576
34576
|
className,
|
|
@@ -35312,7 +35312,7 @@ function WorkflowStepMessage({
|
|
|
35312
35312
|
const { conversations } = react.useConversationItems();
|
|
35313
35313
|
const activity = react.useConversationActivity(conversationId ?? void 0, { live: true });
|
|
35314
35314
|
const plan = conversations.find((c) => c.external_id === conversationId)?.plan;
|
|
35315
|
-
const steps =
|
|
35315
|
+
const steps = chunkFY4C7HU5_cjs.fromPlanSteps(plan?.steps ?? []);
|
|
35316
35316
|
const found = steps.find((s) => s.id === step);
|
|
35317
35317
|
const states = chunkEZLZ3MDU_cjs.stepStatesFromActivity(activity.data ?? []);
|
|
35318
35318
|
const { data: documents = [] } = react.useDocuments();
|
|
@@ -35484,7 +35484,7 @@ var MessageComponent = ({
|
|
|
35484
35484
|
const isQueuedAnswer = !isUser && message.status === "queued" && !isGenerating;
|
|
35485
35485
|
const isAwaitingAnswer = (isGenerating || isRunningOnServer) && !isStopped && !!message.pendingUserInput;
|
|
35486
35486
|
const showWorkingIndicator = (isGenerating || isRunningOnServer) && !isQueuedAnswer && !responseContent.trim() && !linkedArtifact && !isAwaitingAnswer;
|
|
35487
|
-
const workingStepLabel = showWorkingIndicator ?
|
|
35487
|
+
const workingStepLabel = showWorkingIndicator ? chunkFY4C7HU5_cjs.getCurrentAgentStepPresentation(message.agentSteps ?? [])?.description : void 0;
|
|
35488
35488
|
const workingStepStart = showWorkingIndicator ? browser.getCurrentStep(message.agentSteps ?? [])?.t ?? 0 : 0;
|
|
35489
35489
|
const showEmptyAnswer = !isUser && !isGenerating && !isRunningOnServer && !isFailed && !isStopped && !responseContent.trim() && !linkedArtifact;
|
|
35490
35490
|
const isEmptyStopped = isStopped && !responseContent.trim();
|
|
@@ -35788,7 +35788,7 @@ var MessageComponent = ({
|
|
|
35788
35788
|
},
|
|
35789
35789
|
"data-testid": `message-model-${messageId}`,
|
|
35790
35790
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
35791
|
-
|
|
35791
|
+
chunkFY4C7HU5_cjs.AssistantEntity,
|
|
35792
35792
|
{
|
|
35793
35793
|
name: modelDisplayName,
|
|
35794
35794
|
modelName,
|
|
@@ -35901,7 +35901,7 @@ var MessageComponent = ({
|
|
|
35901
35901
|
// Stays the ARBI identity while streaming: the model name arrives
|
|
35902
35902
|
// with the first step that reports one and would swap the author
|
|
35903
35903
|
// mid-answer. The model is shown in the footer once settled.
|
|
35904
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35904
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.AssistantEntity, { size: 16, pillSize: "sm" })
|
|
35905
35905
|
),
|
|
35906
35906
|
timeLabel,
|
|
35907
35907
|
isSettled: settledForHeader,
|
|
@@ -36366,7 +36366,7 @@ function ConnectedMessageList({ messages }) {
|
|
|
36366
36366
|
start: virtualItem.start,
|
|
36367
36367
|
messageId: entry.id,
|
|
36368
36368
|
setSize: transcript.length,
|
|
36369
|
-
children: entry.item.card ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
36369
|
+
children: entry.item.card ?? /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ThreadActivity, { item: entry.item, children: entry.item.onOpenDocument && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36370
36370
|
"button",
|
|
36371
36371
|
{
|
|
36372
36372
|
className: "mt-1 hover:underline text-primary",
|
|
@@ -37261,7 +37261,7 @@ function ConnectedConversation({
|
|
|
37261
37261
|
}, [isGenerating]);
|
|
37262
37262
|
const slashWorkflows = useSlashSkillWorkflows({ landing: "current-chat" });
|
|
37263
37263
|
const composerSkills = React9.useMemo(
|
|
37264
|
-
() => ({ builtin:
|
|
37264
|
+
() => ({ builtin: chunkFY4C7HU5_cjs.BUILTIN_SKILLS, openFor: slashWorkflows.openFor }),
|
|
37265
37265
|
[slashWorkflows.openFor]
|
|
37266
37266
|
);
|
|
37267
37267
|
const browseSkills = React9.useMemo(
|
|
@@ -37336,7 +37336,7 @@ function ConnectedConversation({
|
|
|
37336
37336
|
/* @__PURE__ */ jsxRuntime.jsx(chunkBIWPXSGS_cjs.CallConversationEmpty, { callExtId: meetingCallExtId }),
|
|
37337
37337
|
/* @__PURE__ */ jsxRuntime.jsx(chunkBIWPXSGS_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
|
|
37338
37338
|
] })
|
|
37339
|
-
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
37339
|
+
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
37340
37340
|
ConnectedConversationEmpty,
|
|
37341
37341
|
{
|
|
37342
37342
|
hasDocuments: allWorkspaceDocuments.length > 0,
|
|
@@ -39196,7 +39196,7 @@ function SsoResendVerificationButton({
|
|
|
39196
39196
|
onClick: async () => handleResendEmailVerification(),
|
|
39197
39197
|
disabled: loading || disabled,
|
|
39198
39198
|
"aria-label": "Resend verification email",
|
|
39199
|
-
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
39199
|
+
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunk6EQSP77K_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
39200
39200
|
"Didn't get a verification email? ",
|
|
39201
39201
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: "Resend" })
|
|
39202
39202
|
] })
|
|
@@ -40090,27 +40090,27 @@ function ConnectedOAuthConsentPage({
|
|
|
40090
40090
|
oauthErrorRedirect(params.redirectUri, params.state, "access_denied");
|
|
40091
40091
|
}
|
|
40092
40092
|
if (error && !params) {
|
|
40093
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
40093
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
|
|
40094
40094
|
}
|
|
40095
40095
|
if (!params) {
|
|
40096
40096
|
return null;
|
|
40097
40097
|
}
|
|
40098
40098
|
if (clientInfo?.isLocalAgentFlow) {
|
|
40099
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
40099
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_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." }) });
|
|
40100
40100
|
}
|
|
40101
40101
|
if (!isAuthenticated2) {
|
|
40102
40102
|
return null;
|
|
40103
40103
|
}
|
|
40104
40104
|
if (callbackUrl) {
|
|
40105
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
40106
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
40105
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentCard, { size: "md", children: [
|
|
40106
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
|
|
40107
40107
|
"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",
|
|
40108
40108
|
" ",
|
|
40109
40109
|
copied ? "it's already copied to your clipboard." : "copy it first."
|
|
40110
40110
|
] }),
|
|
40111
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
40112
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
40113
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
40111
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentSection, { title: "Callback URL", children: [
|
|
40112
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
|
|
40113
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentText, { variant: "hint", children: [
|
|
40114
40114
|
"In Claude Code, paste the URL at the prompt that says",
|
|
40115
40115
|
" ",
|
|
40116
40116
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-foreground", children: '"paste the full redirect URL here"' }),
|
|
@@ -40119,17 +40119,17 @@ function ConnectedOAuthConsentPage({
|
|
|
40119
40119
|
] })
|
|
40120
40120
|
] }) });
|
|
40121
40121
|
}
|
|
40122
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
40123
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
40124
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
40122
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentCard, { children: [
|
|
40123
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
|
|
40124
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
|
|
40125
40125
|
" is requesting access to your ",
|
|
40126
40126
|
appName,
|
|
40127
40127
|
" workspace."
|
|
40128
40128
|
] }),
|
|
40129
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
40130
|
-
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
40131
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
40132
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
40129
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentPermissionList, { items: permissions }) }),
|
|
40130
|
+
error && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentNotice, { tone: "error", children: error }),
|
|
40131
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
|
|
40132
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentFootnote, { children: footnote })
|
|
40133
40133
|
] }) });
|
|
40134
40134
|
}
|
|
40135
40135
|
function ConnectedSharedFilesPage({
|
|
@@ -40313,43 +40313,43 @@ Object.defineProperty(exports, "useWorkspaceDocs", {
|
|
|
40313
40313
|
});
|
|
40314
40314
|
Object.defineProperty(exports, "ConnectedWorkflowDocumentsField", {
|
|
40315
40315
|
enumerable: true,
|
|
40316
|
-
get: function () { return
|
|
40316
|
+
get: function () { return chunkVMLEISRZ_cjs.ConnectedWorkflowDocumentsField; }
|
|
40317
40317
|
});
|
|
40318
40318
|
Object.defineProperty(exports, "ConnectedWorkflowLauncher", {
|
|
40319
40319
|
enumerable: true,
|
|
40320
|
-
get: function () { return
|
|
40320
|
+
get: function () { return chunkVMLEISRZ_cjs.ConnectedWorkflowLauncher; }
|
|
40321
40321
|
});
|
|
40322
40322
|
Object.defineProperty(exports, "ConnectedWorkflowsTable", {
|
|
40323
40323
|
enumerable: true,
|
|
40324
|
-
get: function () { return
|
|
40324
|
+
get: function () { return chunkVMLEISRZ_cjs.ConnectedWorkflowsTable; }
|
|
40325
40325
|
});
|
|
40326
40326
|
Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS", {
|
|
40327
40327
|
enumerable: true,
|
|
40328
|
-
get: function () { return
|
|
40328
|
+
get: function () { return chunkVMLEISRZ_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
|
|
40329
40329
|
});
|
|
40330
40330
|
Object.defineProperty(exports, "toWorkflowFieldDocument", {
|
|
40331
40331
|
enumerable: true,
|
|
40332
|
-
get: function () { return
|
|
40332
|
+
get: function () { return chunkVMLEISRZ_cjs.toWorkflowFieldDocument; }
|
|
40333
40333
|
});
|
|
40334
40334
|
Object.defineProperty(exports, "useConnectedAgentOptions", {
|
|
40335
40335
|
enumerable: true,
|
|
40336
|
-
get: function () { return
|
|
40336
|
+
get: function () { return chunkVMLEISRZ_cjs.useConnectedAgentOptions; }
|
|
40337
40337
|
});
|
|
40338
40338
|
Object.defineProperty(exports, "useConnectedWorkflowScopeSource", {
|
|
40339
40339
|
enumerable: true,
|
|
40340
|
-
get: function () { return
|
|
40340
|
+
get: function () { return chunkVMLEISRZ_cjs.useConnectedWorkflowScopeSource; }
|
|
40341
40341
|
});
|
|
40342
40342
|
Object.defineProperty(exports, "useConnectedWorkspaceRole", {
|
|
40343
40343
|
enumerable: true,
|
|
40344
|
-
get: function () { return
|
|
40344
|
+
get: function () { return chunkVMLEISRZ_cjs.useConnectedWorkspaceRole; }
|
|
40345
40345
|
});
|
|
40346
40346
|
Object.defineProperty(exports, "useDocxCommentTarget", {
|
|
40347
40347
|
enumerable: true,
|
|
40348
|
-
get: function () { return
|
|
40348
|
+
get: function () { return chunkVMLEISRZ_cjs.useDocxCommentTarget; }
|
|
40349
40349
|
});
|
|
40350
40350
|
Object.defineProperty(exports, "useNativeDocxSupport", {
|
|
40351
40351
|
enumerable: true,
|
|
40352
|
-
get: function () { return
|
|
40352
|
+
get: function () { return chunkVMLEISRZ_cjs.useNativeDocxSupport; }
|
|
40353
40353
|
});
|
|
40354
40354
|
Object.defineProperty(exports, "ConnectedDocumentToolsProvider", {
|
|
40355
40355
|
enumerable: true,
|