@arbidocs/blocks 0.5.50 → 0.5.51
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 +22 -0
- package/dist/{ConnectedCallDock-5OLBZED2.js → ConnectedCallDock-7NYH6DKB.js} +6 -6
- package/dist/{ConnectedCallDock-5OLBZED2.js.map → ConnectedCallDock-7NYH6DKB.js.map} +1 -1
- package/dist/{ConnectedCallDock-GHJTVUSQ.cjs → ConnectedCallDock-NBEAQYTJ.cjs} +7 -7
- package/dist/{ConnectedCallDock-GHJTVUSQ.cjs.map → ConnectedCallDock-NBEAQYTJ.cjs.map} +1 -1
- package/dist/{ConnectedCallRoom-SSSKBQA7.js → ConnectedCallRoom-CUV5VWGU.js} +6 -6
- package/dist/{ConnectedCallRoom-SSSKBQA7.js.map → ConnectedCallRoom-CUV5VWGU.js.map} +1 -1
- package/dist/{ConnectedCallRoom-GVNZ3S6R.cjs → ConnectedCallRoom-WRWKPC7R.cjs} +7 -7
- package/dist/{ConnectedCallRoom-GVNZ3S6R.cjs.map → ConnectedCallRoom-WRWKPC7R.cjs.map} +1 -1
- package/dist/agents/index.cjs +355 -343
- package/dist/agents/index.js +3 -3
- package/dist/agents/tasks/WorkflowThreadStrip.d.ts +2 -1
- package/dist/agents/workflows/ProgressChevron.d.ts +37 -0
- package/dist/agents/workflows/StepBarFrame.d.ts +5 -2
- package/dist/agents/workflows/index.d.ts +1 -0
- package/dist/agents/workflows/stepWindow.d.ts +9 -0
- package/dist/calls/index.cjs +2 -2
- package/dist/calls/index.js +2 -2
- package/dist/chat/index.cjs +80 -80
- package/dist/chat/index.js +3 -3
- package/dist/{chunk-JGFBC66V.js → chunk-2J34E5AH.js} +3 -3
- package/dist/{chunk-JGFBC66V.js.map → chunk-2J34E5AH.js.map} +1 -1
- package/dist/{chunk-RTS3B2W7.cjs → chunk-2QV2SCEB.cjs} +5 -5
- package/dist/{chunk-RTS3B2W7.cjs.map → chunk-2QV2SCEB.cjs.map} +1 -1
- package/dist/{chunk-YRORPDIY.js → chunk-3YJZGYSL.js} +3 -3
- package/dist/{chunk-YRORPDIY.js.map → chunk-3YJZGYSL.js.map} +1 -1
- package/dist/{chunk-IQ3VDTR7.js → chunk-42UKJPIQ.js} +3 -3
- package/dist/{chunk-IQ3VDTR7.js.map → chunk-42UKJPIQ.js.map} +1 -1
- package/dist/{chunk-TQYEHARI.cjs → chunk-AAHLGSSR.cjs} +5 -5
- package/dist/{chunk-TQYEHARI.cjs.map → chunk-AAHLGSSR.cjs.map} +1 -1
- package/dist/{chunk-IOPGY3IP.cjs → chunk-AEG44LPK.cjs} +23 -23
- package/dist/{chunk-IOPGY3IP.cjs.map → chunk-AEG44LPK.cjs.map} +1 -1
- package/dist/{chunk-THNTNAYI.js → chunk-CHEU7XI5.js} +3 -2
- package/dist/chunk-CHEU7XI5.js.map +1 -0
- package/dist/{chunk-O4LORAFC.js → chunk-EIJHL6ZX.js} +135 -100
- package/dist/chunk-EIJHL6ZX.js.map +1 -0
- package/dist/{chunk-7G4N2HP7.js → chunk-EJVM5IVT.js} +4 -4
- package/dist/{chunk-7G4N2HP7.js.map → chunk-EJVM5IVT.js.map} +1 -1
- package/dist/{chunk-7QJNWQ7O.js → chunk-GXNHLM5R.js} +3 -3
- package/dist/{chunk-7QJNWQ7O.js.map → chunk-GXNHLM5R.js.map} +1 -1
- package/dist/{chunk-EZLZ3MDU.cjs → chunk-JWYWP5EE.cjs} +3 -2
- package/dist/chunk-JWYWP5EE.cjs.map +1 -0
- package/dist/{chunk-JYR55F3P.cjs → chunk-K6T255ST.cjs} +211 -173
- package/dist/chunk-K6T255ST.cjs.map +1 -0
- package/dist/{chunk-4FIYA764.cjs → chunk-KKAKZSCR.cjs} +9 -9
- package/dist/{chunk-4FIYA764.cjs.map → chunk-KKAKZSCR.cjs.map} +1 -1
- package/dist/{chunk-MBGV6JHG.cjs → chunk-KYOVVXAS.cjs} +4 -4
- package/dist/{chunk-MBGV6JHG.cjs.map → chunk-KYOVVXAS.cjs.map} +1 -1
- package/dist/{chunk-PP3LWBIH.js → chunk-TFF3NMPV.js} +3 -3
- package/dist/{chunk-PP3LWBIH.js.map → chunk-TFF3NMPV.js.map} +1 -1
- package/dist/{chunk-226ILMHW.cjs → chunk-W3AYIOK2.cjs} +11 -11
- package/dist/{chunk-226ILMHW.cjs.map → chunk-W3AYIOK2.cjs.map} +1 -1
- package/dist/connect/index.cjs +351 -294
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.js +66 -9
- package/dist/connect/index.js.map +1 -1
- package/dist/connection/files/upload/ConnectedUpload.d.ts +3 -1
- package/dist/connection/files/upload/ProcessingSettingsFooter.d.ts +31 -0
- package/dist/index.cjs +486 -474
- package/dist/index.js +6 -6
- package/dist/studio/index.cjs +4 -4
- package/dist/studio/index.js +3 -3
- package/dist/workflow-canvas/WorkflowCanvas.d.ts +2 -0
- package/dist/workflow-canvas/index.cjs +54 -52
- package/dist/workflow-canvas/index.cjs.map +1 -1
- package/dist/workflow-canvas/index.js +5 -3
- package/dist/workflow-canvas/index.js.map +1 -1
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/src/blocks.css +143 -0
- package/src/workflow-canvas/canvas.css +46 -27
- package/dist/chunk-EZLZ3MDU.cjs.map +0 -1
- package/dist/chunk-JYR55F3P.cjs.map +0 -1
- package/dist/chunk-O4LORAFC.js.map +0 -1
- package/dist/chunk-THNTNAYI.js.map +0 -1
package/dist/connect/index.cjs
CHANGED
|
@@ -12,7 +12,7 @@ var chunkOU3RGQFX_cjs = require('../chunk-OU3RGQFX.cjs');
|
|
|
12
12
|
require('../chunk-REH7PX3N.cjs');
|
|
13
13
|
require('../chunk-H32DV7XS.cjs');
|
|
14
14
|
var chunkFEVJA4BP_cjs = require('../chunk-FEVJA4BP.cjs');
|
|
15
|
-
var
|
|
15
|
+
var chunkKYOVVXAS_cjs = require('../chunk-KYOVVXAS.cjs');
|
|
16
16
|
var chunkFYL7IGK2_cjs = require('../chunk-FYL7IGK2.cjs');
|
|
17
17
|
var chunkBB4PMCU6_cjs = require('../chunk-BB4PMCU6.cjs');
|
|
18
18
|
var chunk5YX3R6CK_cjs = require('../chunk-5YX3R6CK.cjs');
|
|
@@ -26,7 +26,7 @@ require('../chunk-464YPRAE.cjs');
|
|
|
26
26
|
require('../chunk-PICGTGEB.cjs');
|
|
27
27
|
var chunk5FYU7ZIU_cjs = require('../chunk-5FYU7ZIU.cjs');
|
|
28
28
|
require('../chunk-ZESMRGDV.cjs');
|
|
29
|
-
var
|
|
29
|
+
var chunk2QV2SCEB_cjs = require('../chunk-2QV2SCEB.cjs');
|
|
30
30
|
var chunkNUQ3RY7M_cjs = require('../chunk-NUQ3RY7M.cjs');
|
|
31
31
|
var chunkC2ECYOPP_cjs = require('../chunk-C2ECYOPP.cjs');
|
|
32
32
|
var chunkGOWXP5KT_cjs = require('../chunk-GOWXP5KT.cjs');
|
|
@@ -47,7 +47,7 @@ require('../chunk-VLCY46K6.cjs');
|
|
|
47
47
|
require('../chunk-D54JXTPG.cjs');
|
|
48
48
|
var chunkJIOHDVWH_cjs = require('../chunk-JIOHDVWH.cjs');
|
|
49
49
|
var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
|
|
50
|
-
var
|
|
50
|
+
var chunkK6T255ST_cjs = require('../chunk-K6T255ST.cjs');
|
|
51
51
|
var chunkRFIBUWLF_cjs = require('../chunk-RFIBUWLF.cjs');
|
|
52
52
|
var chunkZXHGPTAZ_cjs = require('../chunk-ZXHGPTAZ.cjs');
|
|
53
53
|
var chunk5WV7HI7Y_cjs = require('../chunk-5WV7HI7Y.cjs');
|
|
@@ -74,10 +74,10 @@ var chunkG2BKHCI2_cjs = require('../chunk-G2BKHCI2.cjs');
|
|
|
74
74
|
var chunkMEMWZ72Y_cjs = require('../chunk-MEMWZ72Y.cjs');
|
|
75
75
|
var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
|
|
76
76
|
var chunkQK3SHV3F_cjs = require('../chunk-QK3SHV3F.cjs');
|
|
77
|
-
var
|
|
77
|
+
var chunkW3AYIOK2_cjs = require('../chunk-W3AYIOK2.cjs');
|
|
78
78
|
var chunkZ2XZ2D4N_cjs = require('../chunk-Z2XZ2D4N.cjs');
|
|
79
79
|
var chunkB6MVQCXW_cjs = require('../chunk-B6MVQCXW.cjs');
|
|
80
|
-
var
|
|
80
|
+
var chunkJWYWP5EE_cjs = require('../chunk-JWYWP5EE.cjs');
|
|
81
81
|
var chunk76L6LOP3_cjs = require('../chunk-76L6LOP3.cjs');
|
|
82
82
|
require('../chunk-32HW2Q33.cjs');
|
|
83
83
|
var chunkUFEXJIEY_cjs = require('../chunk-UFEXJIEY.cjs');
|
|
@@ -390,7 +390,7 @@ function ConnectedWorkspaceActivity({
|
|
|
390
390
|
[feed.data]
|
|
391
391
|
);
|
|
392
392
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
393
|
-
|
|
393
|
+
chunk2QV2SCEB_cjs.WorkspaceActivityList,
|
|
394
394
|
{
|
|
395
395
|
...listProps,
|
|
396
396
|
items,
|
|
@@ -1435,7 +1435,7 @@ function ConnectedWorkspaceNotificationMenu({
|
|
|
1435
1435
|
}, [error, notify18]);
|
|
1436
1436
|
if (!workspaceId) return null;
|
|
1437
1437
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1438
|
-
|
|
1438
|
+
chunk2QV2SCEB_cjs.WorkspaceNotificationMenu,
|
|
1439
1439
|
{
|
|
1440
1440
|
...menuProps,
|
|
1441
1441
|
level,
|
|
@@ -1454,7 +1454,7 @@ function ConnectedThreadFollow({
|
|
|
1454
1454
|
enabled: live
|
|
1455
1455
|
});
|
|
1456
1456
|
if (!conversationId) return null;
|
|
1457
|
-
const Control = as === "menu-item" ?
|
|
1457
|
+
const Control = as === "menu-item" ? chunk2QV2SCEB_cjs.ThreadFollowMenuItem : chunk2QV2SCEB_cjs.ThreadFollowButton;
|
|
1458
1458
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1459
1459
|
Control,
|
|
1460
1460
|
{
|
|
@@ -1527,7 +1527,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1527
1527
|
onChange: (e) => {
|
|
1528
1528
|
const file = e.target.files?.[0];
|
|
1529
1529
|
e.target.value = "";
|
|
1530
|
-
if (file) void add(() =>
|
|
1530
|
+
if (file) void add(() => chunkK6T255ST_cjs.importSkillFile(file));
|
|
1531
1531
|
}
|
|
1532
1532
|
}
|
|
1533
1533
|
),
|
|
@@ -1552,7 +1552,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
1552
1552
|
className: "space-y-2",
|
|
1553
1553
|
onSubmit: (e) => {
|
|
1554
1554
|
e.preventDefault();
|
|
1555
|
-
if (url.trim()) void add(() =>
|
|
1555
|
+
if (url.trim()) void add(() => chunkK6T255ST_cjs.importSkillFromUrl(url));
|
|
1556
1556
|
},
|
|
1557
1557
|
children: [
|
|
1558
1558
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
|
|
@@ -1615,9 +1615,9 @@ function ConnectedSkillsLibrary({
|
|
|
1615
1615
|
const [type, setType] = React9.useState("all");
|
|
1616
1616
|
const [view, setView] = React9.useState("gallery");
|
|
1617
1617
|
const [isBusy, setIsBusy] = React9.useState(false);
|
|
1618
|
-
const all = React9.useMemo(() =>
|
|
1618
|
+
const all = React9.useMemo(() => chunkK6T255ST_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
|
|
1619
1619
|
const shown = React9.useMemo(
|
|
1620
|
-
() =>
|
|
1620
|
+
() => chunkK6T255ST_cjs.filterLibrarySkills(all, { query, source, type }),
|
|
1621
1621
|
[all, query, source, type]
|
|
1622
1622
|
);
|
|
1623
1623
|
const current = all.find((s) => s.slug === selected) ?? null;
|
|
@@ -1628,21 +1628,21 @@ function ConnectedSkillsLibrary({
|
|
|
1628
1628
|
const count2 = (s) => all.filter((x) => x.source === s).length;
|
|
1629
1629
|
const sourceOptions = [
|
|
1630
1630
|
{ id: "all", label: "All", count: all.length },
|
|
1631
|
-
{ id: "builtin", label:
|
|
1632
|
-
{ id: "mine", label:
|
|
1633
|
-
{ id: "shared", label:
|
|
1631
|
+
{ id: "builtin", label: chunkK6T255ST_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
|
|
1632
|
+
{ id: "mine", label: chunkK6T255ST_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
|
|
1633
|
+
{ id: "shared", label: chunkK6T255ST_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
|
|
1634
1634
|
];
|
|
1635
1635
|
const types = [...new Set(all.map((s) => s.type))];
|
|
1636
1636
|
const typeOptions = [
|
|
1637
1637
|
{ id: "all", label: "Any kind" },
|
|
1638
|
-
...types.map((t) => ({ id: t, label:
|
|
1638
|
+
...types.map((t) => ({ id: t, label: chunkK6T255ST_cjs.SKILL_TYPE_LABELS[t] ?? t }))
|
|
1639
1639
|
];
|
|
1640
1640
|
const pick = (slug) => {
|
|
1641
1641
|
setSelected(slug);
|
|
1642
1642
|
setMode("detail");
|
|
1643
1643
|
};
|
|
1644
1644
|
const markdownOf = async (skill) => {
|
|
1645
|
-
if (!skill.docExtId) return
|
|
1645
|
+
if (!skill.docExtId) return chunkK6T255ST_cjs.workflowToSkillMarkdown(skill.workflow);
|
|
1646
1646
|
const response = await arbi.documents.download(skill.docExtId);
|
|
1647
1647
|
if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
|
|
1648
1648
|
return response.text();
|
|
@@ -1706,7 +1706,7 @@ function ConnectedSkillsLibrary({
|
|
|
1706
1706
|
try {
|
|
1707
1707
|
documentTools.downloadBlob(
|
|
1708
1708
|
new Blob([await markdownOf(skill)], { type: "text/markdown" }),
|
|
1709
|
-
|
|
1709
|
+
chunkK6T255ST_cjs.SKILL_MAIN_FILENAME
|
|
1710
1710
|
);
|
|
1711
1711
|
} catch (error) {
|
|
1712
1712
|
notify18(errorText(error, "Could not export the skill"), "error");
|
|
@@ -1747,10 +1747,10 @@ function ConnectedSkillsLibrary({
|
|
|
1747
1747
|
}
|
|
1748
1748
|
)
|
|
1749
1749
|
] }),
|
|
1750
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1750
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.SkillViewToggle, { value: view, onChange: setView })
|
|
1751
1751
|
] }),
|
|
1752
1752
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1753
|
-
|
|
1753
|
+
chunkK6T255ST_cjs.SkillFilterChips,
|
|
1754
1754
|
{
|
|
1755
1755
|
label: "Show",
|
|
1756
1756
|
value: source,
|
|
@@ -1759,7 +1759,7 @@ function ConnectedSkillsLibrary({
|
|
|
1759
1759
|
}
|
|
1760
1760
|
),
|
|
1761
1761
|
types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1762
|
-
|
|
1762
|
+
chunkK6T255ST_cjs.SkillFilterChips,
|
|
1763
1763
|
{
|
|
1764
1764
|
label: "Kind",
|
|
1765
1765
|
value: type,
|
|
@@ -1806,12 +1806,12 @@ function ConnectedSkillsLibrary({
|
|
|
1806
1806
|
view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
|
|
1807
1807
|
),
|
|
1808
1808
|
children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1809
|
-
|
|
1809
|
+
chunkK6T255ST_cjs.SkillTile,
|
|
1810
1810
|
{
|
|
1811
1811
|
name: skill.title,
|
|
1812
1812
|
testId: `skill-tile-${skill.slug}`,
|
|
1813
1813
|
description: skill.description,
|
|
1814
|
-
sourceLabel: skill.isShared ? `${
|
|
1814
|
+
sourceLabel: skill.isShared ? `${chunkK6T255ST_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkK6T255ST_cjs.SKILL_SOURCE_LABELS[skill.source],
|
|
1815
1815
|
type: skill.type,
|
|
1816
1816
|
icon,
|
|
1817
1817
|
layout: view,
|
|
@@ -1846,7 +1846,7 @@ function ConnectedSkillsLibrary({
|
|
|
1846
1846
|
}
|
|
1847
1847
|
),
|
|
1848
1848
|
mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1849
|
-
|
|
1849
|
+
chunkK6T255ST_cjs.SkillGenerateForm,
|
|
1850
1850
|
{
|
|
1851
1851
|
icon,
|
|
1852
1852
|
onGenerate: (desc) => {
|
|
@@ -1873,11 +1873,11 @@ function ConnectedSkillsLibrary({
|
|
|
1873
1873
|
),
|
|
1874
1874
|
mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
|
|
1875
1875
|
mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1876
|
-
|
|
1876
|
+
chunkK6T255ST_cjs.SkillLibraryDetail,
|
|
1877
1877
|
{
|
|
1878
1878
|
skill: current,
|
|
1879
1879
|
icon,
|
|
1880
|
-
instructions: current.docExtId ? currentText ?
|
|
1880
|
+
instructions: current.docExtId ? currentText ? chunkK6T255ST_cjs.parseSkillFrontmatter(currentText, chunkK6T255ST_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
|
|
1881
1881
|
isLoading: !!current.docExtId && textLoading,
|
|
1882
1882
|
actions: {
|
|
1883
1883
|
onRun: () => onRun(current.slug),
|
|
@@ -1912,7 +1912,7 @@ function SkillEditor({
|
|
|
1912
1912
|
const [seeded, setSeeded] = React9.useState(!isEditing);
|
|
1913
1913
|
const [nameError, setNameError] = React9.useState(null);
|
|
1914
1914
|
if (isEditing && !seeded && text2 !== void 0) {
|
|
1915
|
-
const parsed =
|
|
1915
|
+
const parsed = chunkK6T255ST_cjs.parseSkillFrontmatter(text2, chunkK6T255ST_cjs.SKILL_MAIN_FILENAME);
|
|
1916
1916
|
setDescription(parsed.description ?? "");
|
|
1917
1917
|
setBody(parsed.content ?? "");
|
|
1918
1918
|
setSeeded(true);
|
|
@@ -1926,15 +1926,15 @@ function SkillEditor({
|
|
|
1926
1926
|
notify18("Add a short description.", "error");
|
|
1927
1927
|
return;
|
|
1928
1928
|
}
|
|
1929
|
-
const slug =
|
|
1929
|
+
const slug = chunkK6T255ST_cjs.skillSlug(name);
|
|
1930
1930
|
try {
|
|
1931
|
-
await onSave(slug,
|
|
1931
|
+
await onSave(slug, chunkK6T255ST_cjs.serializeSkill({ name: slug, description, body }), isEditing);
|
|
1932
1932
|
} catch (err) {
|
|
1933
1933
|
notify18(errorText(err, "Could not save the skill"), "error");
|
|
1934
1934
|
}
|
|
1935
1935
|
};
|
|
1936
1936
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1937
|
-
|
|
1937
|
+
chunkK6T255ST_cjs.SkillEditForm,
|
|
1938
1938
|
{
|
|
1939
1939
|
name,
|
|
1940
1940
|
onNameChange: setName,
|
|
@@ -1970,9 +1970,9 @@ function ConnectedAgentCreator({
|
|
|
1970
1970
|
agent,
|
|
1971
1971
|
initialName,
|
|
1972
1972
|
onSaved,
|
|
1973
|
-
capabilities =
|
|
1974
|
-
templates =
|
|
1975
|
-
types =
|
|
1973
|
+
capabilities = chunkK6T255ST_cjs.DEFAULT_AGENT_CAPABILITIES,
|
|
1974
|
+
templates = chunkK6T255ST_cjs.DEFAULT_AGENT_TEMPLATES,
|
|
1975
|
+
types = chunkK6T255ST_cjs.DEFAULT_AGENT_TYPES,
|
|
1976
1976
|
canRevokeWorkspaces = false,
|
|
1977
1977
|
labels
|
|
1978
1978
|
}) {
|
|
@@ -2014,7 +2014,7 @@ function ConnectedAgentCreator({
|
|
|
2014
2014
|
const initialValues = React9.useMemo(
|
|
2015
2015
|
() => ({
|
|
2016
2016
|
name: agent?.given_name ?? initialName ?? "",
|
|
2017
|
-
persona: isEdit ?
|
|
2017
|
+
persona: isEdit ? chunkK6T255ST_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
|
|
2018
2018
|
modelName: String(agents.AGENT_MODEL_NAME ?? ""),
|
|
2019
2019
|
capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
|
|
2020
2020
|
type: "builtin",
|
|
@@ -2033,7 +2033,7 @@ function ConnectedAgentCreator({
|
|
|
2033
2033
|
try {
|
|
2034
2034
|
let agentExtId = agent?.external_id ?? early?.id ?? "";
|
|
2035
2035
|
if (!agentExtId) {
|
|
2036
|
-
if (!
|
|
2036
|
+
if (!chunkK6T255ST_cjs.isValidAgentName(values.name)) {
|
|
2037
2037
|
notify18("Give the agent a name first.", "error");
|
|
2038
2038
|
return;
|
|
2039
2039
|
}
|
|
@@ -2069,7 +2069,7 @@ function ConnectedAgentCreator({
|
|
|
2069
2069
|
title: `agent-${name}`,
|
|
2070
2070
|
sections: {
|
|
2071
2071
|
Agents: {
|
|
2072
|
-
PERSONA:
|
|
2072
|
+
PERSONA: chunkK6T255ST_cjs.composePersona(name, values.persona),
|
|
2073
2073
|
...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
|
|
2074
2074
|
...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
|
|
2075
2075
|
ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
|
|
@@ -2092,7 +2092,7 @@ function ConnectedAgentCreator({
|
|
|
2092
2092
|
};
|
|
2093
2093
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2094
2094
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2095
|
-
|
|
2095
|
+
chunkK6T255ST_cjs.AgentCreator,
|
|
2096
2096
|
{
|
|
2097
2097
|
open: ready,
|
|
2098
2098
|
onOpenChange,
|
|
@@ -2108,11 +2108,11 @@ function ConnectedAgentCreator({
|
|
|
2108
2108
|
) : void 0,
|
|
2109
2109
|
revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
|
|
2110
2110
|
avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2111
|
-
|
|
2111
|
+
chunkK6T255ST_cjs.AgentAvatarField,
|
|
2112
2112
|
{
|
|
2113
2113
|
picture,
|
|
2114
2114
|
isBusy: avatarBusy,
|
|
2115
|
-
canGenerate: isEdit ||
|
|
2115
|
+
canGenerate: isEdit || chunkK6T255ST_cjs.isValidAgentName(values.name),
|
|
2116
2116
|
onGenerate: () => handleGenerateAvatar(values)
|
|
2117
2117
|
}
|
|
2118
2118
|
),
|
|
@@ -2164,7 +2164,7 @@ function ConnectedAgentCreator({
|
|
|
2164
2164
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
|
|
2165
2165
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
|
|
2166
2166
|
] }),
|
|
2167
|
-
connect && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2167
|
+
connect && /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
|
|
2168
2168
|
]
|
|
2169
2169
|
}
|
|
2170
2170
|
) })
|
|
@@ -2271,7 +2271,7 @@ function ConnectedWorkflowHistory({
|
|
|
2271
2271
|
const { openConversation } = chunkI72IYIO2_cjs.useBlocksEnvironment();
|
|
2272
2272
|
const { data: runs = [], isLoading } = react.useWorkflowRuns(workflow?.external_id);
|
|
2273
2273
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2274
|
-
|
|
2274
|
+
chunkK6T255ST_cjs.TaskRunsDialog,
|
|
2275
2275
|
{
|
|
2276
2276
|
inline,
|
|
2277
2277
|
hideHeader,
|
|
@@ -2323,7 +2323,7 @@ function ConnectedTaskActivityDialog({
|
|
|
2323
2323
|
[agents]
|
|
2324
2324
|
);
|
|
2325
2325
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2326
|
-
|
|
2326
|
+
chunkK6T255ST_cjs.TaskActivityDialog,
|
|
2327
2327
|
{
|
|
2328
2328
|
open: true,
|
|
2329
2329
|
onOpenChange: (open) => !open && onClose(),
|
|
@@ -2411,7 +2411,7 @@ function StreamedArtifact({
|
|
|
2411
2411
|
}
|
|
2412
2412
|
var STARTING = /* @__PURE__ */ new Set(["pending", "running"]);
|
|
2413
2413
|
function formValues(step, inputs) {
|
|
2414
|
-
const fields =
|
|
2414
|
+
const fields = chunkJWYWP5EE_cjs.stepFields(step);
|
|
2415
2415
|
if (!fields.length) return void 0;
|
|
2416
2416
|
if (step.kind === "form")
|
|
2417
2417
|
return Object.fromEntries(fields.map((f) => [f.name, inputs[f.name] ?? ""]));
|
|
@@ -2449,7 +2449,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
2449
2449
|
const wsId = workspaceId ?? void 0;
|
|
2450
2450
|
const [threadId, setThreadId] = React9.useState(options2.conversationId);
|
|
2451
2451
|
const [localInputs, setLocalInputs] = React9.useState(
|
|
2452
|
-
() =>
|
|
2452
|
+
() => chunkJWYWP5EE_cjs.initialRunInputs(workflow, options2.initialInputs)
|
|
2453
2453
|
);
|
|
2454
2454
|
const [edits, setEdits] = React9.useState({});
|
|
2455
2455
|
const [localStates, setLocalStates] = React9.useState({});
|
|
@@ -2469,12 +2469,12 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
2469
2469
|
);
|
|
2470
2470
|
const conversation = conversations.data?.find((c) => c.external_id === threadId);
|
|
2471
2471
|
const steps = React9.useMemo(
|
|
2472
|
-
() =>
|
|
2472
|
+
() => chunkJWYWP5EE_cjs.workflowSteps(workflow).length > 0 ? chunkJWYWP5EE_cjs.workflowSteps(workflow) : chunkK6T255ST_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
|
|
2473
2473
|
[workflow, conversation?.plan?.steps]
|
|
2474
2474
|
);
|
|
2475
2475
|
const activity = react.useConversationActivity(threadId, { live: !!threadId });
|
|
2476
2476
|
const serverStates = React9.useMemo(
|
|
2477
|
-
() =>
|
|
2477
|
+
() => chunkJWYWP5EE_cjs.stepStatesFromActivity(activity.data ?? []),
|
|
2478
2478
|
[activity.data]
|
|
2479
2479
|
);
|
|
2480
2480
|
const working = steps.some(
|
|
@@ -2517,7 +2517,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
2517
2517
|
async (values, done) => {
|
|
2518
2518
|
await ensureWorkspaceOpen();
|
|
2519
2519
|
const created = await createWork.mutateAsync({
|
|
2520
|
-
title:
|
|
2520
|
+
title: chunkJWYWP5EE_cjs.runThreadTitle(workflow, values).slice(0, 60),
|
|
2521
2521
|
description: workflow.description || null,
|
|
2522
2522
|
prompt: null,
|
|
2523
2523
|
skill_ref: null,
|
|
@@ -2529,7 +2529,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
2529
2529
|
criteria: [],
|
|
2530
2530
|
max_passes: 3,
|
|
2531
2531
|
documents: [],
|
|
2532
|
-
steps:
|
|
2532
|
+
steps: chunkK6T255ST_cjs.toPlanSteps(workflow, {
|
|
2533
2533
|
inputs: values,
|
|
2534
2534
|
resolveWorkflow: options2.resolveWorkflow,
|
|
2535
2535
|
compose: options2.compose
|
|
@@ -2616,7 +2616,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
2616
2616
|
const anyRunning = Object.values(states).some((s) => s.status === "running");
|
|
2617
2617
|
const needsStart = !threadId || idle && !anyRunning;
|
|
2618
2618
|
const runError = idle ? conversation?.last_error ?? null : null;
|
|
2619
|
-
const view =
|
|
2619
|
+
const view = chunkK6T255ST_cjs.useWorkflowView({
|
|
2620
2620
|
steps,
|
|
2621
2621
|
states,
|
|
2622
2622
|
inputs,
|
|
@@ -2657,7 +2657,7 @@ function RunThread({
|
|
|
2657
2657
|
}) {
|
|
2658
2658
|
const chat = react.useConversation({ workspaceId });
|
|
2659
2659
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2660
|
-
|
|
2660
|
+
chunkW3AYIOK2_cjs.ChatPage,
|
|
2661
2661
|
{
|
|
2662
2662
|
chat: { ...chat, threads: chat.threads.filter((t) => t.id === conversationId) },
|
|
2663
2663
|
singleThread: true,
|
|
@@ -2695,7 +2695,7 @@ function WorkflowSignDialog({
|
|
|
2695
2695
|
const arbi = react.useArbi();
|
|
2696
2696
|
const { user, ensureWorkspaceOpen } = chunkDLHAKRU2_cjs.useConnectedWorkspace();
|
|
2697
2697
|
const tools = documentTools.useOptionalDocumentTools();
|
|
2698
|
-
const { id, version: stepVersion } =
|
|
2698
|
+
const { id, version: stepVersion } = chunkJWYWP5EE_cjs.splitDocRef(docRef);
|
|
2699
2699
|
const [version, setVersion] = React9.useState(stepVersion);
|
|
2700
2700
|
const [pdf, setPdf] = React9.useState(null);
|
|
2701
2701
|
const [preparing, setPreparing] = React9.useState(false);
|
|
@@ -2773,7 +2773,7 @@ function WorkflowWordDialog({
|
|
|
2773
2773
|
onClose,
|
|
2774
2774
|
labels
|
|
2775
2775
|
}) {
|
|
2776
|
-
const { id } =
|
|
2776
|
+
const { id } = chunkJWYWP5EE_cjs.splitDocRef(docRef);
|
|
2777
2777
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2778
2778
|
chunkULWRNGGE_cjs.ModalScaffold,
|
|
2779
2779
|
{
|
|
@@ -2958,7 +2958,7 @@ function ConnectedWorkflowRunner({
|
|
|
2958
2958
|
() => ({
|
|
2959
2959
|
me: userId,
|
|
2960
2960
|
openDocument: onOpenDocument && ((ref) => {
|
|
2961
|
-
const { id, version } =
|
|
2961
|
+
const { id, version } = chunkJWYWP5EE_cjs.splitDocRef(ref);
|
|
2962
2962
|
onOpenDocument(id, version);
|
|
2963
2963
|
}),
|
|
2964
2964
|
openDraft: onOpenDraft && ((draftId) => onOpenDraft(draftId)),
|
|
@@ -2968,7 +2968,7 @@ function ConnectedWorkflowRunner({
|
|
|
2968
2968
|
const w = state.waiting;
|
|
2969
2969
|
if (w?.doc_ext_id) setDialog({ kind: "sign", docRef: w.doc_ext_id });
|
|
2970
2970
|
}),
|
|
2971
|
-
openRedline: hostActions?.openRedline ?? ((ref) => setDialog({ kind: "word", docRef: ref, title: nameOfDoc(
|
|
2971
|
+
openRedline: hostActions?.openRedline ?? ((ref) => setDialog({ kind: "word", docRef: ref, title: nameOfDoc(chunkJWYWP5EE_cjs.splitDocRef(ref).id) ?? "" })),
|
|
2972
2972
|
openReview: hostActions?.openReview ?? ((tags, documents) => setDialog({ kind: "review", tags, documents }))
|
|
2973
2973
|
}),
|
|
2974
2974
|
[userId, onOpenDocument, onOpenDraft, onOpenMessage, hostActions, nameOfDoc, inThread]
|
|
@@ -3104,7 +3104,7 @@ function ConnectedWorkflowRunner({
|
|
|
3104
3104
|
);
|
|
3105
3105
|
};
|
|
3106
3106
|
const runner = (compact) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3107
|
-
|
|
3107
|
+
chunkK6T255ST_cjs.WorkflowRunner,
|
|
3108
3108
|
{
|
|
3109
3109
|
people,
|
|
3110
3110
|
...runnerProps,
|
|
@@ -3150,10 +3150,10 @@ function ConnectedWorkflowRunner({
|
|
|
3150
3150
|
) }),
|
|
3151
3151
|
inThread && conversationId ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3152
3152
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3153
|
-
|
|
3153
|
+
chunkK6T255ST_cjs.WorkflowStepBar,
|
|
3154
3154
|
{
|
|
3155
3155
|
run: view,
|
|
3156
|
-
levels:
|
|
3156
|
+
levels: chunkJWYWP5EE_cjs.stepLevels(view.steps),
|
|
3157
3157
|
doneTitle: (workflow.run.kind === "steps" ? workflow.run.completion?.title : void 0) ?? runnerProps.labels?.complete ?? "Done",
|
|
3158
3158
|
icon: (key) => key && runnerProps.renderIcon ? runnerProps.renderIcon(key) : void 0,
|
|
3159
3159
|
tid: (suffix) => `${testIdPrefix}-${suffix}`
|
|
@@ -3173,13 +3173,13 @@ function ConnectedWorkflowRunner({
|
|
|
3173
3173
|
return state ? [[s.id, state]] : [];
|
|
3174
3174
|
})
|
|
3175
3175
|
);
|
|
3176
|
-
const ref =
|
|
3176
|
+
const ref = chunkJWYWP5EE_cjs.stepDocuments(view.steps, states, id).at(-1);
|
|
3177
3177
|
const open = actions.openDocument ?? actions.openRedline;
|
|
3178
3178
|
return {
|
|
3179
3179
|
title: step.title,
|
|
3180
|
-
kind:
|
|
3180
|
+
kind: chunkJWYWP5EE_cjs.stepKindOf(step),
|
|
3181
3181
|
phase: view.phaseOf(id),
|
|
3182
|
-
document: ref && open ? { name: nameOfDoc(
|
|
3182
|
+
document: ref && open ? { name: nameOfDoc(chunkJWYWP5EE_cjs.splitDocRef(ref).id) ?? ref, onOpen: () => open(ref) } : void 0
|
|
3183
3183
|
};
|
|
3184
3184
|
},
|
|
3185
3185
|
targetMessageId: target,
|
|
@@ -3441,7 +3441,7 @@ function ConnectedTagTable({
|
|
|
3441
3441
|
const fail2 = (fallback) => (e) => notify18(browser.refusalReason(e, fallback), "error");
|
|
3442
3442
|
const snapshot2 = (data) => {
|
|
3443
3443
|
const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
|
|
3444
|
-
const bytes =
|
|
3444
|
+
const bytes = chunk2QV2SCEB_cjs.tagTableDocx(data, {
|
|
3445
3445
|
title,
|
|
3446
3446
|
nameOf: (id) => people.find((p) => p.value === id)?.label
|
|
3447
3447
|
});
|
|
@@ -3450,7 +3450,7 @@ function ConnectedTagTable({
|
|
|
3450
3450
|
return { blob: new Blob([bytes], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }), name };
|
|
3451
3451
|
};
|
|
3452
3452
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3453
|
-
|
|
3453
|
+
chunk2QV2SCEB_cjs.TagTable,
|
|
3454
3454
|
{
|
|
3455
3455
|
...props,
|
|
3456
3456
|
table,
|
|
@@ -3588,9 +3588,9 @@ function GlossaryExport({ labelId, nameOf }) {
|
|
|
3588
3588
|
const narrowed = agreements.find((a) => a.id === narrowTo);
|
|
3589
3589
|
const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
|
|
3590
3590
|
const download = (format) => {
|
|
3591
|
-
const entries =
|
|
3592
|
-
const blob = format === "docx" ? new Blob([
|
|
3593
|
-
documentTools.downloadBlob(blob,
|
|
3591
|
+
const entries = chunk2QV2SCEB_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
|
|
3592
|
+
const blob = format === "docx" ? new Blob([chunk2QV2SCEB_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunk2QV2SCEB_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
|
|
3593
|
+
documentTools.downloadBlob(blob, chunk2QV2SCEB_cjs.glossaryFileName(title, format));
|
|
3594
3594
|
};
|
|
3595
3595
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
|
|
3596
3596
|
agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -4135,7 +4135,7 @@ function KindSection({
|
|
|
4135
4135
|
{
|
|
4136
4136
|
testId: `tags-kind-${kind}`,
|
|
4137
4137
|
title: ui.tagKindTitle(kind, { plural: true }),
|
|
4138
|
-
description:
|
|
4138
|
+
description: chunk2QV2SCEB_cjs.tagKindDescription(kind),
|
|
4139
4139
|
actions: picker,
|
|
4140
4140
|
children: [
|
|
4141
4141
|
browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -4146,9 +4146,9 @@ function KindSection({
|
|
|
4146
4146
|
children: [
|
|
4147
4147
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
|
|
4148
4148
|
"Extracting ",
|
|
4149
|
-
|
|
4149
|
+
chunk2QV2SCEB_cjs.entitiesPhrase().toLowerCase(),
|
|
4150
4150
|
" from ",
|
|
4151
|
-
|
|
4151
|
+
chunk2QV2SCEB_cjs.documentCount(extractingCount),
|
|
4152
4152
|
"\u2026"
|
|
4153
4153
|
]
|
|
4154
4154
|
}
|
|
@@ -4166,7 +4166,7 @@ function KindSection({
|
|
|
4166
4166
|
onOpenDocument: (id) => openDocument(id),
|
|
4167
4167
|
onOpenFact: ctx.onOpenFact,
|
|
4168
4168
|
onOpenThread: (id) => openConversation(id),
|
|
4169
|
-
labels:
|
|
4169
|
+
labels: chunk2QV2SCEB_cjs.tagTableLabels(kind),
|
|
4170
4170
|
testId: `tags-table-${kind}`
|
|
4171
4171
|
}
|
|
4172
4172
|
)
|
|
@@ -4268,12 +4268,12 @@ function TagSection({
|
|
|
4268
4268
|
onOpenDocument: (id) => openDocument(id),
|
|
4269
4269
|
onOpenFact: ctx.onOpenFact,
|
|
4270
4270
|
onOpenThread: (id) => openConversation(id),
|
|
4271
|
-
labels:
|
|
4271
|
+
labels: chunk2QV2SCEB_cjs.tagTableLabels(tag.kind),
|
|
4272
4272
|
testId: "tags-rows"
|
|
4273
4273
|
}
|
|
4274
4274
|
),
|
|
4275
4275
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4276
|
-
|
|
4276
|
+
chunk2QV2SCEB_cjs.TagDetail,
|
|
4277
4277
|
{
|
|
4278
4278
|
row: detailRow && narrowTagRow(detailRow, ctx.filter.matches),
|
|
4279
4279
|
fields: schema.data?.fields ?? [],
|
|
@@ -4285,10 +4285,10 @@ function TagSection({
|
|
|
4285
4285
|
onOpenDocument: (id) => openDocument(id),
|
|
4286
4286
|
onOpenFact: ctx.onOpenFact,
|
|
4287
4287
|
onOpenThread: (id) => openConversation(id),
|
|
4288
|
-
noteLabel:
|
|
4288
|
+
noteLabel: chunk2QV2SCEB_cjs.tagNoteLabel(tag.kind),
|
|
4289
4289
|
noteIsValue: tag.kind === "annotation",
|
|
4290
4290
|
renderPassages: (d, label) => renderPassages(d.doc_ext_id, label),
|
|
4291
|
-
labels:
|
|
4291
|
+
labels: chunk2QV2SCEB_cjs.tagDetailLabels(),
|
|
4292
4292
|
testId: "tags-detail"
|
|
4293
4293
|
}
|
|
4294
4294
|
)
|
|
@@ -4376,7 +4376,7 @@ function ConnectedTagsPage({
|
|
|
4376
4376
|
const onDelete = async (t) => {
|
|
4377
4377
|
const nested = browser.getChildTags([...tags], t.external_id);
|
|
4378
4378
|
const uses = browser.tagUseCount(t);
|
|
4379
|
-
const n2 =
|
|
4379
|
+
const n2 = chunk2QV2SCEB_cjs.tagsPageNouns();
|
|
4380
4380
|
const tagNoun = (count2) => (count2 === 1 ? n2.tag : n2.tags).toLowerCase();
|
|
4381
4381
|
const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
|
|
4382
4382
|
const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
|
|
@@ -4397,16 +4397,16 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4397
4397
|
try {
|
|
4398
4398
|
await extract.mutateAsync(docIds);
|
|
4399
4399
|
notify18(
|
|
4400
|
-
`Extracting ${
|
|
4400
|
+
`Extracting ${chunk2QV2SCEB_cjs.entitiesPhrase().toLowerCase()} from ${chunk2QV2SCEB_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
|
|
4401
4401
|
"info"
|
|
4402
4402
|
);
|
|
4403
4403
|
} catch (error) {
|
|
4404
|
-
notify18(browser.refusalReason(error, `Could not extract ${
|
|
4404
|
+
notify18(browser.refusalReason(error, `Could not extract ${chunk2QV2SCEB_cjs.entitiesPhrase().toLowerCase()}`), "error");
|
|
4405
4405
|
throw error;
|
|
4406
4406
|
}
|
|
4407
4407
|
};
|
|
4408
4408
|
const picker = /* @__PURE__ */ jsxRuntime.jsx(
|
|
4409
|
-
|
|
4409
|
+
chunk2QV2SCEB_cjs.TagPicker,
|
|
4410
4410
|
{
|
|
4411
4411
|
tags: viewTags,
|
|
4412
4412
|
selectedId: tag?.external_id,
|
|
@@ -4420,10 +4420,10 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4420
4420
|
onOpenTag: openTag,
|
|
4421
4421
|
onOpenFact
|
|
4422
4422
|
};
|
|
4423
|
-
const n =
|
|
4423
|
+
const n = chunk2QV2SCEB_cjs.tagsPageNouns();
|
|
4424
4424
|
const action = view === "person" || view === "organisation" ? {
|
|
4425
4425
|
label: "Extract",
|
|
4426
|
-
title: `Extract ${
|
|
4426
|
+
title: `Extract ${chunk2QV2SCEB_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
|
|
4427
4427
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
|
|
4428
4428
|
run: () => setExtracting(true),
|
|
4429
4429
|
testId: "tags-extract-entities"
|
|
@@ -4573,7 +4573,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4573
4573
|
}
|
|
4574
4574
|
),
|
|
4575
4575
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4576
|
-
|
|
4576
|
+
chunk2QV2SCEB_cjs.ExtractEntitiesDialog,
|
|
4577
4577
|
{
|
|
4578
4578
|
open: extracting,
|
|
4579
4579
|
onOpenChange: setExtracting,
|
|
@@ -6576,7 +6576,7 @@ function ConnectedFactsPage({
|
|
|
6576
6576
|
onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
|
|
6577
6577
|
navSlotRef: setNavSlot,
|
|
6578
6578
|
navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6579
|
-
|
|
6579
|
+
chunk2QV2SCEB_cjs.GridRowNavigator,
|
|
6580
6580
|
{
|
|
6581
6581
|
gridApi,
|
|
6582
6582
|
selectedId: editingId,
|
|
@@ -9759,13 +9759,13 @@ function ConnectedWorkspaceSettings({
|
|
|
9759
9759
|
const [membersExpanded, setMembersExpanded] = React9.useState(false);
|
|
9760
9760
|
const [shareOpen, setShareOpen] = React9.useState(false);
|
|
9761
9761
|
if (!workspace) {
|
|
9762
|
-
return /* @__PURE__ */ jsxRuntime.jsx(chunkQLY22ZZW_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9762
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQLY22ZZW_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk2QV2SCEB_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
|
|
9763
9763
|
}
|
|
9764
9764
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9765
9765
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkQLY22ZZW_cjs.WorkspacePageFrame, { testId, children: [
|
|
9766
9766
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkQLY22ZZW_cjs.WorkspaceIdentityPanel, { children: [
|
|
9767
9767
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9768
|
-
|
|
9768
|
+
chunk2QV2SCEB_cjs.EntityIdentityBar,
|
|
9769
9769
|
{
|
|
9770
9770
|
testId: "workspace-identity-bar",
|
|
9771
9771
|
canEdit: isOwner,
|
|
@@ -9782,7 +9782,7 @@ function ConnectedWorkspaceSettings({
|
|
|
9782
9782
|
label: "Name",
|
|
9783
9783
|
value: workspace.name,
|
|
9784
9784
|
placeholder: "Untitled",
|
|
9785
|
-
maxLength:
|
|
9785
|
+
maxLength: chunk2QV2SCEB_cjs.IDENTITY_NAME_MAX_LENGTH,
|
|
9786
9786
|
valueClassName: "truncate text-base font-semibold",
|
|
9787
9787
|
testId: "workspace-home-title",
|
|
9788
9788
|
hideLabel: true,
|
|
@@ -11679,36 +11679,36 @@ function ConnectedSharePointAdminConsentPage({
|
|
|
11679
11679
|
const result = givenResult === void 0 ? queryResult : givenResult;
|
|
11680
11680
|
const { apiBaseUrl } = chunkI72IYIO2_cjs.useBlocksEnvironment().runtimeConfig;
|
|
11681
11681
|
const consentUrl = `${apiBaseUrl}/v1/connectors/microsoft_sharepoint/admin-consent`;
|
|
11682
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11682
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkK6T255ST_cjs.ConsentCard, { size: "md", children: [
|
|
11683
11683
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11684
|
-
|
|
11684
|
+
chunkK6T255ST_cjs.ConsentHeader,
|
|
11685
11685
|
{
|
|
11686
11686
|
icon: /* @__PURE__ */ jsxRuntime.jsx(chunk5YX3R6CK_cjs.VendorLogo, { vendorKey: "microsoft_sharepoint", product: "sharepoint" }),
|
|
11687
11687
|
title: "Approve ARBI for SharePoint access",
|
|
11688
11688
|
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."
|
|
11689
11689
|
}
|
|
11690
11690
|
),
|
|
11691
|
-
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11692
|
-
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11693
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11691
|
+
result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_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." }),
|
|
11692
|
+
result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_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." }),
|
|
11693
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkK6T255ST_cjs.ConsentSection, { title: "What you are approving", children: [
|
|
11694
11694
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11695
|
-
|
|
11695
|
+
chunkK6T255ST_cjs.ConsentBulletList,
|
|
11696
11696
|
{
|
|
11697
11697
|
items: [
|
|
11698
11698
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11699
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11699
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
|
|
11700
11700
|
" \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."
|
|
11701
11701
|
] }),
|
|
11702
11702
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11703
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11703
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
|
|
11704
11704
|
" \u2014 standard sign-in (openid, profile, email) and offline access so syncs keep working between sessions."
|
|
11705
11705
|
] })
|
|
11706
11706
|
]
|
|
11707
11707
|
}
|
|
11708
11708
|
),
|
|
11709
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11709
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_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." }),
|
|
11710
11710
|
/* @__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" }) }),
|
|
11711
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11711
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_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." })
|
|
11712
11712
|
] })
|
|
11713
11713
|
] }) });
|
|
11714
11714
|
}
|
|
@@ -14321,7 +14321,7 @@ function ConnectedWorkspaceList({
|
|
|
14321
14321
|
else void openWorkspace(workspace.external_id, { name: workspace.name });
|
|
14322
14322
|
};
|
|
14323
14323
|
const createDisabledReason = list.canCreateProjects === false ? react.PROJECT_CREATION_DENIED_REASON : void 0;
|
|
14324
|
-
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14324
|
+
if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunk2QV2SCEB_cjs.LoadingIndicator, { message: "Loading workspaces..." });
|
|
14325
14325
|
if (list.error) {
|
|
14326
14326
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14327
14327
|
chunk7KIM64LQ_cjs.HomeLoadError,
|
|
@@ -14394,7 +14394,7 @@ function ConnectedWorkspaceList({
|
|
|
14394
14394
|
workspaceState
|
|
14395
14395
|
}
|
|
14396
14396
|
) })
|
|
14397
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14397
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk2QV2SCEB_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunk7KIM64LQ_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14398
14398
|
WorkspaceTableView,
|
|
14399
14399
|
{
|
|
14400
14400
|
list,
|
|
@@ -14636,7 +14636,7 @@ function ProjectsListPage({
|
|
|
14636
14636
|
}
|
|
14637
14637
|
),
|
|
14638
14638
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14639
|
-
|
|
14639
|
+
chunk2QV2SCEB_cjs.Toolbar,
|
|
14640
14640
|
{
|
|
14641
14641
|
search,
|
|
14642
14642
|
onSearch: setSearch,
|
|
@@ -16835,7 +16835,7 @@ function recentConversations(conversations) {
|
|
|
16835
16835
|
return [...conversations].sort((a, b) => time(b.updated_at) - time(a.updated_at)).slice(0, RECENT_ROWS).map((c) => ({
|
|
16836
16836
|
id: c.external_id,
|
|
16837
16837
|
title: c.title?.trim() || "Untitled thread",
|
|
16838
|
-
subtitle: c.status ? [
|
|
16838
|
+
subtitle: c.status ? [chunkK6T255ST_cjs.STATUS_LABELS[chunkK6T255ST_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"}`,
|
|
16839
16839
|
time: timeAndDate(c.updated_at)
|
|
16840
16840
|
}));
|
|
16841
16841
|
}
|
|
@@ -22799,6 +22799,53 @@ ${skipped.map((s) => `${s.file_name}: ${s.reason}`).join("\n")}`,
|
|
|
22799
22799
|
[workspaceId, uploadFromUrls, shared, configExtId, onZipFiles, notify18]
|
|
22800
22800
|
);
|
|
22801
22801
|
}
|
|
22802
|
+
var DEFAULTS = {
|
|
22803
|
+
SKIP_DUPLICATES: true,
|
|
22804
|
+
AUTO_RENAME: false,
|
|
22805
|
+
AUTO_RENAME_INSTRUCTION: ""
|
|
22806
|
+
};
|
|
22807
|
+
function ProcessingSettingsFooter({
|
|
22808
|
+
activeConfigId,
|
|
22809
|
+
isShared,
|
|
22810
|
+
onSharedChange,
|
|
22811
|
+
workspaceEntityLabel,
|
|
22812
|
+
children
|
|
22813
|
+
}) {
|
|
22814
|
+
const configId = activeConfigId || "default";
|
|
22815
|
+
const { data: activeConfig } = react.useConfig(configId, { enabled: true });
|
|
22816
|
+
const configField = react.useSaveConfigField(configId);
|
|
22817
|
+
const config = activeConfig;
|
|
22818
|
+
const skipDuplicates = config?.Parser?.SKIP_DUPLICATES ?? DEFAULTS.SKIP_DUPLICATES;
|
|
22819
|
+
const autoRename = config?.DoctagLLM?.AUTO_RENAME ?? DEFAULTS.AUTO_RENAME;
|
|
22820
|
+
const autoRenameInstruction = config?.DoctagLLM?.AUTO_RENAME_INSTRUCTION ?? DEFAULTS.AUTO_RENAME_INSTRUCTION;
|
|
22821
|
+
const handleConfigChange = React9.useCallback(
|
|
22822
|
+
(instrument, field, value) => {
|
|
22823
|
+
configField.save(instrument, field, value);
|
|
22824
|
+
},
|
|
22825
|
+
[configField]
|
|
22826
|
+
);
|
|
22827
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22828
|
+
chunk5YX3R6CK_cjs.UploadFooterBar,
|
|
22829
|
+
{
|
|
22830
|
+
skipDuplicates,
|
|
22831
|
+
onSkipDuplicatesChange: (value) => handleConfigChange("Parser", "SKIP_DUPLICATES", value),
|
|
22832
|
+
autoRename,
|
|
22833
|
+
onAutoRenameChange: (value) => handleConfigChange("DoctagLLM", "AUTO_RENAME", value),
|
|
22834
|
+
autoRenameInstruction,
|
|
22835
|
+
onAutoRenameInstructionChange: (value) => handleConfigChange("DoctagLLM", "AUTO_RENAME_INSTRUCTION", value),
|
|
22836
|
+
shareToggle: /* @__PURE__ */ jsxRuntime.jsx(
|
|
22837
|
+
chunk5YX3R6CK_cjs.ShareToggle,
|
|
22838
|
+
{
|
|
22839
|
+
isVisible: isShared,
|
|
22840
|
+
onToggle: onSharedChange,
|
|
22841
|
+
workspaceEntityLabel,
|
|
22842
|
+
compact: true
|
|
22843
|
+
}
|
|
22844
|
+
),
|
|
22845
|
+
children
|
|
22846
|
+
}
|
|
22847
|
+
);
|
|
22848
|
+
}
|
|
22802
22849
|
function formatFileSize3(bytes) {
|
|
22803
22850
|
if (bytes === 0) return "0 Bytes";
|
|
22804
22851
|
const k = 1024;
|
|
@@ -22838,7 +22885,8 @@ function ConnectedUpload({
|
|
|
22838
22885
|
onClose,
|
|
22839
22886
|
onUploadComplete,
|
|
22840
22887
|
accounts,
|
|
22841
|
-
renderFooter
|
|
22888
|
+
renderFooter,
|
|
22889
|
+
processingSettings = false
|
|
22842
22890
|
}) {
|
|
22843
22891
|
const { notify: notify18 } = chunkI72IYIO2_cjs.useBlocksEnvironment();
|
|
22844
22892
|
const { openUpgrade } = react.useDocumentHostActions();
|
|
@@ -23017,7 +23065,16 @@ ${summary}`,
|
|
|
23017
23065
|
batchInfo: progress?.batches ?? null
|
|
23018
23066
|
}
|
|
23019
23067
|
) }) }),
|
|
23020
|
-
uploading === null && files.length > 0 && renderFooter({ submit, shared, onSharedChange: setShared })
|
|
23068
|
+
uploading === null && files.length > 0 && (renderFooter ? renderFooter({ submit, shared, onSharedChange: setShared }) : processingSettings ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
23069
|
+
ProcessingSettingsFooter,
|
|
23070
|
+
{
|
|
23071
|
+
activeConfigId: configExtId,
|
|
23072
|
+
isShared: shared,
|
|
23073
|
+
onSharedChange: setShared,
|
|
23074
|
+
workspaceEntityLabel: ui.getEntityLabel("WORKSPACE"),
|
|
23075
|
+
children: submit
|
|
23076
|
+
}
|
|
23077
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(DefaultFooter, { submit, shared, onSharedChange: setShared }))
|
|
23021
23078
|
] });
|
|
23022
23079
|
}
|
|
23023
23080
|
var VENDOR_PRODUCTS = {
|
|
@@ -25500,7 +25557,7 @@ function useBatchCompleteToasts() {
|
|
|
25500
25557
|
}
|
|
25501
25558
|
}, AI_FIELDS_NOTICE_WINDOW_MS);
|
|
25502
25559
|
} else if (message.batch_type === "entity_extract") {
|
|
25503
|
-
say(`${
|
|
25560
|
+
say(`${chunk2QV2SCEB_cjs.entitiesPhrase()} extracted from ${chunk2QV2SCEB_cjs.documentCount(docIds.length)}`, "success", {
|
|
25504
25561
|
...openTags && { action: { label: "View", onClick: openTags } }
|
|
25505
25562
|
});
|
|
25506
25563
|
} else if (message.batch_type === "upload") {
|
|
@@ -26990,7 +27047,7 @@ var DocumentReviewCard = React9.lazy(
|
|
|
26990
27047
|
() => import('../DocumentReviewCard-DLR4XOIZ.cjs').then((module) => ({ default: module.DocumentReviewCard }))
|
|
26991
27048
|
);
|
|
26992
27049
|
function defaultReviewCard(props) {
|
|
26993
|
-
return /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(
|
|
27050
|
+
return /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk2QV2SCEB_cjs.LoadingIndicator, { message: "Loading document viewer..." }), children: /* @__PURE__ */ jsxRuntime.jsx(DocumentReviewCard, { ...props }, `navigator-${props.currentDocument.external_id}`) });
|
|
26994
27051
|
}
|
|
26995
27052
|
function ConnectedFilesPage({
|
|
26996
27053
|
isModal = false,
|
|
@@ -27446,7 +27503,7 @@ function ConnectedFilesPage({
|
|
|
27446
27503
|
viewMode === "grid" ? (
|
|
27447
27504
|
// ‹ n / N › over the table's displayed rows; a step opens the document.
|
|
27448
27505
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
27449
|
-
|
|
27506
|
+
chunk2QV2SCEB_cjs.GridRowNavigator,
|
|
27450
27507
|
{
|
|
27451
27508
|
gridApi,
|
|
27452
27509
|
selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
|
|
@@ -28576,7 +28633,7 @@ function ProcessingSection({
|
|
|
28576
28633
|
onDelete
|
|
28577
28634
|
}) {
|
|
28578
28635
|
return /* @__PURE__ */ jsxRuntime.jsx(chunk5YX3R6CK_cjs.TaskSection, { title, count: count2, status, tooltip: SECTION_TOOLTIPS[status], children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
28579
|
-
|
|
28636
|
+
chunkK6T255ST_cjs.UploadTaskList,
|
|
28580
28637
|
{
|
|
28581
28638
|
tasks,
|
|
28582
28639
|
title: "",
|
|
@@ -29667,7 +29724,7 @@ function ConnectedChatThread({
|
|
|
29667
29724
|
}
|
|
29668
29725
|
return /* @__PURE__ */ jsxRuntime.jsxs(React9.Fragment, { children: [
|
|
29669
29726
|
isFirstOfDay && /* @__PURE__ */ jsxRuntime.jsx(react.DateSeparator, { children: formatDay(msg.created_at) }),
|
|
29670
|
-
!isSent && startsPeerRun(i) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
29727
|
+
!isSent && startsPeerRun(i) && /* @__PURE__ */ jsxRuntime.jsx(chunkW3AYIOK2_cjs.MessageAuthor, { children: renderUser2(memberById(msg.sender_ext_id) ?? null) }),
|
|
29671
29728
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
29672
29729
|
react.ChatBubble,
|
|
29673
29730
|
{
|
|
@@ -30609,7 +30666,7 @@ function ConnectedConfigForm({ availableModels, ...rest }) {
|
|
|
30609
30666
|
({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedModelSelector, { value, onValueChange: onChange, className: "w-full" }),
|
|
30610
30667
|
[]
|
|
30611
30668
|
);
|
|
30612
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30669
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
|
|
30613
30670
|
}
|
|
30614
30671
|
function ConnectedAgentConfigForm({ agentExtId, agentName, onSaved }) {
|
|
30615
30672
|
const { notify: notify18 } = chunkI72IYIO2_cjs.useBlocksEnvironment();
|
|
@@ -30726,7 +30783,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
30726
30783
|
}, [name, selectedWorkspaces, role, createAgent, addWorkspaceUsers, arbi, notify18]);
|
|
30727
30784
|
if (editAgent) {
|
|
30728
30785
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30729
|
-
|
|
30786
|
+
chunkK6T255ST_cjs.AgentEditView,
|
|
30730
30787
|
{
|
|
30731
30788
|
agentName: editAgent.name,
|
|
30732
30789
|
config: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -30742,7 +30799,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
30742
30799
|
}
|
|
30743
30800
|
if (view === "main") {
|
|
30744
30801
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30745
|
-
|
|
30802
|
+
chunkK6T255ST_cjs.AgentMainView,
|
|
30746
30803
|
{
|
|
30747
30804
|
onConnectExternal: () => setView("connect"),
|
|
30748
30805
|
config: mainAgent ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -30758,11 +30815,11 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
30758
30815
|
}
|
|
30759
30816
|
if (result) {
|
|
30760
30817
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30761
|
-
|
|
30818
|
+
chunkK6T255ST_cjs.AgentCreatedView,
|
|
30762
30819
|
{
|
|
30763
30820
|
email: result.email,
|
|
30764
30821
|
signingKey: result.signingKey,
|
|
30765
|
-
instructions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
30822
|
+
instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
|
|
30766
30823
|
config: /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentConfigForm, { agentExtId: result.extId, agentName: result.name }),
|
|
30767
30824
|
isConfigOpen: configOpen,
|
|
30768
30825
|
onToggleConfig: () => setConfigOpen((v) => !v),
|
|
@@ -30771,7 +30828,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
|
|
|
30771
30828
|
);
|
|
30772
30829
|
}
|
|
30773
30830
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30774
|
-
|
|
30831
|
+
chunkK6T255ST_cjs.AgentCreateView,
|
|
30775
30832
|
{
|
|
30776
30833
|
name,
|
|
30777
30834
|
onNameChange: setName,
|
|
@@ -32455,14 +32512,14 @@ var referencesOf = (inputs) => {
|
|
|
32455
32512
|
return value?.documents ?? [];
|
|
32456
32513
|
};
|
|
32457
32514
|
var PROMPT_BINDINGS = {
|
|
32458
|
-
[
|
|
32515
|
+
[chunkK6T255ST_cjs.GENERATE_IMAGE_ID]: {
|
|
32459
32516
|
attachScope: false,
|
|
32460
32517
|
tools: (inputs) => {
|
|
32461
32518
|
const aspectRatio = typeof inputs.aspect_ratio === "string" ? inputs.aspect_ratio : "";
|
|
32462
32519
|
return {
|
|
32463
32520
|
retrieval_chunk: browser.buildRetrievalChunkTool([]),
|
|
32464
32521
|
retrieval_full_context: browser.buildRetrievalFullContextTool(referencesOf(inputs)),
|
|
32465
|
-
...aspectRatio && aspectRatio !==
|
|
32522
|
+
...aspectRatio && aspectRatio !== chunkK6T255ST_cjs.IMAGE_ASPECT_AUTO ? {
|
|
32466
32523
|
image_generation: {
|
|
32467
32524
|
name: "image_generation",
|
|
32468
32525
|
description: "image generation",
|
|
@@ -32498,7 +32555,7 @@ function useWorkflowTasks() {
|
|
|
32498
32555
|
);
|
|
32499
32556
|
const create2 = React9.useCallback(
|
|
32500
32557
|
async (ctx, forceWorkflow = false) => {
|
|
32501
|
-
const request =
|
|
32558
|
+
const request = chunkK6T255ST_cjs.taskComposerToCreateRequest(
|
|
32502
32559
|
{ ...ctx, documentTitles, plan: ctx.plan ?? null },
|
|
32503
32560
|
activeWorkspaceId ?? void 0,
|
|
32504
32561
|
forceWorkflow
|
|
@@ -32540,7 +32597,7 @@ function useWorkflowTasks() {
|
|
|
32540
32597
|
);
|
|
32541
32598
|
const update = React9.useCallback(
|
|
32542
32599
|
async (task, ctx) => {
|
|
32543
|
-
const patch =
|
|
32600
|
+
const patch = chunkK6T255ST_cjs.taskComposerToUpdateRequest({ ...ctx, plan: ctx.plan ?? null });
|
|
32544
32601
|
if (task.is_owner === false) delete patch.shared;
|
|
32545
32602
|
await updateConversation.mutateAsync({ conversationId: task.external_id, patch });
|
|
32546
32603
|
},
|
|
@@ -32548,7 +32605,7 @@ function useWorkflowTasks() {
|
|
|
32548
32605
|
);
|
|
32549
32606
|
const updateWorkflow = React9.useCallback(
|
|
32550
32607
|
async (workflow, ctx) => {
|
|
32551
|
-
const patch =
|
|
32608
|
+
const patch = chunkK6T255ST_cjs.composerToWorkflowUpdate({ ...ctx, documentTitles, plan: ctx.plan ?? null });
|
|
32552
32609
|
if (workflow.is_owner === false) delete patch.shared;
|
|
32553
32610
|
const workspaceId = workflow.workspace_ext_id ?? activeWorkspaceId;
|
|
32554
32611
|
const updated = await updateWorkflowMutation.mutateAsync({
|
|
@@ -32589,7 +32646,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
32589
32646
|
const annotate = React9.useCallback(
|
|
32590
32647
|
async ({ inputs, scope }) => {
|
|
32591
32648
|
const description = text(inputs, "description");
|
|
32592
|
-
const name = text(inputs, "name") ||
|
|
32649
|
+
const name = text(inputs, "name") || chunkK6T255ST_cjs.deriveAnnotationName(description);
|
|
32593
32650
|
const matching = chunkZXHGPTAZ_cjs.matchWorkflowScope(documents, scope);
|
|
32594
32651
|
if (!name || !description || matching.length === 0) return;
|
|
32595
32652
|
try {
|
|
@@ -32633,9 +32690,9 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
32633
32690
|
async (launch) => {
|
|
32634
32691
|
const { workflow, inputs, scope, agentId } = launch;
|
|
32635
32692
|
if (workflow.run.kind === "operation") {
|
|
32636
|
-
if (workflow.id ===
|
|
32693
|
+
if (workflow.id === chunkK6T255ST_cjs.ANNOTATE_ID) {
|
|
32637
32694
|
await annotate(launch);
|
|
32638
|
-
|
|
32695
|
+
chunkK6T255ST_cjs.recordWorkflowUse(workflow.id);
|
|
32639
32696
|
return;
|
|
32640
32697
|
}
|
|
32641
32698
|
throw new Error(`No host handler for workflow "${workflow.id}"`);
|
|
@@ -32645,7 +32702,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
|
|
|
32645
32702
|
);
|
|
32646
32703
|
const prompt = chunk76L6LOP3_cjs.composeWorkflowPrompt(workflow, inputs, { documentTitles });
|
|
32647
32704
|
if (!prompt) return;
|
|
32648
|
-
|
|
32705
|
+
chunkK6T255ST_cjs.recordWorkflowUse(workflow.id);
|
|
32649
32706
|
if (agentId) {
|
|
32650
32707
|
try {
|
|
32651
32708
|
const created = await createTask({
|
|
@@ -32728,8 +32785,8 @@ function ConnectedWorkflowStart({
|
|
|
32728
32785
|
const tags = React9.useMemo(() => chunkZXHGPTAZ_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
|
|
32729
32786
|
const fieldPlaceholder = React9.useCallback(
|
|
32730
32787
|
(field, inputs, workflow) => {
|
|
32731
|
-
if (workflow.id !==
|
|
32732
|
-
const derived =
|
|
32788
|
+
if (workflow.id !== chunkK6T255ST_cjs.ANNOTATE_ID || field.name !== "name") return void 0;
|
|
32789
|
+
const derived = chunkK6T255ST_cjs.deriveAnnotationName(String(inputs.description ?? ""));
|
|
32733
32790
|
return derived ? `Otherwise \u201C${derived}\u201D` : "Taken from the description";
|
|
32734
32791
|
},
|
|
32735
32792
|
[]
|
|
@@ -32740,15 +32797,15 @@ function ConnectedWorkflowStart({
|
|
|
32740
32797
|
...rest,
|
|
32741
32798
|
workflows,
|
|
32742
32799
|
onLaunch,
|
|
32743
|
-
renderIcon:
|
|
32800
|
+
renderIcon: chunkK6T255ST_cjs.renderWorkflowIcon,
|
|
32744
32801
|
onAddFiles: openUpload,
|
|
32745
32802
|
agentLabels: AGENT_LABELS,
|
|
32746
32803
|
addFilesAction,
|
|
32747
32804
|
fieldPlaceholder,
|
|
32748
|
-
submitLabel: ({ workflow, matchedCount }) => workflow.id ===
|
|
32805
|
+
submitLabel: ({ workflow, matchedCount }) => workflow.id === chunkK6T255ST_cjs.ANNOTATE_ID && matchedCount !== null ? `Annotate ${matchedCount} document${matchedCount !== 1 ? "s" : ""}` : void 0,
|
|
32749
32806
|
renderNotice: ({ workflow, inputs }) => {
|
|
32750
|
-
if (workflow.id !==
|
|
32751
|
-
const name = String(inputs.name ?? "").trim() ||
|
|
32807
|
+
if (workflow.id !== chunkK6T255ST_cjs.ANNOTATE_ID) return null;
|
|
32808
|
+
const name = String(inputs.name ?? "").trim() || chunkK6T255ST_cjs.deriveAnnotationName(String(inputs.description ?? ""));
|
|
32752
32809
|
const existing = name ? tags.find((t) => t.name.toLowerCase() === name.toLowerCase()) : void 0;
|
|
32753
32810
|
if (!existing) return null;
|
|
32754
32811
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -32779,25 +32836,25 @@ function useSkillsEnabled() {
|
|
|
32779
32836
|
// src/connection/workflows/useWorkflowDefinitions.ts
|
|
32780
32837
|
function useWorkflowDefinitions() {
|
|
32781
32838
|
const { data: listings } = react.useSkills();
|
|
32782
|
-
const usage =
|
|
32839
|
+
const usage = chunkK6T255ST_cjs.useWorkflowUsage();
|
|
32783
32840
|
const skillsEnabled = useSkillsEnabled();
|
|
32784
32841
|
return React9.useMemo(() => {
|
|
32785
32842
|
const { host: builtins, skills: fromServer } = chunk76L6LOP3_cjs.mergeSkillWorkflows(
|
|
32786
|
-
|
|
32843
|
+
chunkK6T255ST_cjs.WEB_WORKFLOWS,
|
|
32787
32844
|
listings ?? []
|
|
32788
32845
|
);
|
|
32789
32846
|
const all = [...builtins, ...fromServer];
|
|
32790
32847
|
const byId = new Map(all.map((w) => [w.id, w]));
|
|
32791
|
-
const pinned =
|
|
32848
|
+
const pinned = chunkK6T255ST_cjs.DASHBOARD_PINNED.flatMap((id) => {
|
|
32792
32849
|
const w = byId.get(id);
|
|
32793
32850
|
return w ? [w] : [];
|
|
32794
32851
|
});
|
|
32795
32852
|
return {
|
|
32796
32853
|
skills: all,
|
|
32797
32854
|
skillsEnabled,
|
|
32798
|
-
start: skillsEnabled ? [...builtins, ...
|
|
32799
|
-
dashboard: [...pinned, ...
|
|
32800
|
-
forTasks: [
|
|
32855
|
+
start: skillsEnabled ? [...builtins, ...chunkK6T255ST_cjs.sortByRecentUse(fromServer, usage)] : [],
|
|
32856
|
+
dashboard: [...pinned, ...chunkK6T255ST_cjs.DASHBOARD_OPERATIONS],
|
|
32857
|
+
forTasks: [chunkK6T255ST_cjs.CUSTOM_TASK, ...all.filter((w) => w.schedulable), chunkK6T255ST_cjs.REMIND_TASK]
|
|
32801
32858
|
};
|
|
32802
32859
|
}, [listings, usage, skillsEnabled]);
|
|
32803
32860
|
}
|
|
@@ -32819,7 +32876,7 @@ function resolveLaunchInputs(workflow, request) {
|
|
|
32819
32876
|
function useWorkflowLaunch() {
|
|
32820
32877
|
const { skills } = useWorkflowDefinitions();
|
|
32821
32878
|
const launch = React9.useCallback(
|
|
32822
|
-
(workflowId, options2 = {}) =>
|
|
32879
|
+
(workflowId, options2 = {}) => chunkK6T255ST_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
|
|
32823
32880
|
[]
|
|
32824
32881
|
);
|
|
32825
32882
|
const itemsFor = React9.useCallback(
|
|
@@ -32848,8 +32905,8 @@ function useWorkflowLaunch() {
|
|
|
32848
32905
|
return { launch, itemsFor, scopeItemsFor };
|
|
32849
32906
|
}
|
|
32850
32907
|
function Inner() {
|
|
32851
|
-
const request =
|
|
32852
|
-
const close =
|
|
32908
|
+
const request = chunkK6T255ST_cjs.useWorkflowLaunchRequest();
|
|
32909
|
+
const close = chunkK6T255ST_cjs.closeWorkflowLaunch;
|
|
32853
32910
|
const { skills } = useWorkflowDefinitions();
|
|
32854
32911
|
const run = useLaunchWorkflow({ landing: request?.landing });
|
|
32855
32912
|
const workflow = skills.find((w) => w.id === request?.workflowId);
|
|
@@ -32887,7 +32944,7 @@ function Inner() {
|
|
|
32887
32944
|
);
|
|
32888
32945
|
}
|
|
32889
32946
|
function WorkflowLaunchHost() {
|
|
32890
|
-
return
|
|
32947
|
+
return chunkK6T255ST_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
|
|
32891
32948
|
}
|
|
32892
32949
|
function isNeedsConfirmationDetail(detail) {
|
|
32893
32950
|
return typeof detail === "object" && detail !== null && detail.needs_confirmation === "resource_private";
|
|
@@ -33416,7 +33473,7 @@ var ConversationEntity = React9.memo(function ConversationEntity2({
|
|
|
33416
33473
|
);
|
|
33417
33474
|
const icon2 = /* @__PURE__ */ jsxRuntime.jsx(ui.ThreadVisibilityIcon, { shared: isShared, className: `${iconSizeClass} shrink-0` });
|
|
33418
33475
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33419
|
-
|
|
33476
|
+
chunkK6T255ST_cjs.EntityChip,
|
|
33420
33477
|
{
|
|
33421
33478
|
variant,
|
|
33422
33479
|
icon: icon2,
|
|
@@ -33438,22 +33495,22 @@ function WorkflowRunStatusCell({ conversation }) {
|
|
|
33438
33495
|
});
|
|
33439
33496
|
const { data: members = [] } = react.useWorkspaceUsers();
|
|
33440
33497
|
const me = react.useArbiSession().user?.external_id;
|
|
33441
|
-
const steps =
|
|
33442
|
-
const states =
|
|
33498
|
+
const steps = chunkK6T255ST_cjs.fromPlanSteps(conversation.plan?.steps ?? []);
|
|
33499
|
+
const states = chunkJWYWP5EE_cjs.stepStatesFromActivity(activity.data ?? []);
|
|
33443
33500
|
const nameOf = (id) => {
|
|
33444
33501
|
if (id === me) return "you";
|
|
33445
33502
|
const person = members.find((m) => m.user.external_id === id)?.user;
|
|
33446
33503
|
return person ? ui.getUserDisplayName(person) : void 0;
|
|
33447
33504
|
};
|
|
33448
33505
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33449
|
-
|
|
33506
|
+
chunkK6T255ST_cjs.WorkflowRunStatus,
|
|
33450
33507
|
{
|
|
33451
33508
|
steps,
|
|
33452
33509
|
states,
|
|
33453
|
-
assigneeOf: (step) =>
|
|
33510
|
+
assigneeOf: (step) => chunkJWYWP5EE_cjs.canAssign(step) ? chunkJWYWP5EE_cjs.assigneeName(step.assignee, {
|
|
33454
33511
|
nameOf,
|
|
33455
33512
|
inputs: conversation.skill_inputs ?? {},
|
|
33456
|
-
fields:
|
|
33513
|
+
fields: chunkJWYWP5EE_cjs.runFieldsOf(steps),
|
|
33457
33514
|
announcedTo: states[step.id]?.announcedTo
|
|
33458
33515
|
}) : void 0,
|
|
33459
33516
|
isLoading: activity.isLoading,
|
|
@@ -33480,7 +33537,7 @@ function ConversationStatusCell({ conversation }) {
|
|
|
33480
33537
|
if (conversation.plan?.steps?.length && !isLiveGenerating)
|
|
33481
33538
|
return /* @__PURE__ */ jsxRuntime.jsx(WorkflowRunStatusCell, { conversation });
|
|
33482
33539
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33483
|
-
|
|
33540
|
+
chunkK6T255ST_cjs.ThreadStatusLine,
|
|
33484
33541
|
{
|
|
33485
33542
|
state: threadStateOf(conversation, isLiveGenerating),
|
|
33486
33543
|
className: "h-full",
|
|
@@ -33795,8 +33852,8 @@ var STEP_EVENT_PHASES = {
|
|
|
33795
33852
|
function stepChipOf(step, eventKind, document2) {
|
|
33796
33853
|
const phase = STEP_EVENT_PHASES[eventKind];
|
|
33797
33854
|
if (!phase) return void 0;
|
|
33798
|
-
const kind =
|
|
33799
|
-
const KindIcon =
|
|
33855
|
+
const kind = chunkJWYWP5EE_cjs.stepKindOf(step);
|
|
33856
|
+
const KindIcon = chunkJWYWP5EE_cjs.STEP_KIND_ICONS[kind];
|
|
33800
33857
|
return { kind, phase, icon: /* @__PURE__ */ jsxRuntime.jsx(KindIcon, {}), document: document2 };
|
|
33801
33858
|
}
|
|
33802
33859
|
function useConnectedThreadActivity(conversationId) {
|
|
@@ -33812,16 +33869,16 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
33812
33869
|
const openWorkflow = chunkI72IYIO2_cjs.useOpenWorkflow();
|
|
33813
33870
|
const workspaceExtId = react.useArbiSessionState((s) => s.workspaceId);
|
|
33814
33871
|
const task = conversations.find((c) => c.external_id === conversationId);
|
|
33815
|
-
const latestMessageAt =
|
|
33872
|
+
const latestMessageAt = chunkK6T255ST_cjs.latestMessageTime(messageHistory);
|
|
33816
33873
|
const events = (activity.data ?? []).filter(
|
|
33817
|
-
(event) => !
|
|
33874
|
+
(event) => !chunkK6T255ST_cjs.isSupersededStop(event, latestMessageAt)
|
|
33818
33875
|
);
|
|
33819
33876
|
const personName = (extId) => {
|
|
33820
33877
|
const person = members.find((m) => m.user.external_id === extId)?.user;
|
|
33821
33878
|
return person ? ui.getUserDisplayName(person) : "someone";
|
|
33822
33879
|
};
|
|
33823
|
-
const planSteps =
|
|
33824
|
-
const entries =
|
|
33880
|
+
const planSteps = chunkK6T255ST_cjs.fromPlanSteps(task?.plan?.steps ?? []);
|
|
33881
|
+
const entries = chunkK6T255ST_cjs.compactThreadActivity(events, (id) => planSteps.find((s) => s.id === id)?.title);
|
|
33825
33882
|
const items = entries.map(({ event, label, recipients }) => {
|
|
33826
33883
|
const messageActivity = [
|
|
33827
33884
|
"created",
|
|
@@ -33831,7 +33888,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
33831
33888
|
].includes(event.kind);
|
|
33832
33889
|
const eventStep = event.kind.startsWith("step_") && typeof event.detail?.step === "string" ? planSteps.find((s) => s.id === event.detail?.step) : void 0;
|
|
33833
33890
|
const stepDocRef = event.kind === "step_done" && Array.isArray(event.detail?.documents) ? event.detail.documents.at(-1) : void 0;
|
|
33834
|
-
const stepDocId = stepDocRef ?
|
|
33891
|
+
const stepDocId = stepDocRef ? chunkJWYWP5EE_cjs.splitDocRef(stepDocRef).id : void 0;
|
|
33835
33892
|
const stepDocRecord = stepDocId ? docs.find((d) => d.external_id === stepDocId) : void 0;
|
|
33836
33893
|
const stepDocument = stepDocId ? {
|
|
33837
33894
|
name: stepDocRecord ? ui.getDocumentTitle(stepDocRecord) : stepDocId,
|
|
@@ -33847,7 +33904,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
33847
33904
|
const messageId = sourceMessage ?? [...messageHistory].reverse().find((message) => Date.parse(message.created_at ?? "") <= Date.parse(event.created_at))?.external_id ?? messageHistory[0]?.external_id;
|
|
33848
33905
|
const doc = docId ? docs.find((d) => d.external_id === docId) : void 0;
|
|
33849
33906
|
const mailDraftId = event.kind === "notified" && event.detail?.event === "mail_draft_ready" && typeof event.detail?.mail_id === "string" ? event.detail.mail_id : void 0;
|
|
33850
|
-
const missed = event.kind === "notified" && recipients.length ?
|
|
33907
|
+
const missed = event.kind === "notified" && recipients.length ? chunkK6T255ST_cjs.unnotifiedMentions(
|
|
33851
33908
|
messageHistory.find((message) => message.external_id === sourceMessage)?.mentions,
|
|
33852
33909
|
recipients,
|
|
33853
33910
|
event.actor_ext_id
|
|
@@ -33880,7 +33937,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
33880
33937
|
) : void 0,
|
|
33881
33938
|
docId,
|
|
33882
33939
|
docTitle: doc ? ui.getDocumentTitle(doc) : void 0,
|
|
33883
|
-
label: mailDraftId ? "Left a draft email" : event.kind === "notified" && recipients.length ?
|
|
33940
|
+
label: mailDraftId ? "Left a draft email" : event.kind === "notified" && recipients.length ? chunkK6T255ST_cjs.notifiedLabel(recipients.map(personName), missed.map(personName)) : label,
|
|
33884
33941
|
description: [
|
|
33885
33942
|
name,
|
|
33886
33943
|
label,
|
|
@@ -33894,7 +33951,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
33894
33951
|
stepChip: eventStep ? stepChipOf(eventStep, event.kind, stepDocument) : void 0,
|
|
33895
33952
|
// No avatar tooltip: the entry is already a button (or titled row) that carries the same
|
|
33896
33953
|
// details, and a tooltip trigger inside it would be a nested <button>.
|
|
33897
|
-
avatar: assistant ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33954
|
+
avatar: assistant ? /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.AssistantEntity, { variant: "icon", size: 20, showTooltip: false }) : member ? /* @__PURE__ */ jsxRuntime.jsx(chunkS7B5E3RU_cjs.DocumentUser, { user: member, tooltip: false }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { className: "size-4 text-muted-foreground" }),
|
|
33898
33955
|
time: ui.formatRelativeTime(event.created_at, { style: "short" }),
|
|
33899
33956
|
exactTime: ui.formatFriendlyDate(event.created_at),
|
|
33900
33957
|
onOpenDocument: docId && doc ? () => openDocument(docId) : void 0,
|
|
@@ -33943,7 +34000,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
33943
34000
|
onSelect: () => navigateToConversation(source)
|
|
33944
34001
|
});
|
|
33945
34002
|
}
|
|
33946
|
-
const links =
|
|
34003
|
+
const links = chunkK6T255ST_cjs.linkedRunsFromActivity(activity.data);
|
|
33947
34004
|
const threadName = (id, workflowId) => conversations.find((c) => c.external_id === id)?.title || workflows.find((w) => w.external_id === workflowId)?.name || "Linked thread";
|
|
33948
34005
|
const signals = links.raised.map((raised) => ({
|
|
33949
34006
|
step: raised.step,
|
|
@@ -33958,7 +34015,7 @@ function useConnectedThreadActivity(conversationId) {
|
|
|
33958
34015
|
if (links.startedBy) {
|
|
33959
34016
|
const { conversationId: parentId, step, signal } = links.startedBy;
|
|
33960
34017
|
const parent = conversations.find((c) => c.external_id === parentId);
|
|
33961
|
-
const parentSteps =
|
|
34018
|
+
const parentSteps = chunkK6T255ST_cjs.fromPlanSteps(parent?.plan?.steps ?? []);
|
|
33962
34019
|
startedBy = {
|
|
33963
34020
|
stepTitle: parentSteps.find((s) => s.id === step)?.title ?? step ?? "a step",
|
|
33964
34021
|
threadTitle: parent?.title || "another thread",
|
|
@@ -33991,8 +34048,8 @@ function ConnectedThreadTaskBar({
|
|
|
33991
34048
|
const person = members.find((m) => m.user.external_id === id)?.user;
|
|
33992
34049
|
return person ? ui.getUserDisplayName(person) : void 0;
|
|
33993
34050
|
};
|
|
33994
|
-
const steps =
|
|
33995
|
-
const states =
|
|
34051
|
+
const steps = chunkK6T255ST_cjs.fromPlanSteps(task?.plan?.steps ?? []);
|
|
34052
|
+
const states = chunkJWYWP5EE_cjs.stepStatesFromActivity(activity.data ?? []);
|
|
33996
34053
|
const runInputs = task?.skill_inputs ?? {};
|
|
33997
34054
|
const stepCall = (body) => actOnStep.mutateAsync({ conversationId, body });
|
|
33998
34055
|
const canEdit = Boolean(task?.is_owner || task?.is_shared && canEditShared);
|
|
@@ -34017,16 +34074,16 @@ function ConnectedThreadTaskBar({
|
|
|
34017
34074
|
task?.plan?.steps?.length ? (
|
|
34018
34075
|
// A workflow run: its named steps, with what happened in the thread under each.
|
|
34019
34076
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34020
|
-
|
|
34077
|
+
chunkK6T255ST_cjs.WorkflowThreadStrip,
|
|
34021
34078
|
{
|
|
34022
34079
|
steps,
|
|
34023
34080
|
states,
|
|
34024
34081
|
items,
|
|
34025
|
-
assigneeOf: (step) =>
|
|
34082
|
+
assigneeOf: (step) => chunkJWYWP5EE_cjs.canAssign(step) ? chunkJWYWP5EE_cjs.assigneeName(step.assignee, {
|
|
34026
34083
|
// A step that is the viewer's own reads "Waiting for you".
|
|
34027
34084
|
nameOf: (id) => id === me ? "you" : nameOf(id),
|
|
34028
34085
|
inputs: runInputs,
|
|
34029
|
-
fields:
|
|
34086
|
+
fields: chunkJWYWP5EE_cjs.runFieldsOf(steps),
|
|
34030
34087
|
announcedTo: states[step.id]?.announcedTo
|
|
34031
34088
|
}) : void 0,
|
|
34032
34089
|
signals,
|
|
@@ -34035,7 +34092,7 @@ function ConnectedThreadTaskBar({
|
|
|
34035
34092
|
const doc = documents.find((d) => d.external_id === id);
|
|
34036
34093
|
return doc ? ui.getDocumentTitle(doc) : void 0;
|
|
34037
34094
|
},
|
|
34038
|
-
onOpenDocument: (ref) => openDocument(
|
|
34095
|
+
onOpenDocument: (ref) => openDocument(chunkJWYWP5EE_cjs.splitDocRef(ref).id),
|
|
34039
34096
|
inputs: runInputs,
|
|
34040
34097
|
nameOf: (id) => id === me ? "you" : nameOf(id),
|
|
34041
34098
|
onSkip: canEdit ? (step) => void actOnStep.mutateAsync({ conversationId, body: { step, action: "skip" } }).catch(
|
|
@@ -34044,7 +34101,7 @@ function ConnectedThreadTaskBar({
|
|
|
34044
34101
|
renderStepAction: (step, phase) => (
|
|
34045
34102
|
// A signer or a draft's person acts on their step even on a thread they cannot edit.
|
|
34046
34103
|
canEdit || phase === "waiting" || phase === "done" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
34047
|
-
|
|
34104
|
+
chunkK6T255ST_cjs.WorkflowStepAction,
|
|
34048
34105
|
{
|
|
34049
34106
|
step,
|
|
34050
34107
|
phase,
|
|
@@ -34065,8 +34122,8 @@ function ConnectedThreadTaskBar({
|
|
|
34065
34122
|
}
|
|
34066
34123
|
)
|
|
34067
34124
|
) : items.length || startedBy ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34068
|
-
startedBy && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34069
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34125
|
+
startedBy && /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.WorkflowThreadStartedBy, { origin: startedBy }),
|
|
34126
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.TaskFlow, { items: items.filter((item) => !item.step) })
|
|
34070
34127
|
] }) : (
|
|
34071
34128
|
// Ordinary chats record no activity events, so an empty ribbon says nothing rather than
|
|
34072
34129
|
// "No recorded activity yet" while the answer and its steps are right there in the thread.
|
|
@@ -34100,7 +34157,7 @@ function ConnectedThreadTaskBar({
|
|
|
34100
34157
|
) }),
|
|
34101
34158
|
/* @__PURE__ */ jsxRuntime.jsxs(ui.DropdownMenuContent, { align: "end", children: [
|
|
34102
34159
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34103
|
-
|
|
34160
|
+
chunk2QV2SCEB_cjs.ThreadFollowMenuItem,
|
|
34104
34161
|
{
|
|
34105
34162
|
following: follow.following,
|
|
34106
34163
|
onFollowingChange: (on) => (
|
|
@@ -34282,7 +34339,7 @@ function ConnectedTaskComposer({
|
|
|
34282
34339
|
const label = (t) => t.title?.trim() || "Untitled task";
|
|
34283
34340
|
if (isWorkflow) return allTasks.map((t) => ({ id: t.external_id, name: label(t) }));
|
|
34284
34341
|
const subject = task ?? { external_id: "__new__" };
|
|
34285
|
-
return
|
|
34342
|
+
return chunkK6T255ST_cjs.moveTargets(
|
|
34286
34343
|
[...allTasks.filter((t) => t.external_id !== subject.external_id), subject],
|
|
34287
34344
|
subject
|
|
34288
34345
|
).map((t) => ({ id: t.external_id, name: label(t) }));
|
|
@@ -34297,33 +34354,33 @@ function ConnectedTaskComposer({
|
|
|
34297
34354
|
);
|
|
34298
34355
|
const initialValues = React9.useMemo(() => {
|
|
34299
34356
|
const ids = {
|
|
34300
|
-
customWorkflowId:
|
|
34301
|
-
reminderWorkflowId:
|
|
34357
|
+
customWorkflowId: chunkK6T255ST_cjs.CUSTOM_TASK_ID,
|
|
34358
|
+
reminderWorkflowId: chunkK6T255ST_cjs.REMIND_TASK_ID,
|
|
34302
34359
|
definitions: forTasks
|
|
34303
34360
|
};
|
|
34304
34361
|
const base = launchWorkflow ? {
|
|
34305
|
-
...
|
|
34362
|
+
...chunkK6T255ST_cjs.workflowToComposerValues(launchWorkflow, ids),
|
|
34306
34363
|
when: "once",
|
|
34307
34364
|
runAt: "",
|
|
34308
34365
|
rrule: "",
|
|
34309
34366
|
eventKind: "",
|
|
34310
34367
|
afterTaskId: "",
|
|
34311
34368
|
name: ""
|
|
34312
|
-
} : editingWorkflow ?
|
|
34369
|
+
} : editingWorkflow ? chunkK6T255ST_cjs.workflowToComposerValues(editingWorkflow, ids) : task ? chunkK6T255ST_cjs.taskToComposerValues(task, ids) : isWorkflow ? {
|
|
34313
34370
|
// Run now is the default start; scheduling is the fallback in the same field.
|
|
34314
34371
|
assignee: "agent",
|
|
34315
|
-
workflowId: initialWorkflowId ??
|
|
34372
|
+
workflowId: initialWorkflowId ?? chunkK6T255ST_cjs.CUSTOM_TASK_ID,
|
|
34316
34373
|
when: startLater ? "once" : "now",
|
|
34317
34374
|
...initialPrompt ? {
|
|
34318
34375
|
inputs: {
|
|
34319
|
-
[initialWorkflowId ===
|
|
34376
|
+
[initialWorkflowId === chunkK6T255ST_cjs.REMIND_TASK_ID ? "message" : "instruction"]: initialPrompt
|
|
34320
34377
|
}
|
|
34321
34378
|
} : {},
|
|
34322
34379
|
// A scheduled run needs an agent: the owner's Assistant unless another is picked.
|
|
34323
34380
|
...startLater && defaultAgentId ? { agentId: defaultAgentId } : {}
|
|
34324
34381
|
} : initialAgentExtId ? (
|
|
34325
34382
|
// Assigning an agent means agentic work: the free instruction, and tell me when done.
|
|
34326
|
-
{ agentId: initialAgentExtId, workflowId:
|
|
34383
|
+
{ agentId: initialAgentExtId, workflowId: chunkK6T255ST_cjs.CUSTOM_TASK_ID, notifyOnComplete: true }
|
|
34327
34384
|
) : {};
|
|
34328
34385
|
return {
|
|
34329
34386
|
timezone: chunkQUMUAJ2P_cjs.detectTimeZone(),
|
|
@@ -34384,7 +34441,7 @@ function ConnectedTaskComposer({
|
|
|
34384
34441
|
const ctx = {
|
|
34385
34442
|
workflow: chosen,
|
|
34386
34443
|
values: submitted,
|
|
34387
|
-
plan: chosen.id ===
|
|
34444
|
+
plan: chosen.id === chunkK6T255ST_cjs.CUSTOM_TASK_ID ? plan : null
|
|
34388
34445
|
};
|
|
34389
34446
|
try {
|
|
34390
34447
|
if (isWorkflow && editingWorkflow && !options2?.runOnce) {
|
|
@@ -34420,7 +34477,7 @@ function ConnectedTaskComposer({
|
|
|
34420
34477
|
}
|
|
34421
34478
|
};
|
|
34422
34479
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34423
|
-
|
|
34480
|
+
chunkK6T255ST_cjs.TaskComposer,
|
|
34424
34481
|
{
|
|
34425
34482
|
open,
|
|
34426
34483
|
onOpenChange,
|
|
@@ -34434,12 +34491,12 @@ function ConnectedTaskComposer({
|
|
|
34434
34491
|
tasks: taskOptions,
|
|
34435
34492
|
initialValues,
|
|
34436
34493
|
timezones,
|
|
34437
|
-
eventOptions:
|
|
34494
|
+
eventOptions: chunkK6T255ST_cjs.AUTOMATION_EVENTS,
|
|
34438
34495
|
eventWorkflowOptions: workspaceAutomations.filter((item) => item.external_id !== editingWorkflow?.external_id).map((item) => ({ id: item.external_id, label: item.name })),
|
|
34439
34496
|
isPending,
|
|
34440
34497
|
planDrafting: planWork.isPending,
|
|
34441
34498
|
hasPlan: plan !== null,
|
|
34442
|
-
renderIcon:
|
|
34499
|
+
renderIcon: chunkK6T255ST_cjs.renderWorkflowIcon,
|
|
34443
34500
|
scopeSource,
|
|
34444
34501
|
renderDocuments: (field, value, onChange) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
34445
34502
|
chunkFYL7IGK2_cjs.ConnectedWorkflowDocumentsField,
|
|
@@ -34473,8 +34530,8 @@ function ConnectedTaskComposer({
|
|
|
34473
34530
|
...plan ? { addAndStart: "Approve plan and start", addAndSchedule: "Approve plan and schedule" } : {}
|
|
34474
34531
|
},
|
|
34475
34532
|
onSubmit: submit,
|
|
34476
|
-
goal: (values) => values.workflowId ===
|
|
34477
|
-
|
|
34533
|
+
goal: (values) => values.workflowId === chunkK6T255ST_cjs.CUSTOM_TASK_ID ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
34534
|
+
chunkK6T255ST_cjs.TaskPlan,
|
|
34478
34535
|
{
|
|
34479
34536
|
plan,
|
|
34480
34537
|
onChange: setPlan,
|
|
@@ -34674,7 +34731,7 @@ function ConnectedTaskStartDialog({
|
|
|
34674
34731
|
};
|
|
34675
34732
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34676
34733
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34677
|
-
|
|
34734
|
+
chunkK6T255ST_cjs.TaskStartDialog,
|
|
34678
34735
|
{
|
|
34679
34736
|
open: open && !later,
|
|
34680
34737
|
onOpenChange: (next) => {
|
|
@@ -34706,7 +34763,7 @@ function ConnectedTaskStartDialog({
|
|
|
34706
34763
|
kind: "workflow",
|
|
34707
34764
|
startLater: true,
|
|
34708
34765
|
initialPrompt: later.prompt,
|
|
34709
|
-
initialWorkflowId: later.todo ?
|
|
34766
|
+
initialWorkflowId: later.todo ? chunkK6T255ST_cjs.REMIND_TASK_ID : void 0,
|
|
34710
34767
|
initialShared: later.shared,
|
|
34711
34768
|
launchWorkflow: later.workflow
|
|
34712
34769
|
}
|
|
@@ -34720,7 +34777,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
34720
34777
|
const [later, setLater] = React9.useState(null);
|
|
34721
34778
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34722
34779
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34723
|
-
|
|
34780
|
+
chunkK6T255ST_cjs.ThreadLauncher,
|
|
34724
34781
|
{
|
|
34725
34782
|
workflows: task.workflows,
|
|
34726
34783
|
people: task.people,
|
|
@@ -34757,7 +34814,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
|
|
|
34757
34814
|
kind: "workflow",
|
|
34758
34815
|
startLater: true,
|
|
34759
34816
|
initialPrompt: later.prompt,
|
|
34760
|
-
initialWorkflowId: later.todo ?
|
|
34817
|
+
initialWorkflowId: later.todo ? chunkK6T255ST_cjs.REMIND_TASK_ID : void 0,
|
|
34761
34818
|
initialShared: later.shared,
|
|
34762
34819
|
launchWorkflow: later.workflow
|
|
34763
34820
|
}
|
|
@@ -34786,13 +34843,13 @@ function ConnectedNewThreadDialog({
|
|
|
34786
34843
|
});
|
|
34787
34844
|
const parentOptions = React9.useMemo(() => {
|
|
34788
34845
|
const leaf = { external_id: "__new__" };
|
|
34789
|
-
return
|
|
34846
|
+
return chunkK6T255ST_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
|
|
34790
34847
|
id: t.external_id,
|
|
34791
34848
|
name: t.title?.trim() || "Untitled task"
|
|
34792
34849
|
}));
|
|
34793
34850
|
}, [tasks]);
|
|
34794
34851
|
const submit = async (values) => {
|
|
34795
|
-
const request =
|
|
34852
|
+
const request = chunkK6T255ST_cjs.newThreadToRequest(values);
|
|
34796
34853
|
try {
|
|
34797
34854
|
if (!workspaceId) throw new Error("Open a workspace to add a task.");
|
|
34798
34855
|
if (!request.startAssistant && request.todo) {
|
|
@@ -34833,7 +34890,7 @@ function ConnectedNewThreadDialog({
|
|
|
34833
34890
|
}
|
|
34834
34891
|
};
|
|
34835
34892
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34836
|
-
|
|
34893
|
+
chunkK6T255ST_cjs.NewThreadDialog,
|
|
34837
34894
|
{
|
|
34838
34895
|
open,
|
|
34839
34896
|
onOpenChange,
|
|
@@ -34891,7 +34948,7 @@ function ConnectedConversationStart() {
|
|
|
34891
34948
|
const browse = openSkillsBrowser ? [
|
|
34892
34949
|
{
|
|
34893
34950
|
id: "browse-all",
|
|
34894
|
-
iconNode:
|
|
34951
|
+
iconNode: chunkK6T255ST_cjs.renderWorkflowIcon("library"),
|
|
34895
34952
|
title: "Browse all",
|
|
34896
34953
|
description: "See every skill, make a copy, add your own",
|
|
34897
34954
|
onSelect: () => openSkillsBrowser(),
|
|
@@ -35053,7 +35110,7 @@ function getToolParams(detail) {
|
|
|
35053
35110
|
return params;
|
|
35054
35111
|
}
|
|
35055
35112
|
function StepModelIcon({ modelName, tag }) {
|
|
35056
|
-
const cfg = tag === "Premium" ? null :
|
|
35113
|
+
const cfg = tag === "Premium" ? null : chunkK6T255ST_cjs.getModelIcon(modelName, tag);
|
|
35057
35114
|
if (tag !== "Premium" && !cfg) return null;
|
|
35058
35115
|
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
|
|
35059
35116
|
/* @__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 } }) }) }),
|
|
@@ -35168,15 +35225,15 @@ var AgentStepsComponent = ({
|
|
|
35168
35225
|
const lastStepIndex = mergedSteps[mergedSteps.length - 1].index;
|
|
35169
35226
|
const renderRow = (step, depth, isLastInList) => {
|
|
35170
35227
|
const i = posByIndex.get(step.index);
|
|
35171
|
-
const presentation =
|
|
35228
|
+
const presentation = chunkK6T255ST_cjs.getAgentStepPresentation(step, docInfo);
|
|
35172
35229
|
const { tool, Icon } = presentation;
|
|
35173
35230
|
const { label, summary, isMultiLine, details } = browser.getStepDisplay(step, docInfo);
|
|
35174
|
-
const accent =
|
|
35231
|
+
const accent = chunkK6T255ST_cjs.stepAccent(step, tool);
|
|
35175
35232
|
const duration = stepDurations[i];
|
|
35176
35233
|
const isLastStep = step.index === lastStepIndex;
|
|
35177
35234
|
const isActive = step.index === currentStepIndex;
|
|
35178
35235
|
const tier = step.step === "goal" ? step.model_recommendation : null;
|
|
35179
|
-
const TierIcon = tier ?
|
|
35236
|
+
const TierIcon = tier ? chunkK6T255ST_cjs.MODEL_TIER_ICON_MAP[tier] : null;
|
|
35180
35237
|
const useLiveDuration = isLastStep && liveTimer != null && step.t != null;
|
|
35181
35238
|
const durationNode = useLiveDuration ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
35182
35239
|
MessageLiveSeconds,
|
|
@@ -35200,7 +35257,7 @@ var AgentStepsComponent = ({
|
|
|
35200
35257
|
})) : null;
|
|
35201
35258
|
const folded = childrenByParent.get(step.index);
|
|
35202
35259
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
35203
|
-
|
|
35260
|
+
chunkK6T255ST_cjs.StepRow,
|
|
35204
35261
|
{
|
|
35205
35262
|
index: step.index,
|
|
35206
35263
|
number: displayNumber.get(step.index) ?? String(i + 1),
|
|
@@ -35214,7 +35271,7 @@ var AgentStepsComponent = ({
|
|
|
35214
35271
|
titleTestId: isActive ? "agent-expanded-current-step-description" : void 0,
|
|
35215
35272
|
badge: TierIcon ? /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
|
|
35216
35273
|
/* @__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 }) }) }),
|
|
35217
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "top", children:
|
|
35274
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "top", children: chunkK6T255ST_cjs.MODEL_TIER_LABELS[tier] ?? tier })
|
|
35218
35275
|
] }) : void 0,
|
|
35219
35276
|
meta: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
35220
35277
|
isDeveloper && /* @__PURE__ */ jsxRuntime.jsx(StepModelIcon, { modelName: step.usage?.model, tag: getModelTag(step.usage?.model) }),
|
|
@@ -35229,14 +35286,14 @@ var AgentStepsComponent = ({
|
|
|
35229
35286
|
summary && !isActive && (step.narration ? (
|
|
35230
35287
|
/* Narration is PROSE (headings, bold, lists): render markdown, not raw asterisks.
|
|
35231
35288
|
Tool summaries stay plain text: one-line headlines where a clamp matters. */
|
|
35232
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35233
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
35234
|
-
details.map((d, di) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
35235
|
-
showOutcome && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35236
|
-
toolParams.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35237
|
-
criteriaView && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35289
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.StepNarration, { index: step.index, children: /* @__PURE__ */ jsxRuntime.jsx(chunkBB4PMCU6_cjs.ConnectedMarkdown, { isStreaming: false, children: summary }) })
|
|
35290
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.StepSummary, { index: step.index, multiLine: isMultiLine, children: summary })),
|
|
35291
|
+
details.map((d, di) => /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.StepDetail, { index: step.index, children: d }, di)),
|
|
35292
|
+
showOutcome && /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.StepOutcome, { index: step.index, failed: outcomeFailed, children: step.outcome }),
|
|
35293
|
+
toolParams.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.StepParams, { children: toolParams.map((p) => `${p.key}=${p.value}`).join(" ") }),
|
|
35294
|
+
criteriaView && /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.GoalCriteria, { criteria: criteriaView }),
|
|
35238
35295
|
folded && folded.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35239
|
-
|
|
35296
|
+
chunkK6T255ST_cjs.SubStepGroup,
|
|
35240
35297
|
{
|
|
35241
35298
|
parentIndex: step.index,
|
|
35242
35299
|
summary: summariseSubSteps(folded),
|
|
@@ -35262,7 +35319,7 @@ var AgentStepsComponent = ({
|
|
|
35262
35319
|
leftParts.push(`${browser.formatTokens(totalInputTokens)} in`);
|
|
35263
35320
|
if (totalOutputTokens > 0) leftParts.push(`${browser.formatTokens(totalOutputTokens)} out`);
|
|
35264
35321
|
summaryNode = /* @__PURE__ */ jsxRuntime.jsx(
|
|
35265
|
-
|
|
35322
|
+
chunkK6T255ST_cjs.StepTraceSummary,
|
|
35266
35323
|
{
|
|
35267
35324
|
left: leftParts.join(" \xB7 "),
|
|
35268
35325
|
isNearBudget: browser.isNearAiUsageBudget(contextUsage),
|
|
@@ -35270,7 +35327,7 @@ var AgentStepsComponent = ({
|
|
|
35270
35327
|
}
|
|
35271
35328
|
);
|
|
35272
35329
|
}
|
|
35273
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35330
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.StepTrace, { className, summary: summaryNode, children: displayRows.map((row2, i) => {
|
|
35274
35331
|
if (row2.lane) {
|
|
35275
35332
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35276
35333
|
LaneBinding,
|
|
@@ -35307,7 +35364,7 @@ function LaneBinding({
|
|
|
35307
35364
|
const running = !closed && isStreaming;
|
|
35308
35365
|
const latest = inner[inner.length - 1];
|
|
35309
35366
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35310
|
-
|
|
35367
|
+
chunkK6T255ST_cjs.SubAgentLane,
|
|
35311
35368
|
{
|
|
35312
35369
|
handle,
|
|
35313
35370
|
number,
|
|
@@ -35430,7 +35487,7 @@ function AgentBarShell({
|
|
|
35430
35487
|
}, [isStepsExpanded, steps]);
|
|
35431
35488
|
const visibleStepCount = React9.useMemo(() => browser.topLevelAgentSteps(steps ?? []).length, [steps]);
|
|
35432
35489
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35433
|
-
|
|
35490
|
+
chunkK6T255ST_cjs.AgentBar,
|
|
35434
35491
|
{
|
|
35435
35492
|
className,
|
|
35436
35493
|
testId,
|
|
@@ -35486,7 +35543,7 @@ function AgentControlBar({
|
|
|
35486
35543
|
const isPaused = controlState === "paused" || controlState === "resuming";
|
|
35487
35544
|
const steps = agentSteps ?? [];
|
|
35488
35545
|
const currentStep = browser.getCurrentStep(steps);
|
|
35489
|
-
const currentPresentation =
|
|
35546
|
+
const currentPresentation = chunkK6T255ST_cjs.getCurrentAgentStepPresentation(steps);
|
|
35490
35547
|
const CurrentStepIcon = currentPresentation?.Icon;
|
|
35491
35548
|
const stepLabel2 = currentPresentation?.description ?? "Agent working\u2026";
|
|
35492
35549
|
const runningLanes = browser.extractSubagentLanes(steps).filter((l) => l.status === "running");
|
|
@@ -35503,7 +35560,7 @@ function AgentControlBar({
|
|
|
35503
35560
|
}
|
|
35504
35561
|
);
|
|
35505
35562
|
const status = /* @__PURE__ */ jsxRuntime.jsx(
|
|
35506
|
-
|
|
35563
|
+
chunkK6T255ST_cjs.AgentBarStatus,
|
|
35507
35564
|
{
|
|
35508
35565
|
state: showState ? controlState : void 0,
|
|
35509
35566
|
stateLabel: STATE_LABEL[controlState],
|
|
@@ -35545,7 +35602,7 @@ function AgentControlBar({
|
|
|
35545
35602
|
];
|
|
35546
35603
|
const controls = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
35547
35604
|
onStop && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35548
|
-
|
|
35605
|
+
chunkK6T255ST_cjs.AgentBarIconButton,
|
|
35549
35606
|
{
|
|
35550
35607
|
onClick: onStop,
|
|
35551
35608
|
title: "Stop",
|
|
@@ -35554,22 +35611,22 @@ function AgentControlBar({
|
|
|
35554
35611
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3 w-3", fill: "currentColor" })
|
|
35555
35612
|
}
|
|
35556
35613
|
),
|
|
35557
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35614
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.AgentBarMenu, { items: menuItems })
|
|
35558
35615
|
] });
|
|
35559
35616
|
const displayedQueuedMessages = (transientQueuedMessages ?? []).filter(
|
|
35560
35617
|
(message) => !message.serverId || !queuedMessages.some((queued) => queued.external_id === message.serverId)
|
|
35561
35618
|
);
|
|
35562
35619
|
const queuedNotes = displayedQueuedMessages.filter((message) => message.content);
|
|
35563
|
-
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
35620
|
+
const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkK6T255ST_cjs.AgentBarNotes, { children: [
|
|
35564
35621
|
queuedNotes.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
35565
|
-
|
|
35622
|
+
chunkK6T255ST_cjs.AgentBarQueuedNote,
|
|
35566
35623
|
{
|
|
35567
35624
|
text: message.content ?? "",
|
|
35568
35625
|
isAcknowledged: message.acknowledged
|
|
35569
35626
|
},
|
|
35570
35627
|
index
|
|
35571
35628
|
)),
|
|
35572
|
-
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(
|
|
35629
|
+
probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
|
|
35573
35630
|
] }) : null;
|
|
35574
35631
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35575
35632
|
AgentBarShell,
|
|
@@ -35626,7 +35683,7 @@ function RunningSubagentsRoster({
|
|
|
35626
35683
|
if (leafId) selectThread(leafId);
|
|
35627
35684
|
};
|
|
35628
35685
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35629
|
-
|
|
35686
|
+
chunkK6T255ST_cjs.SubagentRoster,
|
|
35630
35687
|
{
|
|
35631
35688
|
lanes: rosterLanes,
|
|
35632
35689
|
className,
|
|
@@ -35898,7 +35955,7 @@ var SourceChips = ({ messageId, citations, citationData }) => {
|
|
|
35898
35955
|
session.setActiveCitationKey(`${messageId}-${num}`);
|
|
35899
35956
|
if (source.chunk.metadata.chunk_ext_id) openChunk(source.chunk);
|
|
35900
35957
|
};
|
|
35901
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35958
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkW3AYIOK2_cjs.MessageSources, { messageId, sources, onOpenSource: open });
|
|
35902
35959
|
};
|
|
35903
35960
|
function MessageDetailsModal({
|
|
35904
35961
|
open,
|
|
@@ -36094,7 +36151,7 @@ var ConversationComposerComponent = function ConversationComposer({
|
|
|
36094
36151
|
() => react.buildMentionCandidates(users ?? [], currentUserId),
|
|
36095
36152
|
[users, currentUserId]
|
|
36096
36153
|
);
|
|
36097
|
-
const mention =
|
|
36154
|
+
const mention = chunkJWYWP5EE_cjs.useMentionAutocomplete({
|
|
36098
36155
|
value: newMessage,
|
|
36099
36156
|
onValueChange: setNewMessage,
|
|
36100
36157
|
candidates: mentionCandidates,
|
|
@@ -36141,13 +36198,13 @@ var ConversationComposerComponent = function ConversationComposer({
|
|
|
36141
36198
|
if (recipient.hasBody) sendDraft();
|
|
36142
36199
|
};
|
|
36143
36200
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
36144
|
-
|
|
36201
|
+
chunkW3AYIOK2_cjs.Composer.Root,
|
|
36145
36202
|
{
|
|
36146
36203
|
onSubmit: handleSubmit,
|
|
36147
36204
|
formRef,
|
|
36148
36205
|
isBranching,
|
|
36149
|
-
notice: isBranching ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
36150
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
36206
|
+
notice: isBranching ? /* @__PURE__ */ jsxRuntime.jsx(chunkW3AYIOK2_cjs.Composer.Notice, { onCancel: onCancelBranching }) : void 0,
|
|
36207
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkW3AYIOK2_cjs.Composer.Frame, { children: [
|
|
36151
36208
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36152
36209
|
chunkQK3SHV3F_cjs.SlashMenu,
|
|
36153
36210
|
{
|
|
@@ -36209,7 +36266,7 @@ var ConversationComposerComponent = function ConversationComposer({
|
|
|
36209
36266
|
)
|
|
36210
36267
|
] }),
|
|
36211
36268
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36212
|
-
|
|
36269
|
+
chunkW3AYIOK2_cjs.Composer.Input,
|
|
36213
36270
|
{
|
|
36214
36271
|
value: newMessage,
|
|
36215
36272
|
onValueChange: (next) => {
|
|
@@ -36233,7 +36290,7 @@ var ConversationComposerComponent = function ConversationComposer({
|
|
|
36233
36290
|
}
|
|
36234
36291
|
),
|
|
36235
36292
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36236
|
-
|
|
36293
|
+
chunkW3AYIOK2_cjs.Composer.Toolbar,
|
|
36237
36294
|
{
|
|
36238
36295
|
leading: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
36239
36296
|
leftButton,
|
|
@@ -36271,7 +36328,7 @@ var ConversationSendButton = React9.memo(function ConversationSendButton2({
|
|
|
36271
36328
|
const draftMessage = react.useArbiSessionState(react.selectDraft);
|
|
36272
36329
|
const showRetryIcon = hasOrphanedMessage && draftMessage === "";
|
|
36273
36330
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
36274
|
-
|
|
36331
|
+
chunkW3AYIOK2_cjs.ComposerSend,
|
|
36275
36332
|
{
|
|
36276
36333
|
onSend: onClick,
|
|
36277
36334
|
isRetry: showRetryIcon,
|
|
@@ -36333,7 +36390,7 @@ var MicButton = React9.memo(function MicButton2({
|
|
|
36333
36390
|
const isBusy = isTranscribing;
|
|
36334
36391
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
36335
36392
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36336
|
-
|
|
36393
|
+
chunkW3AYIOK2_cjs.ComposerVoiceButton,
|
|
36337
36394
|
{
|
|
36338
36395
|
isRecording,
|
|
36339
36396
|
isBusy,
|
|
@@ -36368,21 +36425,21 @@ function WorkflowStepMessage({
|
|
|
36368
36425
|
const { conversations } = react.useConversationItems();
|
|
36369
36426
|
const activity = react.useConversationActivity(conversationId ?? void 0, { live: true });
|
|
36370
36427
|
const plan = conversations.find((c) => c.external_id === conversationId)?.plan;
|
|
36371
|
-
const steps =
|
|
36428
|
+
const steps = chunkK6T255ST_cjs.fromPlanSteps(plan?.steps ?? []);
|
|
36372
36429
|
const found = steps.find((s) => s.id === step);
|
|
36373
|
-
const states =
|
|
36430
|
+
const states = chunkJWYWP5EE_cjs.stepStatesFromActivity(activity.data ?? []);
|
|
36374
36431
|
const { data: documents = [] } = react.useDocuments();
|
|
36375
36432
|
const { openDocument } = chunkI72IYIO2_cjs.useBlocksEnvironment();
|
|
36376
|
-
const ref = found ?
|
|
36377
|
-
const docId = ref ?
|
|
36433
|
+
const ref = found ? chunkJWYWP5EE_cjs.stepDocuments(steps, states, step).at(-1) : void 0;
|
|
36434
|
+
const docId = ref ? chunkJWYWP5EE_cjs.splitDocRef(ref).id : void 0;
|
|
36378
36435
|
const doc = documents.find((d) => d.external_id === docId);
|
|
36379
36436
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
36380
|
-
|
|
36437
|
+
chunkW3AYIOK2_cjs.WorkflowStepChip,
|
|
36381
36438
|
{
|
|
36382
36439
|
step,
|
|
36383
36440
|
title: found?.title,
|
|
36384
|
-
kind: found ?
|
|
36385
|
-
phase: found && activity.data ?
|
|
36441
|
+
kind: found ? chunkJWYWP5EE_cjs.stepKindOf(found) : void 0,
|
|
36442
|
+
phase: found && activity.data ? chunkJWYWP5EE_cjs.stepPhase(steps, states, step) : void 0,
|
|
36386
36443
|
document: docId ? {
|
|
36387
36444
|
name: doc ? ui.getDocumentTitle(doc) : docId,
|
|
36388
36445
|
onOpen: () => {
|
|
@@ -36540,7 +36597,7 @@ var MessageComponent = ({
|
|
|
36540
36597
|
const isQueuedAnswer = !isUser && message.status === "queued" && !isGenerating;
|
|
36541
36598
|
const isAwaitingAnswer = (isGenerating || isRunningOnServer) && !isStopped && !!message.pendingUserInput;
|
|
36542
36599
|
const showWorkingIndicator = (isGenerating || isRunningOnServer) && !isQueuedAnswer && !responseContent.trim() && !linkedArtifact && !isAwaitingAnswer;
|
|
36543
|
-
const workingStepLabel = showWorkingIndicator ?
|
|
36600
|
+
const workingStepLabel = showWorkingIndicator ? chunkK6T255ST_cjs.getCurrentAgentStepPresentation(message.agentSteps ?? [])?.description : void 0;
|
|
36544
36601
|
const workingStepStart = showWorkingIndicator ? browser.getCurrentStep(message.agentSteps ?? [])?.t ?? 0 : 0;
|
|
36545
36602
|
const showEmptyAnswer = !isUser && !isGenerating && !isRunningOnServer && !isFailed && !isStopped && !responseContent.trim() && !linkedArtifact;
|
|
36546
36603
|
const isEmptyStopped = isStopped && !responseContent.trim();
|
|
@@ -36769,7 +36826,7 @@ var MessageComponent = ({
|
|
|
36769
36826
|
const actions = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
36770
36827
|
branchControl,
|
|
36771
36828
|
isUser ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
36772
|
-
|
|
36829
|
+
chunkW3AYIOK2_cjs.MessageActionMenu,
|
|
36773
36830
|
{
|
|
36774
36831
|
items: menuItems,
|
|
36775
36832
|
heading: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -36780,7 +36837,7 @@ var MessageComponent = ({
|
|
|
36780
36837
|
}
|
|
36781
36838
|
) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
36782
36839
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36783
|
-
|
|
36840
|
+
chunkW3AYIOK2_cjs.MessageActionButton,
|
|
36784
36841
|
{
|
|
36785
36842
|
onClick: (e) => {
|
|
36786
36843
|
e.stopPropagation();
|
|
@@ -36795,7 +36852,7 @@ var MessageComponent = ({
|
|
|
36795
36852
|
}
|
|
36796
36853
|
),
|
|
36797
36854
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36798
|
-
|
|
36855
|
+
chunkW3AYIOK2_cjs.MessageActionButton,
|
|
36799
36856
|
{
|
|
36800
36857
|
onClick: (e) => {
|
|
36801
36858
|
e.stopPropagation();
|
|
@@ -36808,7 +36865,7 @@ var MessageComponent = ({
|
|
|
36808
36865
|
}
|
|
36809
36866
|
),
|
|
36810
36867
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36811
|
-
|
|
36868
|
+
chunkW3AYIOK2_cjs.MessageActionMenu,
|
|
36812
36869
|
{
|
|
36813
36870
|
items: menuItems,
|
|
36814
36871
|
heading: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -36826,7 +36883,7 @@ var MessageComponent = ({
|
|
|
36826
36883
|
] });
|
|
36827
36884
|
const isBareStopped = isEmptyStopped && visibleStepCount === 0;
|
|
36828
36885
|
const footer = settledForHeader && !isBareStopped && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36829
|
-
|
|
36886
|
+
chunkW3AYIOK2_cjs.MessageFooter,
|
|
36830
36887
|
{
|
|
36831
36888
|
role: messageRole,
|
|
36832
36889
|
align: isOtherPerson ? "start" : "end",
|
|
@@ -36844,7 +36901,7 @@ var MessageComponent = ({
|
|
|
36844
36901
|
},
|
|
36845
36902
|
"data-testid": `message-model-${messageId}`,
|
|
36846
36903
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
36847
|
-
|
|
36904
|
+
chunkK6T255ST_cjs.AssistantEntity,
|
|
36848
36905
|
{
|
|
36849
36906
|
name: modelDisplayName,
|
|
36850
36907
|
modelName,
|
|
@@ -36924,7 +36981,7 @@ var MessageComponent = ({
|
|
|
36924
36981
|
);
|
|
36925
36982
|
}
|
|
36926
36983
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkTM2D4XT4_cjs.ErrorBoundary, { testId: "message-error-boundary", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
36927
|
-
|
|
36984
|
+
chunkW3AYIOK2_cjs.MessageRoot,
|
|
36928
36985
|
{
|
|
36929
36986
|
role: messageRole,
|
|
36930
36987
|
messageId,
|
|
@@ -36932,15 +36989,15 @@ var MessageComponent = ({
|
|
|
36932
36989
|
...rest,
|
|
36933
36990
|
children: [
|
|
36934
36991
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
36935
|
-
|
|
36992
|
+
chunkW3AYIOK2_cjs.MessageContent,
|
|
36936
36993
|
{
|
|
36937
36994
|
role: messageRole,
|
|
36938
36995
|
messageId,
|
|
36939
36996
|
align: isOtherPerson ? "start" : "end",
|
|
36940
36997
|
children: [
|
|
36941
|
-
startsAuthorRun && messageAuthorUser && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36998
|
+
startsAuthorRun && messageAuthorUser && /* @__PURE__ */ jsxRuntime.jsx(chunkW3AYIOK2_cjs.MessageAuthor, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkS7B5E3RU_cjs.DocumentUser, { user: messageAuthorUser, variant: "pill" }) }),
|
|
36942
36999
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
36943
|
-
|
|
37000
|
+
chunkW3AYIOK2_cjs.MessageBubble,
|
|
36944
37001
|
{
|
|
36945
37002
|
ref: messageRef,
|
|
36946
37003
|
role: messageRole,
|
|
@@ -36950,14 +37007,14 @@ var MessageComponent = ({
|
|
|
36950
37007
|
className: isOtherPerson ? "border border-border bg-card" : void 0,
|
|
36951
37008
|
children: [
|
|
36952
37009
|
!isUser && isGenerating && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36953
|
-
|
|
37010
|
+
chunkW3AYIOK2_cjs.MessageByline,
|
|
36954
37011
|
{
|
|
36955
37012
|
messageId,
|
|
36956
37013
|
identity: (
|
|
36957
37014
|
// Stays the ARBI identity while streaming: the model name arrives
|
|
36958
37015
|
// with the first step that reports one and would swap the author
|
|
36959
37016
|
// mid-answer. The model is shown in the footer once settled.
|
|
36960
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
37017
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.AssistantEntity, { size: 16, pillSize: "sm" })
|
|
36961
37018
|
),
|
|
36962
37019
|
timeLabel,
|
|
36963
37020
|
isSettled: settledForHeader,
|
|
@@ -36965,9 +37022,9 @@ var MessageComponent = ({
|
|
|
36965
37022
|
statusLabel
|
|
36966
37023
|
}
|
|
36967
37024
|
),
|
|
36968
|
-
subagentTaskRecord && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36969
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
36970
|
-
settledNarration ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
37025
|
+
subagentTaskRecord && /* @__PURE__ */ jsxRuntime.jsx(chunkW3AYIOK2_cjs.MessageSubagentBadge, { messageId }),
|
|
37026
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkW3AYIOK2_cjs.MessageBody, { messageId, children: [
|
|
37027
|
+
settledNarration ? /* @__PURE__ */ jsxRuntime.jsx(chunkW3AYIOK2_cjs.MessageNarration, { messageId, children: /* @__PURE__ */ jsxRuntime.jsx(chunkBB4PMCU6_cjs.ConnectedMarkdown, { isStreaming: false, children: settledNarration }) }) : null,
|
|
36971
37028
|
liveContent ? role === "assistant" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
36972
37029
|
ConnectedCitationRenderer,
|
|
36973
37030
|
{
|
|
@@ -37310,7 +37367,7 @@ function ConnectedMessageList({ messages }) {
|
|
|
37310
37367
|
const isGenerating = react.useArbiSessionState((state) => state.generating[currentConversationId || ""]?.isGenerating) ?? false;
|
|
37311
37368
|
const isLiveTurn = isGenerating && messages[messages.length - 1]?.isLoading === true;
|
|
37312
37369
|
const lastMessage = displayMessages[displayMessages.length - 1];
|
|
37313
|
-
const statusMessage =
|
|
37370
|
+
const statusMessage = chunkW3AYIOK2_cjs.useStreamAnnouncement({
|
|
37314
37371
|
isStreaming: isGenerating,
|
|
37315
37372
|
text: lastMessage?.role === "assistant" ? stripThinking(lastMessage.content ?? "") : "",
|
|
37316
37373
|
resetKey: currentConversationId
|
|
@@ -37400,29 +37457,29 @@ function ConnectedMessageList({ messages }) {
|
|
|
37400
37457
|
chunkQK3SHV3F_cjs.flashMessage(target);
|
|
37401
37458
|
session.setDeepLinkMessageId(null);
|
|
37402
37459
|
}, [deepLinkMessageId, virtualItems, session]);
|
|
37403
|
-
const status = /* @__PURE__ */ jsxRuntime.jsx(
|
|
37460
|
+
const status = /* @__PURE__ */ jsxRuntime.jsx(chunkW3AYIOK2_cjs.MessageList.Status, { message: statusMessage });
|
|
37404
37461
|
if (transcript.length === 0) {
|
|
37405
37462
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
37406
37463
|
status,
|
|
37407
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
37464
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkW3AYIOK2_cjs.MessageList.Empty, {})
|
|
37408
37465
|
] });
|
|
37409
37466
|
}
|
|
37410
37467
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
37411
37468
|
status,
|
|
37412
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
37413
|
-
mainSiblingLeaf && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37414
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
37469
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkW3AYIOK2_cjs.MessageList.Root, { isBusy: isGenerating, children: [
|
|
37470
|
+
mainSiblingLeaf && /* @__PURE__ */ jsxRuntime.jsx(chunkW3AYIOK2_cjs.MessageList.Banner, { onBack: () => setParentMessageId(mainSiblingLeaf) }),
|
|
37471
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkW3AYIOK2_cjs.MessageList.Rows, { totalSize: rowVirtualizer.getTotalSize(), children: virtualItems.map((virtualItem) => {
|
|
37415
37472
|
const entry = transcript[virtualItem.index];
|
|
37416
37473
|
if (entry.type === "activity") {
|
|
37417
37474
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
37418
|
-
|
|
37475
|
+
chunkW3AYIOK2_cjs.MessageList.Row,
|
|
37419
37476
|
{
|
|
37420
37477
|
ref: rowVirtualizer.measureElement,
|
|
37421
37478
|
index: virtualItem.index,
|
|
37422
37479
|
start: virtualItem.start,
|
|
37423
37480
|
messageId: entry.id,
|
|
37424
37481
|
setSize: transcript.length,
|
|
37425
|
-
children: entry.item.card ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
37482
|
+
children: entry.item.card ?? /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ThreadActivity, { item: entry.item, children: entry.item.onOpenDocument && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37426
37483
|
"button",
|
|
37427
37484
|
{
|
|
37428
37485
|
className: "mt-1 hover:underline text-primary",
|
|
@@ -37438,7 +37495,7 @@ function ConnectedMessageList({ messages }) {
|
|
|
37438
37495
|
const messageId = message.external_id;
|
|
37439
37496
|
const branchPoint = messageId ? getBranchControlForMessage(messageId) : null;
|
|
37440
37497
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
37441
|
-
|
|
37498
|
+
chunkW3AYIOK2_cjs.MessageList.Row,
|
|
37442
37499
|
{
|
|
37443
37500
|
ref: rowVirtualizer.measureElement,
|
|
37444
37501
|
index: virtualItem.index,
|
|
@@ -37469,7 +37526,7 @@ function ConnectedMessageList({ messages }) {
|
|
|
37469
37526
|
message.external_id ?? `msg-${virtualItem.index}`
|
|
37470
37527
|
);
|
|
37471
37528
|
}) }),
|
|
37472
|
-
isLiveTurn ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4", "aria-hidden": "true" }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
37529
|
+
isLiveTurn ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4", "aria-hidden": "true" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkW3AYIOK2_cjs.MessageList.Tail, {})
|
|
37473
37530
|
] }),
|
|
37474
37531
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedThreadsPreview, { open: previewOpen, onOpenChange: setPreviewOpen })
|
|
37475
37532
|
] });
|
|
@@ -37821,7 +37878,7 @@ function ConnectedThreadsPage({
|
|
|
37821
37878
|
"data-testid": mode === "tasks" ? "tasks-page" : "threads-page",
|
|
37822
37879
|
children: [
|
|
37823
37880
|
/* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-0 flex-1 flex-col bg-background", children: mode === "threads" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
37824
|
-
|
|
37881
|
+
chunkK6T255ST_cjs.ConversationListView,
|
|
37825
37882
|
{
|
|
37826
37883
|
showHeader,
|
|
37827
37884
|
conversations: tasks,
|
|
@@ -37841,7 +37898,7 @@ function ConnectedThreadsPage({
|
|
|
37841
37898
|
renderLabels: threadLabels.renderLabels,
|
|
37842
37899
|
labelText: threadLabels.labelText,
|
|
37843
37900
|
renderBy: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
37844
|
-
|
|
37901
|
+
chunkK6T255ST_cjs.ConversationTurnSpeaker,
|
|
37845
37902
|
{
|
|
37846
37903
|
variant: "icon",
|
|
37847
37904
|
role: row2.last_message_role,
|
|
@@ -37863,7 +37920,7 @@ function ConnectedThreadsPage({
|
|
|
37863
37920
|
footer: /* @__PURE__ */ jsxRuntime.jsx(ConnectedThreadLauncher, { autoFocus: focusLauncher })
|
|
37864
37921
|
}
|
|
37865
37922
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
37866
|
-
|
|
37923
|
+
chunkK6T255ST_cjs.TaskInbox,
|
|
37867
37924
|
{
|
|
37868
37925
|
tasks,
|
|
37869
37926
|
isLoading,
|
|
@@ -38143,7 +38200,7 @@ function ConnectedConversationPage({
|
|
|
38143
38200
|
}
|
|
38144
38201
|
);
|
|
38145
38202
|
const { data: workspaceTags = [] } = react.useTags();
|
|
38146
|
-
const historyCount =
|
|
38203
|
+
const historyCount = chunkK6T255ST_cjs.filterConversationRows(
|
|
38147
38204
|
conversations,
|
|
38148
38205
|
threadFilter,
|
|
38149
38206
|
(row2) => workspaceTags.filter((tag) => row2.label_ext_ids?.includes(tag.external_id)).map((tag) => tag.name).join(" "),
|
|
@@ -38259,7 +38316,7 @@ function ConnectedConversationEmpty({
|
|
|
38259
38316
|
below
|
|
38260
38317
|
}) {
|
|
38261
38318
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
38262
|
-
|
|
38319
|
+
chunkW3AYIOK2_cjs.ConversationEmpty,
|
|
38263
38320
|
{
|
|
38264
38321
|
hasDocuments,
|
|
38265
38322
|
prompts: EXAMPLE_PROMPTS,
|
|
@@ -38321,7 +38378,7 @@ function ConversationAlert({
|
|
|
38321
38378
|
}, [message, onRetryOrphaned, notify18]);
|
|
38322
38379
|
if (type === "send-failed") {
|
|
38323
38380
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
38324
|
-
|
|
38381
|
+
chunkW3AYIOK2_cjs.MessageAlert,
|
|
38325
38382
|
{
|
|
38326
38383
|
title: "Message failed to send",
|
|
38327
38384
|
description: errorMessage2 || "An error occurred while sending your message.",
|
|
@@ -38350,7 +38407,7 @@ function ConversationAlert({
|
|
|
38350
38407
|
);
|
|
38351
38408
|
}
|
|
38352
38409
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
38353
|
-
|
|
38410
|
+
chunkW3AYIOK2_cjs.MessageAlert,
|
|
38354
38411
|
{
|
|
38355
38412
|
title: type === "backend-failed" ? "Response Failed" : "Response Incomplete",
|
|
38356
38413
|
description: type === "backend-failed" ? "The assistant's response failed. Use Retry to try again." : "Use Retry to try again, or type a new query.",
|
|
@@ -39074,7 +39131,7 @@ function ConversationThread({
|
|
|
39074
39131
|
}, [isGenerating]);
|
|
39075
39132
|
const slashWorkflows = useSlashSkillWorkflows({ landing: "current-chat" });
|
|
39076
39133
|
const composerSkills = React9.useMemo(
|
|
39077
|
-
() => ({ builtin:
|
|
39134
|
+
() => ({ builtin: chunkK6T255ST_cjs.BUILTIN_SKILLS, openFor: slashWorkflows.openFor }),
|
|
39078
39135
|
[slashWorkflows.openFor]
|
|
39079
39136
|
);
|
|
39080
39137
|
const browseSkills = React9.useMemo(
|
|
@@ -39149,7 +39206,7 @@ function ConversationThread({
|
|
|
39149
39206
|
/* @__PURE__ */ jsxRuntime.jsx(chunkPFJSYJ34_cjs.CallConversationEmpty, { callExtId: meetingCallExtId }),
|
|
39150
39207
|
/* @__PURE__ */ jsxRuntime.jsx(chunkPFJSYJ34_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
|
|
39151
39208
|
] })
|
|
39152
|
-
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
39209
|
+
) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
39153
39210
|
ConnectedConversationEmpty,
|
|
39154
39211
|
{
|
|
39155
39212
|
hasDocuments: allWorkspaceDocuments.length > 0,
|
|
@@ -39164,17 +39221,17 @@ function ConversationThread({
|
|
|
39164
39221
|
}
|
|
39165
39222
|
) }),
|
|
39166
39223
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39167
|
-
|
|
39224
|
+
chunkW3AYIOK2_cjs.ComposerDock,
|
|
39168
39225
|
{
|
|
39169
39226
|
floating: /* @__PURE__ */ jsxRuntime.jsx(
|
|
39170
|
-
|
|
39227
|
+
chunkW3AYIOK2_cjs.ScrollToBottom,
|
|
39171
39228
|
{
|
|
39172
39229
|
className: "left-auto right-3 translate-x-0",
|
|
39173
39230
|
show: showScrollToBottom,
|
|
39174
39231
|
onClick: scrollToBottom
|
|
39175
39232
|
}
|
|
39176
39233
|
),
|
|
39177
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
39234
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkW3AYIOK2_cjs.ComposerContainer, { className: "mx-auto max-w-[49rem] px-3 sm:px-6", children: [
|
|
39178
39235
|
orphanedMessage ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
39179
39236
|
ConversationAlert,
|
|
39180
39237
|
{
|
|
@@ -39315,7 +39372,7 @@ function ConnectedCompactConversation() {
|
|
|
39315
39372
|
const currentConversationId = react.useArbiSessionState((state) => state.conversationId);
|
|
39316
39373
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col flex-1 min-h-0", "data-testid": "embedded-chat", children: [
|
|
39317
39374
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex-1 min-h-0", children: messageHistory.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(ConnectedMessageArea, { ref: containerRef, messages: messageHistory }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-full text-muted-foreground text-sm p-4", children: currentConversationId ? "Loading messages..." : "Start a conversation by typing below." }) }),
|
|
39318
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky bottom-0 w-full bg-background border-t z-10", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
39375
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky bottom-0 w-full bg-background border-t z-10", children: /* @__PURE__ */ jsxRuntime.jsx(chunkW3AYIOK2_cjs.ComposerContainer, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
39319
39376
|
ConversationComposer2,
|
|
39320
39377
|
{
|
|
39321
39378
|
handleSendMessage,
|
|
@@ -39469,7 +39526,7 @@ function AgentChat({ agentId, workspaceId, onOpenFull }) {
|
|
|
39469
39526
|
/* @__PURE__ */ jsxRuntime.jsx("ol", { className: "mt-2 space-y-1", children: activity.map((name, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "whitespace-pre-wrap break-all", children: name }) }, i)) })
|
|
39470
39527
|
] }),
|
|
39471
39528
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39472
|
-
|
|
39529
|
+
chunkW3AYIOK2_cjs.ChatPage,
|
|
39473
39530
|
{
|
|
39474
39531
|
chat: { ...chat, assistantMode: void 0, setAssistantMode: void 0 },
|
|
39475
39532
|
surface: "dock",
|
|
@@ -41036,7 +41093,7 @@ function SsoResendVerificationButton({
|
|
|
41036
41093
|
onClick: async () => handleResendEmailVerification(),
|
|
41037
41094
|
disabled: loading || disabled,
|
|
41038
41095
|
"aria-label": "Resend verification email",
|
|
41039
|
-
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
41096
|
+
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunk2QV2SCEB_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
41040
41097
|
"Didn't get a verification email? ",
|
|
41041
41098
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: "Resend" })
|
|
41042
41099
|
] })
|
|
@@ -41930,27 +41987,27 @@ function ConnectedOAuthConsentPage({
|
|
|
41930
41987
|
oauthErrorRedirect(params.redirectUri, params.state, "access_denied");
|
|
41931
41988
|
}
|
|
41932
41989
|
if (error && !params) {
|
|
41933
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41990
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
|
|
41934
41991
|
}
|
|
41935
41992
|
if (!params) {
|
|
41936
41993
|
return null;
|
|
41937
41994
|
}
|
|
41938
41995
|
if (clientInfo?.isLocalAgentFlow) {
|
|
41939
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41996
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_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." }) });
|
|
41940
41997
|
}
|
|
41941
41998
|
if (!isAuthenticated2) {
|
|
41942
41999
|
return null;
|
|
41943
42000
|
}
|
|
41944
42001
|
if (callbackUrl) {
|
|
41945
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41946
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
42002
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkK6T255ST_cjs.ConsentCard, { size: "md", children: [
|
|
42003
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkK6T255ST_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
|
|
41947
42004
|
"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",
|
|
41948
42005
|
" ",
|
|
41949
42006
|
copied ? "it's already copied to your clipboard." : "copy it first."
|
|
41950
42007
|
] }),
|
|
41951
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
41952
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41953
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
42008
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkK6T255ST_cjs.ConsentSection, { title: "Callback URL", children: [
|
|
42009
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
|
|
42010
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkK6T255ST_cjs.ConsentText, { variant: "hint", children: [
|
|
41954
42011
|
"In Claude Code, paste the URL at the prompt that says",
|
|
41955
42012
|
" ",
|
|
41956
42013
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-foreground", children: '"paste the full redirect URL here"' }),
|
|
@@ -41959,17 +42016,17 @@ function ConnectedOAuthConsentPage({
|
|
|
41959
42016
|
] })
|
|
41960
42017
|
] }) });
|
|
41961
42018
|
}
|
|
41962
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41963
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
41964
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
42019
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkK6T255ST_cjs.ConsentCard, { children: [
|
|
42020
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkK6T255ST_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
|
|
42021
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
|
|
41965
42022
|
" is requesting access to your ",
|
|
41966
42023
|
appName,
|
|
41967
42024
|
" workspace."
|
|
41968
42025
|
] }),
|
|
41969
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41970
|
-
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
41971
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41972
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
42026
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentPermissionList, { items: permissions }) }),
|
|
42027
|
+
error && /* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentNotice, { tone: "error", children: error }),
|
|
42028
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
|
|
42029
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkK6T255ST_cjs.ConsentFootnote, { children: footnote })
|
|
41973
42030
|
] }) });
|
|
41974
42031
|
}
|
|
41975
42032
|
function ConnectedSharedFilesPage({
|
|
@@ -42265,10 +42322,10 @@ function useContextualHints() {
|
|
|
42265
42322
|
const session = react.useArbiSessionStore();
|
|
42266
42323
|
const { data: userSettings } = react.useUserSettings();
|
|
42267
42324
|
const updateUserSettings = react.useUpdateUserSettings();
|
|
42268
|
-
const [sessionOverride] = react.useTransientView(
|
|
42269
|
-
const setShowHints = (value) =>
|
|
42325
|
+
const [sessionOverride] = react.useTransientView(chunk2QV2SCEB_cjs.TIPS_VISIBILITY_OVERRIDE, null);
|
|
42326
|
+
const setShowHints = (value) => chunk2QV2SCEB_cjs.setHintsSessionOverride(session, value);
|
|
42270
42327
|
const setShowHintsPersisted = (value) => {
|
|
42271
|
-
|
|
42328
|
+
chunk2QV2SCEB_cjs.setHintsSessionOverride(session, null);
|
|
42272
42329
|
updateUserSettings.mutate({ show_hints: value });
|
|
42273
42330
|
};
|
|
42274
42331
|
return {
|
|
@@ -42451,35 +42508,35 @@ Object.defineProperty(exports, "useResolvedDocStatus", {
|
|
|
42451
42508
|
});
|
|
42452
42509
|
Object.defineProperty(exports, "ConnectedAssistantDock", {
|
|
42453
42510
|
enumerable: true,
|
|
42454
|
-
get: function () { return
|
|
42511
|
+
get: function () { return chunkKYOVVXAS_cjs.ConnectedAssistantDock; }
|
|
42455
42512
|
});
|
|
42456
42513
|
Object.defineProperty(exports, "redlineStats", {
|
|
42457
42514
|
enumerable: true,
|
|
42458
|
-
get: function () { return
|
|
42515
|
+
get: function () { return chunkKYOVVXAS_cjs.redlineStats; }
|
|
42459
42516
|
});
|
|
42460
42517
|
Object.defineProperty(exports, "textToArtifact", {
|
|
42461
42518
|
enumerable: true,
|
|
42462
|
-
get: function () { return
|
|
42519
|
+
get: function () { return chunkKYOVVXAS_cjs.textToArtifact; }
|
|
42463
42520
|
});
|
|
42464
42521
|
Object.defineProperty(exports, "toRedlineMarkdown", {
|
|
42465
42522
|
enumerable: true,
|
|
42466
|
-
get: function () { return
|
|
42523
|
+
get: function () { return chunkKYOVVXAS_cjs.toRedlineMarkdown; }
|
|
42467
42524
|
});
|
|
42468
42525
|
Object.defineProperty(exports, "useConnectedAiTask", {
|
|
42469
42526
|
enumerable: true,
|
|
42470
|
-
get: function () { return
|
|
42527
|
+
get: function () { return chunkKYOVVXAS_cjs.useConnectedAiTask; }
|
|
42471
42528
|
});
|
|
42472
42529
|
Object.defineProperty(exports, "useConnectedChat", {
|
|
42473
42530
|
enumerable: true,
|
|
42474
|
-
get: function () { return
|
|
42531
|
+
get: function () { return chunkKYOVVXAS_cjs.useConnectedChat; }
|
|
42475
42532
|
});
|
|
42476
42533
|
Object.defineProperty(exports, "useSemanticSearch", {
|
|
42477
42534
|
enumerable: true,
|
|
42478
|
-
get: function () { return
|
|
42535
|
+
get: function () { return chunkKYOVVXAS_cjs.useSemanticSearch; }
|
|
42479
42536
|
});
|
|
42480
42537
|
Object.defineProperty(exports, "useWorkspaceDocs", {
|
|
42481
42538
|
enumerable: true,
|
|
42482
|
-
get: function () { return
|
|
42539
|
+
get: function () { return chunkKYOVVXAS_cjs.useWorkspaceDocs; }
|
|
42483
42540
|
});
|
|
42484
42541
|
Object.defineProperty(exports, "ConnectedWorkflowDocumentsField", {
|
|
42485
42542
|
enumerable: true,
|