@arbidocs/blocks 0.4.27 → 0.4.29
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 +17 -0
- package/dist/agents/index.cjs +224 -212
- package/dist/agents/index.js +6 -6
- package/dist/agents/tasks/TaskRowMenu.d.ts +4 -1
- package/dist/agents/tasks/TaskRunsDialog.d.ts +3 -1
- package/dist/agents/tasks/taskRows.d.ts +2 -0
- package/dist/agents/workflows/WorkflowDocumentsField.d.ts +12 -0
- package/dist/agents/workflows/index.d.ts +2 -0
- package/dist/agents/workflows/workspaceScope.d.ts +18 -0
- package/dist/chat/ChatPage.d.ts +1 -1
- package/dist/chat/chat-page-types.d.ts +12 -1
- package/dist/chat/index.cjs +129 -129
- package/dist/chat/index.js +2 -2
- package/dist/chunk-4XJZ6AAY.js +407 -0
- package/dist/chunk-4XJZ6AAY.js.map +1 -0
- package/dist/{chunk-UOLMFC5K.js → chunk-6YVI74BC.js} +498 -108
- package/dist/chunk-6YVI74BC.js.map +1 -0
- package/dist/{chunk-CQ6CYPV4.js → chunk-7FF473XB.js} +7 -119
- package/dist/chunk-7FF473XB.js.map +1 -0
- package/dist/{chunk-ZEIOREJY.js → chunk-EHXSBH6U.js} +37 -6
- package/dist/chunk-EHXSBH6U.js.map +1 -0
- package/dist/chunk-EYPPB5CY.cjs +85 -0
- package/dist/chunk-EYPPB5CY.cjs.map +1 -0
- package/dist/{chunk-ENY6XXKR.js → chunk-I7FJS7WG.js} +155 -39
- package/dist/chunk-I7FJS7WG.js.map +1 -0
- package/dist/{chunk-557EU3G4.js → chunk-JLOYWXRB.js} +3 -3
- package/dist/{chunk-557EU3G4.js.map → chunk-JLOYWXRB.js.map} +1 -1
- package/dist/chunk-KF4EC5XU.js +68 -0
- package/dist/chunk-KF4EC5XU.js.map +1 -0
- package/dist/{chunk-3ZXXHROK.cjs → chunk-L6YRTT5M.cjs} +158 -39
- package/dist/chunk-L6YRTT5M.cjs.map +1 -0
- package/dist/chunk-S5HZBXZA.cjs +430 -0
- package/dist/chunk-S5HZBXZA.cjs.map +1 -0
- package/dist/{chunk-JCVZKCXC.cjs → chunk-TLQQV7WW.cjs} +37 -6
- package/dist/chunk-TLQQV7WW.cjs.map +1 -0
- package/dist/{chunk-NNH7N62N.cjs → chunk-VMCOH3AY.cjs} +497 -105
- package/dist/chunk-VMCOH3AY.cjs.map +1 -0
- package/dist/{chunk-JLPYOPCX.js → chunk-WSJVHSGN.js} +225 -36
- package/dist/chunk-WSJVHSGN.js.map +1 -0
- package/dist/{chunk-DCEI37AX.cjs → chunk-YVIOCITQ.cjs} +3 -3
- package/dist/{chunk-DCEI37AX.cjs.map → chunk-YVIOCITQ.cjs.map} +1 -1
- package/dist/{chunk-J22DXUJY.cjs → chunk-ZHLMDJCO.cjs} +226 -34
- package/dist/chunk-ZHLMDJCO.cjs.map +1 -0
- package/dist/{chunk-TL2DHSC5.cjs → chunk-ZXGBUHES.cjs} +5 -120
- package/dist/chunk-ZXGBUHES.cjs.map +1 -0
- package/dist/connect/docx.cjs +26 -8
- package/dist/connect/docx.cjs.map +1 -1
- package/dist/connect/docx.d.ts +1 -0
- package/dist/connect/docx.js +24 -7
- package/dist/connect/docx.js.map +1 -1
- package/dist/connect/index.cjs +303 -61
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +4 -0
- package/dist/connect/index.js +263 -25
- package/dist/connect/index.js.map +1 -1
- package/dist/connection/ConnectedAgentChatPanel.d.ts +7 -0
- package/dist/connection/ConnectedNativeDocxEditor.d.ts +2 -1
- package/dist/connection/ConnectedSkillUpload.d.ts +2 -0
- package/dist/connection/ConnectedStreamedWordArtifact.d.ts +4 -0
- package/dist/connection/ConnectedTaskAccessRequest.d.ts +4 -0
- package/dist/connection/ai.d.ts +4 -1
- package/dist/connection/useConnectedWorkNotifications.d.ts +21 -0
- package/dist/docx/DocxMentions.d.ts +9 -2
- package/dist/docx/NativeDocxEditor.d.ts +11 -3
- package/dist/docx/StreamedWordArtifact.d.ts +15 -0
- package/dist/docx/index.cjs +16 -8
- package/dist/docx/index.d.ts +3 -2
- package/dist/docx/index.js +2 -2
- package/dist/docx/streamWordDocument.d.ts +12 -0
- package/dist/facts/index.cjs +1 -1
- package/dist/facts/index.js +1 -1
- package/dist/files/index.cjs +3 -3
- package/dist/files/index.js +3 -3
- package/dist/index.cjs +778 -766
- package/dist/index.js +15 -15
- package/dist/settings/index.cjs +42 -232
- package/dist/settings/index.cjs.map +1 -1
- package/dist/settings/index.js +7 -203
- package/dist/settings/index.js.map +1 -1
- package/dist/site/index.cjs +5 -5
- package/dist/site/index.js +1 -1
- package/dist/studio/index.cjs +7 -6
- package/dist/studio/index.cjs.map +1 -1
- package/dist/studio/index.js +5 -4
- package/dist/studio/index.js.map +1 -1
- package/dist/workspaces/index.cjs +2 -2
- package/dist/workspaces/index.js +2 -2
- package/package.json +3 -3
- package/src/docx/styles.css +13 -0
- package/dist/chunk-3ZXXHROK.cjs.map +0 -1
- package/dist/chunk-5TRALRWN.js +0 -42
- package/dist/chunk-5TRALRWN.js.map +0 -1
- package/dist/chunk-CQ6CYPV4.js.map +0 -1
- package/dist/chunk-CQCC7LE7.js +0 -210
- package/dist/chunk-CQCC7LE7.js.map +0 -1
- package/dist/chunk-ENY6XXKR.js.map +0 -1
- package/dist/chunk-EUOGPUMJ.cjs +0 -59
- package/dist/chunk-EUOGPUMJ.cjs.map +0 -1
- package/dist/chunk-J22DXUJY.cjs.map +0 -1
- package/dist/chunk-JCVZKCXC.cjs.map +0 -1
- package/dist/chunk-JLPYOPCX.js.map +0 -1
- package/dist/chunk-NNH7N62N.cjs.map +0 -1
- package/dist/chunk-RFIBUWLF.cjs +0 -232
- package/dist/chunk-RFIBUWLF.cjs.map +0 -1
- package/dist/chunk-TL2DHSC5.cjs.map +0 -1
- package/dist/chunk-UOLMFC5K.js.map +0 -1
- package/dist/chunk-ZEIOREJY.js.map +0 -1
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
var chunkVGOFFCMT_cjs = require('./chunk-VGOFFCMT.cjs');
|
|
5
5
|
var chunkPPCATBOY_cjs = require('./chunk-PPCATBOY.cjs');
|
|
6
6
|
var chunkKDG6FER6_cjs = require('./chunk-KDG6FER6.cjs');
|
|
7
|
+
var chunk7UTB4PHM_cjs = require('./chunk-7UTB4PHM.cjs');
|
|
7
8
|
var chunkMHVNT4J3_cjs = require('./chunk-MHVNT4J3.cjs');
|
|
8
9
|
var react = require('react');
|
|
9
10
|
var lucideReact = require('lucide-react');
|
|
@@ -1052,6 +1053,118 @@ var Composer = {
|
|
|
1052
1053
|
Container: ComposerContainer,
|
|
1053
1054
|
Dock: ComposerDock
|
|
1054
1055
|
};
|
|
1056
|
+
function useMentionAutocomplete({
|
|
1057
|
+
value,
|
|
1058
|
+
onValueChange,
|
|
1059
|
+
candidates,
|
|
1060
|
+
textareaRef
|
|
1061
|
+
}) {
|
|
1062
|
+
const [caret, setCaret] = react.useState(null);
|
|
1063
|
+
const [dismissedAt, setDismissedAt] = react.useState(null);
|
|
1064
|
+
react.useEffect(() => {
|
|
1065
|
+
if (dismissedAt !== null && value[dismissedAt] !== "@") setDismissedAt(null);
|
|
1066
|
+
}, [value, dismissedAt]);
|
|
1067
|
+
const match = react.useMemo(
|
|
1068
|
+
() => caret === null ? null : chunk7UTB4PHM_cjs.findMentionQuery(value, Math.min(caret, value.length)),
|
|
1069
|
+
[value, caret]
|
|
1070
|
+
);
|
|
1071
|
+
const items = react.useMemo(
|
|
1072
|
+
() => match ? chunk7UTB4PHM_cjs.filterMentionCandidates(candidates, match.query) : [],
|
|
1073
|
+
[match, candidates]
|
|
1074
|
+
);
|
|
1075
|
+
const isOpen2 = !!match && items.length > 0 && dismissedAt !== match.start;
|
|
1076
|
+
const readCaret = react.useCallback(() => {
|
|
1077
|
+
const ta = textareaRef.current;
|
|
1078
|
+
setCaret(ta ? ta.selectionStart : null);
|
|
1079
|
+
}, [textareaRef]);
|
|
1080
|
+
const pick = react.useCallback(
|
|
1081
|
+
(candidate) => {
|
|
1082
|
+
if (!match || caret === null) return;
|
|
1083
|
+
const next = chunk7UTB4PHM_cjs.insertMention(value, match.start, Math.min(caret, value.length), candidate.label);
|
|
1084
|
+
onValueChange(next.text);
|
|
1085
|
+
setCaret(next.caret);
|
|
1086
|
+
setDismissedAt(match.start);
|
|
1087
|
+
requestAnimationFrame(() => {
|
|
1088
|
+
const ta = textareaRef.current;
|
|
1089
|
+
if (!ta) return;
|
|
1090
|
+
ta.focus();
|
|
1091
|
+
ta.setSelectionRange(next.caret, next.caret);
|
|
1092
|
+
});
|
|
1093
|
+
},
|
|
1094
|
+
[match, caret, value, onValueChange, textareaRef]
|
|
1095
|
+
);
|
|
1096
|
+
const nav = chunk7UTB4PHM_cjs.useListKeyNav({
|
|
1097
|
+
open: isOpen2,
|
|
1098
|
+
items,
|
|
1099
|
+
onPick: pick,
|
|
1100
|
+
onDismiss: () => setDismissedAt(match?.start ?? null),
|
|
1101
|
+
resetKey: match?.query
|
|
1102
|
+
});
|
|
1103
|
+
const handleValueChange = react.useCallback(
|
|
1104
|
+
(next) => {
|
|
1105
|
+
onValueChange(next);
|
|
1106
|
+
const ta = textareaRef.current;
|
|
1107
|
+
setCaret(ta ? ta.selectionStart : next.length);
|
|
1108
|
+
if (dismissedAt !== null && (next.length < value.length || next[dismissedAt] !== "@")) {
|
|
1109
|
+
setDismissedAt(null);
|
|
1110
|
+
}
|
|
1111
|
+
},
|
|
1112
|
+
[onValueChange, textareaRef, dismissedAt, value]
|
|
1113
|
+
);
|
|
1114
|
+
return {
|
|
1115
|
+
isOpen: isOpen2,
|
|
1116
|
+
items,
|
|
1117
|
+
nav,
|
|
1118
|
+
pick,
|
|
1119
|
+
onValueChange: handleValueChange,
|
|
1120
|
+
textareaProps: { onSelect: readCaret }
|
|
1121
|
+
};
|
|
1122
|
+
}
|
|
1123
|
+
var DEFAULT_ASSISTANT_MODE_TOGGLE_LABELS = {
|
|
1124
|
+
always: "Assistant replies",
|
|
1125
|
+
mentioned: "Thread",
|
|
1126
|
+
alwaysHint: "The assistant answers every message. Click to make this a thread.",
|
|
1127
|
+
mentionedHint: "A thread: messages are comments between people. @mention the assistant to get an answer. Click to have it answer every message."
|
|
1128
|
+
};
|
|
1129
|
+
function AssistantModeToggle({
|
|
1130
|
+
mode,
|
|
1131
|
+
onModeChange,
|
|
1132
|
+
disabled,
|
|
1133
|
+
labels,
|
|
1134
|
+
className,
|
|
1135
|
+
testId
|
|
1136
|
+
}) {
|
|
1137
|
+
const l = { ...DEFAULT_ASSISTANT_MODE_TOGGLE_LABELS, ...labels };
|
|
1138
|
+
const isThread = mode === "mentioned";
|
|
1139
|
+
const hint = isThread ? l.mentionedHint : l.alwaysHint;
|
|
1140
|
+
const Icon = isThread ? lucideReact.MessagesSquare : lucideReact.Bot;
|
|
1141
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
|
|
1142
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1143
|
+
ui.Button,
|
|
1144
|
+
{
|
|
1145
|
+
type: "button",
|
|
1146
|
+
variant: "ghost",
|
|
1147
|
+
size: "sm",
|
|
1148
|
+
disabled,
|
|
1149
|
+
"aria-pressed": isThread,
|
|
1150
|
+
"aria-label": `${isThread ? l.mentioned : l.always}. ${hint}`,
|
|
1151
|
+
onClick: () => onModeChange(isThread ? "always" : "mentioned"),
|
|
1152
|
+
className: ui.cn(
|
|
1153
|
+
"h-8 gap-1.5 px-2 text-xs text-muted-foreground hover:bg-muted pointer-coarse:h-11",
|
|
1154
|
+
isThread && "bg-accent text-accent-foreground",
|
|
1155
|
+
className
|
|
1156
|
+
),
|
|
1157
|
+
"data-mode": mode,
|
|
1158
|
+
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "assistant-mode-toggle" }),
|
|
1159
|
+
children: [
|
|
1160
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-3.5 w-3.5", "aria-hidden": "true" }),
|
|
1161
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: isThread ? l.mentioned : l.always })
|
|
1162
|
+
]
|
|
1163
|
+
}
|
|
1164
|
+
) }),
|
|
1165
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "top", className: "max-w-xs", children: hint })
|
|
1166
|
+
] });
|
|
1167
|
+
}
|
|
1055
1168
|
var DEFAULT_CONVERSATION_EMPTY_LABELS = {
|
|
1056
1169
|
title: "Ask ARBI about your documents",
|
|
1057
1170
|
description: "Ask a question and verify every answer against the source.",
|
|
@@ -1690,16 +1803,19 @@ var LIST_COLUMN_REM = 48;
|
|
|
1690
1803
|
var DEFAULT_ASIDE_BREAKPOINT_REM = 60;
|
|
1691
1804
|
function MessageRow({ message, identity, renderContent, onOpenCitation, labels }) {
|
|
1692
1805
|
if (message.role === "user") {
|
|
1693
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Message.Root, { role: "user", messageId: message.id, children: /* @__PURE__ */ jsxRuntime.
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1806
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Message.Root, { role: "user", messageId: message.id, children: /* @__PURE__ */ jsxRuntime.jsxs(Message.Content, { role: "user", messageId: message.id, children: [
|
|
1807
|
+
message.senderName && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: message.senderName }),
|
|
1808
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1809
|
+
Message.Bubble,
|
|
1810
|
+
{
|
|
1811
|
+
role: "user",
|
|
1812
|
+
messageId: message.id,
|
|
1813
|
+
className: USER_BUBBLE,
|
|
1814
|
+
testId: "chat-message-user",
|
|
1815
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "m-0 whitespace-pre-wrap break-words text-base leading-relaxed", children: message.content })
|
|
1816
|
+
}
|
|
1817
|
+
)
|
|
1818
|
+
] }) });
|
|
1703
1819
|
}
|
|
1704
1820
|
const isStreaming = message.status === "streaming";
|
|
1705
1821
|
const isFailed = message.status === "error";
|
|
@@ -1751,6 +1867,7 @@ function ChatPage({
|
|
|
1751
1867
|
identity,
|
|
1752
1868
|
renderContent,
|
|
1753
1869
|
onOpenCitation,
|
|
1870
|
+
targetMessageId,
|
|
1754
1871
|
asideBreakpoint = DEFAULT_ASIDE_BREAKPOINT_REM,
|
|
1755
1872
|
fillHeight = false,
|
|
1756
1873
|
minHeight = 360,
|
|
@@ -1770,8 +1887,17 @@ function ChatPage({
|
|
|
1770
1887
|
const asideToggleRef = react.useRef(null);
|
|
1771
1888
|
const asideRef = react.useRef(null);
|
|
1772
1889
|
const scrollRef = react.useRef(null);
|
|
1890
|
+
const jumpedToMessage = react.useRef(null);
|
|
1773
1891
|
const fileRef = react.useRef(null);
|
|
1774
1892
|
const textareaRef = react.useRef(null);
|
|
1893
|
+
const currentThreadRef = react.useRef(chat.activeThreadId);
|
|
1894
|
+
currentThreadRef.current = chat.activeThreadId;
|
|
1895
|
+
const mentions = useMentionAutocomplete({
|
|
1896
|
+
value: draft,
|
|
1897
|
+
onValueChange: setDraft,
|
|
1898
|
+
candidates: chat.mentionCandidates ?? [],
|
|
1899
|
+
textareaRef
|
|
1900
|
+
});
|
|
1775
1901
|
const { width } = useElementSize(rootRef);
|
|
1776
1902
|
const { height: headerHeight } = useElementSize(headerRef);
|
|
1777
1903
|
const rem = rootFontSizePx();
|
|
@@ -1812,6 +1938,21 @@ function ChatPage({
|
|
|
1812
1938
|
react.useEffect(() => {
|
|
1813
1939
|
if (!isAway) scrollToEnd();
|
|
1814
1940
|
}, [chat.messages, isAway, scrollToEnd]);
|
|
1941
|
+
react.useEffect(() => {
|
|
1942
|
+
if (!targetMessageId) {
|
|
1943
|
+
jumpedToMessage.current = null;
|
|
1944
|
+
return;
|
|
1945
|
+
}
|
|
1946
|
+
const key = `${chat.activeThreadId}:${targetMessageId}`;
|
|
1947
|
+
if (jumpedToMessage.current === key) return;
|
|
1948
|
+
const row = Array.from(
|
|
1949
|
+
scrollRef.current?.querySelectorAll("[data-message-id]") || []
|
|
1950
|
+
).find((element) => element.dataset.messageId === targetMessageId);
|
|
1951
|
+
if (!row) return;
|
|
1952
|
+
jumpedToMessage.current = key;
|
|
1953
|
+
row.scrollIntoView({ block: "center" });
|
|
1954
|
+
setIsAway(true);
|
|
1955
|
+
}, [targetMessageId, chat.activeThreadId, chat.messages]);
|
|
1815
1956
|
react.useEffect(() => {
|
|
1816
1957
|
setIsAway(false);
|
|
1817
1958
|
}, [chat.activeThreadId]);
|
|
@@ -1822,10 +1963,21 @@ function ChatPage({
|
|
|
1822
1963
|
const submit = (e) => {
|
|
1823
1964
|
e?.preventDefault();
|
|
1824
1965
|
const text = draft.trim();
|
|
1825
|
-
if (!text || chat.isRunning)
|
|
1966
|
+
if (!text || chat.isRunning || chat.isPostingComment || chat.isUpdatingAssistantMode || chat.isLoadingThread || chat.historyError)
|
|
1967
|
+
return;
|
|
1826
1968
|
setDraft("");
|
|
1827
1969
|
setIsAway(false);
|
|
1828
|
-
|
|
1970
|
+
const selectedMentions = chunk7UTB4PHM_cjs.toMessageMentions(chunk7UTB4PHM_cjs.extractMentions(text, chat.mentionCandidates ?? []));
|
|
1971
|
+
const threadId = chat.activeThreadId;
|
|
1972
|
+
const restoreDraft = () => {
|
|
1973
|
+
if (currentThreadRef.current === threadId) setDraft((current) => current || text);
|
|
1974
|
+
};
|
|
1975
|
+
try {
|
|
1976
|
+
const sent = selectedMentions.length ? chat.send(text, { mentions: selectedMentions }) : chat.send(text);
|
|
1977
|
+
void Promise.resolve(sent).catch(restoreDraft);
|
|
1978
|
+
} catch {
|
|
1979
|
+
restoreDraft();
|
|
1980
|
+
}
|
|
1829
1981
|
};
|
|
1830
1982
|
const pickFiles = () => fileRef.current?.click();
|
|
1831
1983
|
const onFiles = (files) => {
|
|
@@ -1982,16 +2134,25 @@ function ChatPage({
|
|
|
1982
2134
|
role: "list",
|
|
1983
2135
|
"aria-label": "Conversation messages",
|
|
1984
2136
|
className: "mx-auto flex w-full max-w-3xl flex-col gap-5 px-3 py-5 @lg/chat:px-6",
|
|
1985
|
-
children: chat.messages.map((message) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1986
|
-
|
|
2137
|
+
children: chat.messages.map((message) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2138
|
+
"div",
|
|
1987
2139
|
{
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
2140
|
+
role: "listitem",
|
|
2141
|
+
"data-message-id": message.id,
|
|
2142
|
+
className: message.id === targetMessageId ? "rounded-lg ring-2 ring-primary/40" : void 0,
|
|
2143
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2144
|
+
MessageRow,
|
|
2145
|
+
{
|
|
2146
|
+
message,
|
|
2147
|
+
identity,
|
|
2148
|
+
renderContent,
|
|
2149
|
+
onOpenCitation,
|
|
2150
|
+
labels: l
|
|
2151
|
+
}
|
|
2152
|
+
)
|
|
2153
|
+
},
|
|
2154
|
+
message.id
|
|
2155
|
+
))
|
|
1995
2156
|
}
|
|
1996
2157
|
)
|
|
1997
2158
|
}
|
|
@@ -2038,11 +2199,29 @@ function ChatPage({
|
|
|
2038
2199
|
}
|
|
2039
2200
|
),
|
|
2040
2201
|
/* @__PURE__ */ jsxRuntime.jsx(Composer.Root, { onSubmit: submit, testId: "chat-composer", children: /* @__PURE__ */ jsxRuntime.jsxs(Composer.Frame, { className: "px-3 py-2 shadow-sm", children: [
|
|
2202
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2203
|
+
chunk7UTB4PHM_cjs.MentionMenu,
|
|
2204
|
+
{
|
|
2205
|
+
open: mentions.isOpen,
|
|
2206
|
+
items: mentions.items,
|
|
2207
|
+
selectedIndex: mentions.nav.selectedIndex,
|
|
2208
|
+
setSelectedIndex: mentions.nav.setSelectedIndex,
|
|
2209
|
+
listboxId: mentions.nav.listboxId,
|
|
2210
|
+
onSelect: mentions.pick
|
|
2211
|
+
}
|
|
2212
|
+
),
|
|
2041
2213
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2042
2214
|
Composer.Input,
|
|
2043
2215
|
{
|
|
2044
2216
|
value: draft,
|
|
2045
|
-
onValueChange:
|
|
2217
|
+
onValueChange: mentions.onValueChange,
|
|
2218
|
+
onKeyDown: (event) => {
|
|
2219
|
+
mentions.nav.handleKeyDown(event);
|
|
2220
|
+
},
|
|
2221
|
+
textareaProps: {
|
|
2222
|
+
...mentions.textareaProps,
|
|
2223
|
+
...chat.mentionCandidates?.length ? mentions.nav.comboboxProps : {}
|
|
2224
|
+
},
|
|
2046
2225
|
placeholder: l.placeholder,
|
|
2047
2226
|
ariaLabel: l.composerAriaLabel,
|
|
2048
2227
|
textareaRef,
|
|
@@ -2052,15 +2231,25 @@ function ChatPage({
|
|
|
2052
2231
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2053
2232
|
Composer.Toolbar,
|
|
2054
2233
|
{
|
|
2055
|
-
leading: /* @__PURE__ */ jsxRuntime.
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2234
|
+
leading: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2235
|
+
chat.assistantMode && chat.setAssistantMode && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2236
|
+
AssistantModeToggle,
|
|
2237
|
+
{
|
|
2238
|
+
mode: chat.assistantMode,
|
|
2239
|
+
onModeChange: (mode) => void chat.setAssistantMode?.(mode),
|
|
2240
|
+
disabled: chat.isRunning || chat.isPostingComment || chat.isUpdatingAssistantMode
|
|
2241
|
+
}
|
|
2242
|
+
),
|
|
2243
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2244
|
+
ChatDocuments,
|
|
2245
|
+
{
|
|
2246
|
+
chat,
|
|
2247
|
+
labels: l,
|
|
2248
|
+
onPickFiles: pickFiles,
|
|
2249
|
+
testIds: { documents: testIds?.documents, upload: testIds?.upload }
|
|
2250
|
+
}
|
|
2251
|
+
)
|
|
2252
|
+
] }),
|
|
2064
2253
|
trailing: chat.isRunning && chat.stop ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2065
2254
|
ui.Button,
|
|
2066
2255
|
{
|
|
@@ -2078,7 +2267,7 @@ function ChatPage({
|
|
|
2078
2267
|
Composer.Send,
|
|
2079
2268
|
{
|
|
2080
2269
|
onSend: () => submit(),
|
|
2081
|
-
disabled: chat.isRunning || draft.trim() === "",
|
|
2270
|
+
disabled: chat.isRunning || chat.isPostingComment || chat.isUpdatingAssistantMode || chat.isLoadingThread || Boolean(chat.historyError) || draft.trim() === "",
|
|
2082
2271
|
testIds: { send: chunkMHVNT4J3_cjs.testIdOr(testIds?.send, { testId: "chat-send" }) }
|
|
2083
2272
|
}
|
|
2084
2273
|
)
|
|
@@ -2203,6 +2392,7 @@ function AssistantDock({
|
|
|
2203
2392
|
|
|
2204
2393
|
exports.AssistantDock = AssistantDock;
|
|
2205
2394
|
exports.AssistantDockToggle = AssistantDockToggle;
|
|
2395
|
+
exports.AssistantModeToggle = AssistantModeToggle;
|
|
2206
2396
|
exports.ChatDocuments = ChatDocuments;
|
|
2207
2397
|
exports.ChatMessageContent = ChatMessageContent;
|
|
2208
2398
|
exports.ChatPage = ChatPage;
|
|
@@ -2221,6 +2411,7 @@ exports.ComposerToolbar = ComposerToolbar;
|
|
|
2221
2411
|
exports.ComposerVoiceButton = ComposerVoiceButton;
|
|
2222
2412
|
exports.ContextChip = ContextChip;
|
|
2223
2413
|
exports.ConversationEmpty = ConversationEmpty;
|
|
2414
|
+
exports.DEFAULT_ASSISTANT_MODE_TOGGLE_LABELS = DEFAULT_ASSISTANT_MODE_TOGGLE_LABELS;
|
|
2224
2415
|
exports.DEFAULT_CHAT_PAGE_LABELS = DEFAULT_CHAT_PAGE_LABELS;
|
|
2225
2416
|
exports.DEFAULT_COMPOSER_LABELS = DEFAULT_COMPOSER_LABELS;
|
|
2226
2417
|
exports.DEFAULT_CONVERSATION_EMPTY_LABELS = DEFAULT_CONVERSATION_EMPTY_LABELS;
|
|
@@ -2253,7 +2444,8 @@ exports.SourceChip = SourceChip;
|
|
|
2253
2444
|
exports.toSpeakableText = toSpeakableText;
|
|
2254
2445
|
exports.useAssistantDock = useAssistantDock;
|
|
2255
2446
|
exports.useChatSurface = useChatSurface;
|
|
2447
|
+
exports.useMentionAutocomplete = useMentionAutocomplete;
|
|
2256
2448
|
exports.useRegisterEmbeddedChat = useRegisterEmbeddedChat;
|
|
2257
2449
|
exports.useStreamAnnouncement = useStreamAnnouncement;
|
|
2258
|
-
//# sourceMappingURL=chunk-
|
|
2259
|
-
//# sourceMappingURL=chunk-
|
|
2450
|
+
//# sourceMappingURL=chunk-ZHLMDJCO.cjs.map
|
|
2451
|
+
//# sourceMappingURL=chunk-ZHLMDJCO.cjs.map
|