@tutti-os/agent-gui 0.0.53 → 0.0.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AgentMentionSearchController-CExFPobz.d.ts → AgentMentionSearchController-DzhWr0PN.d.ts} +13 -3
- package/dist/agent-conversation/index.d.ts +2 -2
- package/dist/agent-conversation/index.js +7 -6
- package/dist/agent-conversation/index.js.map +1 -1
- package/dist/agent-message-center/index.js +15 -12
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/{agentGuiNodeTypes-wzOITHRW.d.ts → agentGuiNodeTypes-DCnsaqJr.d.ts} +16 -2
- package/dist/app/renderer/agentactivity.css +157 -6
- package/dist/{chunk-ZTSS2NU2.js → chunk-2XVECUTU.js} +25 -1
- package/dist/chunk-2XVECUTU.js.map +1 -0
- package/dist/{chunk-OBFDA7RG.js → chunk-4PSDYKZQ.js} +20 -3
- package/dist/chunk-4PSDYKZQ.js.map +1 -0
- package/dist/{chunk-BFIYBPFD.js → chunk-6AXH2BOD.js} +5 -5
- package/dist/{chunk-4K22O34C.js → chunk-7GM7UQXD.js} +29 -3
- package/dist/chunk-7GM7UQXD.js.map +1 -0
- package/dist/{chunk-2OLYX32K.js → chunk-7H4IH67L.js} +76 -7
- package/dist/chunk-7H4IH67L.js.map +1 -0
- package/dist/{chunk-FYVVHRLZ.js → chunk-BGZ2OSDQ.js} +2 -2
- package/dist/{chunk-DPG2J7N5.js → chunk-CMOGPJ23.js} +2 -2
- package/dist/{chunk-3ZVVFQH5.js → chunk-GBAQVKQN.js} +180 -88
- package/dist/chunk-GBAQVKQN.js.map +1 -0
- package/dist/{chunk-66EQ6EQO.js → chunk-GL54NRMB.js} +59 -2
- package/dist/chunk-GL54NRMB.js.map +1 -0
- package/dist/{chunk-Y7ZVTWMZ.js → chunk-H2YWXFYX.js} +2 -2
- package/dist/{chunk-UKDC63WG.js → chunk-NBTJEF3H.js} +81 -4
- package/dist/chunk-NBTJEF3H.js.map +1 -0
- package/dist/{chunk-EFDGMXTB.js → chunk-OQJSZSYB.js} +48 -48
- package/dist/chunk-OQJSZSYB.js.map +1 -0
- package/dist/{chunk-GWHPTB4L.js → chunk-PBHTLI3E.js} +2 -2
- package/dist/{chunk-GWHPTB4L.js.map → chunk-PBHTLI3E.js.map} +1 -1
- package/dist/{chunk-5Y3PC7HP.js → chunk-VOXUYDQF.js} +238 -25
- package/dist/chunk-VOXUYDQF.js.map +1 -0
- package/dist/{chunk-HDBKB5RA.js → chunk-WMQN7SZC.js} +2 -58
- package/dist/chunk-WMQN7SZC.js.map +1 -0
- package/dist/{chunk-F5DYXCY3.js → chunk-Z2BTIAOC.js} +1 -1
- package/dist/chunk-Z2BTIAOC.js.map +1 -0
- package/dist/{chunk-PIKG746A.js → chunk-ZFDO72FE.js} +132 -67
- package/dist/chunk-ZFDO72FE.js.map +1 -0
- package/dist/context-mention-palette/index.d.ts +2 -2
- package/dist/context-mention-palette/index.js +8 -8
- package/dist/context-mention-provider.d.ts +1 -0
- package/dist/i18n/index.d.ts +24 -0
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +21 -53
- package/dist/index.js +1256 -679
- package/dist/index.js.map +1 -1
- package/dist/queued-prompt-runtime.d.ts +2 -2
- package/dist/{types-xMz0lJWt.d.ts → types-B2m7UcBb.d.ts} +8 -0
- package/dist/workbench/contribution.d.ts +43 -4
- package/dist/workbench/contribution.js +9 -5
- package/dist/workbench/index.d.ts +3 -3
- package/dist/workbench/index.js +18 -8
- package/dist/workbench/launch.d.ts +2 -1
- package/dist/workbench/launch.js +2 -2
- package/dist/workbench/providerCatalog.d.ts +1 -1
- package/dist/workbench/sessionTitle.d.ts +1 -1
- package/dist/workbench/sessionTitle.js +3 -3
- package/dist/workbench/state.d.ts +1 -1
- package/dist/workbench/state.js +2 -2
- package/dist/workbench/types.d.ts +8 -8
- package/dist/workbench/types.js +1 -1
- package/dist/workspace-agent-generated-files.js +3 -3
- package/package.json +14 -14
- package/dist/chunk-2OLYX32K.js.map +0 -1
- package/dist/chunk-3ZVVFQH5.js.map +0 -1
- package/dist/chunk-4K22O34C.js.map +0 -1
- package/dist/chunk-5Y3PC7HP.js.map +0 -1
- package/dist/chunk-66EQ6EQO.js.map +0 -1
- package/dist/chunk-EFDGMXTB.js.map +0 -1
- package/dist/chunk-F5DYXCY3.js.map +0 -1
- package/dist/chunk-HDBKB5RA.js.map +0 -1
- package/dist/chunk-OBFDA7RG.js.map +0 -1
- package/dist/chunk-PIKG746A.js.map +0 -1
- package/dist/chunk-UKDC63WG.js.map +0 -1
- package/dist/chunk-ZTSS2NU2.js.map +0 -1
- /package/dist/{chunk-BFIYBPFD.js.map → chunk-6AXH2BOD.js.map} +0 -0
- /package/dist/{chunk-FYVVHRLZ.js.map → chunk-BGZ2OSDQ.js.map} +0 -0
- /package/dist/{chunk-DPG2J7N5.js.map → chunk-CMOGPJ23.js.map} +0 -0
- /package/dist/{chunk-Y7ZVTWMZ.js.map → chunk-H2YWXFYX.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../shared/userAvatarPlaceholder.ts","../shared/workspaceAgentActivityStatusLabel.ts","../app/renderer/components/ui/spinner.tsx"],"sourcesContent":["import userAvatarPlaceholderAssetUrl from \"../app/renderer/assets/icons/user-avatar-placeholder.png\";\n\n/**\n * Bundled placeholder avatar shown for users without an avatar URL. Centralized\n * here so every surface (the agent composer mention palette, the message-center\n * card, and the desktop seam that enriches issue-manager session mentions)\n * resolves the SAME asset URL without duplicating the asset import.\n */\nexport const userAvatarPlaceholderUrl: string = userAvatarPlaceholderAssetUrl;\n","import { translate, type TranslateFn } from \"../i18n/index\";\nimport type { WorkspaceAgentActivityStatus } from \"./workspaceAgentActivityListViewModel\";\n\nexport function normalizeWorkspaceAgentActivityDisplayStatus(\n status: string | undefined\n): WorkspaceAgentActivityStatus {\n switch ((status ?? \"\").trim().toLowerCase()) {\n case \"working\":\n return \"working\";\n case \"waiting\":\n return \"waiting\";\n case \"idle\":\n case \"ready\":\n return \"completed\";\n case \"completed\":\n case \"end\":\n return \"completed\";\n case \"canceled\":\n return \"canceled\";\n case \"failed\":\n return \"failed\";\n default:\n return \"idle\";\n }\n}\n\nexport function workspaceAgentActivityStatusLabel(\n status: WorkspaceAgentActivityStatus | string,\n t?: TranslateFn\n): string {\n const translateFn = t ?? translate;\n switch (normalizeWorkspaceAgentActivityDisplayStatus(status)) {\n case \"working\":\n return translateFn(\"agentHost.workspaceAgentActivityStatusWorking\");\n case \"waiting\":\n return translateFn(\"agentHost.workspaceAgentActivityStatusWaiting\");\n case \"idle\":\n return translateFn(\"agentHost.workspaceAgentActivityStatusIdle\");\n case \"completed\":\n return translateFn(\"agentHost.workspaceAgentActivityStatusEnd\");\n case \"canceled\":\n return translateFn(\"agentHost.workspaceAgentActivityStatusCanceled\");\n case \"failed\":\n return translateFn(\"agentHost.workspaceAgentActivityStatusFailed\");\n default:\n return String(status);\n }\n}\n","export { Spinner, type SpinnerProps } from \"@tutti-os/ui-system\";\n"],"mappings":";;;;;;;;AAQO,IAAM,2BAAmC;;;ACLzC,SAAS,6CACd,QAC8B;AAC9B,WAAS,UAAU,IAAI,KAAK,EAAE,YAAY,GAAG;AAAA,IAC3C,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,kCACd,QACA,GACQ;AACR,QAAM,cAAc,KAAK;AACzB,UAAQ,6CAA6C,MAAM,GAAG;AAAA,IAC5D,KAAK;AACH,aAAO,YAAY,+CAA+C;AAAA,IACpE,KAAK;AACH,aAAO,YAAY,+CAA+C;AAAA,IACpE,KAAK;AACH,aAAO,YAAY,4CAA4C;AAAA,IACjE,KAAK;AACH,aAAO,YAAY,2CAA2C;AAAA,IAChE,KAAK;AACH,aAAO,YAAY,gDAAgD;AAAA,IACrE,KAAK;AACH,aAAO,YAAY,8CAA8C;AAAA,IACnE;AACE,aAAO,OAAO,MAAM;AAAA,EACxB;AACF;;;AC/CA,SAAS,eAAkC;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../workbench/types.ts"],"sourcesContent":["import type { AgentGUIProviderTargetRef } from \"../types\";\n\nexport type AgentGuiWorkbenchProvider =\n | \"claude-code\"\n | \"codex\"\n | \"nexight\"\n | \"gemini\"\n | \"hermes\"\n | \"openclaw\";\n\nexport const agentGuiWorkbenchOpenSessionActivationType =\n \"agent-gui:open-session\";\n\nexport const agentGuiWorkbenchPrefillPromptActivationType =\n \"agent-gui:prefill-prompt\";\n\nexport interface AgentGuiWorkbenchPrefillPromptPayload {\n autoSubmit?: boolean;\n draftPrompt: string;\n userProjectPath?: string | null;\n}\n\nexport interface AgentGuiWorkbenchComposerOverrides {\n model?: string | null;\n permissionModeId?: string | null;\n planMode?: boolean;\n reasoningEffort?: string | null;\n}\n\nexport type AgentGuiWorkbenchComposerOverridesByProvider = Partial<\n Record<AgentGuiWorkbenchProvider, AgentGuiWorkbenchComposerOverrides | null>\n>;\n\nexport type AgentGuiWorkbenchComposerOverridesByAgentTargetId = Record<\n string,\n AgentGuiWorkbenchComposerOverrides | null\n>;\n\nexport interface AgentGuiWorkbenchNodeState {\n agentTargetId?: string | null;\n composerOverrides?: AgentGuiWorkbenchComposerOverrides | null;\n composerOverridesByAgentTargetId?: AgentGuiWorkbenchComposerOverridesByAgentTargetId | null;\n composerOverridesByProvider?: AgentGuiWorkbenchComposerOverridesByProvider | null;\n conversationCount?: number | null;\n conversationRailCollapsed?: boolean | null;\n conversationRailWidthPx?: number | null;\n lastActiveAgentSessionId: string | null;\n /** @deprecated Conversation titles are derived from the active session id. */\n lastActiveConversationTitle?: string | null;\n provider: AgentGuiWorkbenchProvider;\n /** @deprecated Use agentTargetId for selection restore. */\n providerTargetId?: string | null;\n /** @deprecated Provider target refs are resolved from the current target list. */\n providerTargetRef?: AgentGUIProviderTargetRef | null;\n}\n\nexport interface AgentGuiWorkbenchState {\n agentTargetId?: string | null;\n conversationRailCollapsed?: boolean | null;\n conversationRailWidthPx?: number | null;\n lastActiveAgentSessionId: string | null;\n}\n\nexport interface AgentGuiWorkbenchWorkspaceState {\n workspaceId: string;\n}\n"],"mappings":";AAUO,IAAM,6CACX;AAEK,IAAM,+CACX;","names":[]}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getOptionalAgentHostApi,
|
|
3
|
+
managedAgentRoundedIconUrl,
|
|
3
4
|
useOptionalAgentHostApi
|
|
4
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GL54NRMB.js";
|
|
5
6
|
import {
|
|
6
7
|
resolveAgentWorkspaceFileVisualKind
|
|
7
8
|
} from "./chunk-PJP5BUU6.js";
|
|
8
9
|
import {
|
|
9
10
|
translate,
|
|
10
11
|
useTranslation
|
|
11
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-H2YWXFYX.js";
|
|
12
13
|
|
|
13
14
|
// app/renderer/lib/utils.ts
|
|
14
15
|
import { clsx } from "clsx";
|
|
@@ -251,11 +252,11 @@ function arrayValue2(value) {
|
|
|
251
252
|
|
|
252
253
|
// shared/AgentMessageMarkdown.tsx
|
|
253
254
|
import {
|
|
254
|
-
createContext,
|
|
255
|
+
createContext as createContext2,
|
|
255
256
|
startTransition as startTransition2,
|
|
256
257
|
useCallback as useCallback3,
|
|
257
258
|
useEffect as useEffect3,
|
|
258
|
-
useContext,
|
|
259
|
+
useContext as useContext2,
|
|
259
260
|
memo,
|
|
260
261
|
useMemo,
|
|
261
262
|
useState as useState4
|
|
@@ -1763,8 +1764,37 @@ function clearStreamingVisibleTextTimer(timerRef) {
|
|
|
1763
1764
|
timerRef.current = null;
|
|
1764
1765
|
}
|
|
1765
1766
|
|
|
1767
|
+
// shared/AgentTargetPresentationContext.tsx
|
|
1768
|
+
import { createContext, useContext } from "react";
|
|
1769
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
1770
|
+
var EMPTY_AGENT_TARGETS = Object.freeze([]);
|
|
1771
|
+
var AgentTargetPresentationContext = createContext(
|
|
1772
|
+
EMPTY_AGENT_TARGETS
|
|
1773
|
+
);
|
|
1774
|
+
function AgentTargetPresentationProvider({
|
|
1775
|
+
agentTargets,
|
|
1776
|
+
children
|
|
1777
|
+
}) {
|
|
1778
|
+
return /* @__PURE__ */ jsx3(AgentTargetPresentationContext.Provider, { value: agentTargets, children });
|
|
1779
|
+
}
|
|
1780
|
+
function useAgentTargetPresentations() {
|
|
1781
|
+
return useContext(AgentTargetPresentationContext);
|
|
1782
|
+
}
|
|
1783
|
+
function resolveAgentTargetPresentation(input) {
|
|
1784
|
+
const agentTargetId = input.agentTargetId.trim();
|
|
1785
|
+
if (!agentTargetId) {
|
|
1786
|
+
return null;
|
|
1787
|
+
}
|
|
1788
|
+
const workspaceId = input.workspaceId?.trim() ?? "";
|
|
1789
|
+
return input.agentTargets.find(
|
|
1790
|
+
(target) => target.agentTargetId.trim() === agentTargetId && (target.workspaceId?.trim() ?? "") === workspaceId
|
|
1791
|
+
) ?? input.agentTargets.find(
|
|
1792
|
+
(target) => target.agentTargetId.trim() === agentTargetId
|
|
1793
|
+
) ?? null;
|
|
1794
|
+
}
|
|
1795
|
+
|
|
1766
1796
|
// shared/AgentMessageMarkdown.tsx
|
|
1767
|
-
import { Fragment as Fragment2, jsx as
|
|
1797
|
+
import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1768
1798
|
var COLLAPSED_LINE_LIMIT = 8;
|
|
1769
1799
|
var APPROX_CHARS_PER_LINE = 34;
|
|
1770
1800
|
var DEFERRED_LONG_MARKDOWN_CHAR_THRESHOLD = 4096;
|
|
@@ -1802,13 +1832,15 @@ var MARKDOWN_SANITIZE_SCHEMA = {
|
|
|
1802
1832
|
}
|
|
1803
1833
|
};
|
|
1804
1834
|
var EMPTY_WORKSPACE_APP_ICONS = [];
|
|
1805
|
-
var
|
|
1835
|
+
var EMPTY_AGENT_TARGETS2 = [];
|
|
1836
|
+
var MarkdownLinkContext = createContext2(false);
|
|
1806
1837
|
function AgentMessageMarkdown({
|
|
1807
1838
|
content,
|
|
1808
1839
|
onLinkClick,
|
|
1809
1840
|
onLinkAction,
|
|
1810
1841
|
workspaceLinkContext = null,
|
|
1811
1842
|
workspaceAppIcons = EMPTY_WORKSPACE_APP_ICONS,
|
|
1843
|
+
agentTargets,
|
|
1812
1844
|
collapsible = false,
|
|
1813
1845
|
expandLabel,
|
|
1814
1846
|
className,
|
|
@@ -1821,6 +1853,8 @@ function AgentMessageMarkdown({
|
|
|
1821
1853
|
}) {
|
|
1822
1854
|
"use memo";
|
|
1823
1855
|
const { t } = useTranslation();
|
|
1856
|
+
const contextAgentTargets = useAgentTargetPresentations();
|
|
1857
|
+
const effectiveAgentTargets = agentTargets ?? contextAgentTargets;
|
|
1824
1858
|
const visibleContent = useStreamingVisibleText(content, {
|
|
1825
1859
|
enabled: streaming,
|
|
1826
1860
|
frameMs: STREAMING_MARKDOWN_FRAME_MS,
|
|
@@ -1893,23 +1927,31 @@ function AgentMessageMarkdown({
|
|
|
1893
1927
|
);
|
|
1894
1928
|
const markdownComponents = useMemo(
|
|
1895
1929
|
() => ({
|
|
1896
|
-
a: (props) => /* @__PURE__ */
|
|
1930
|
+
a: (props) => /* @__PURE__ */ jsx4(
|
|
1897
1931
|
MarkdownLink,
|
|
1898
1932
|
{
|
|
1899
1933
|
...props,
|
|
1900
1934
|
onLinkClick: handleLinkClick,
|
|
1901
1935
|
workspaceAppIcons,
|
|
1936
|
+
agentTargets: effectiveAgentTargets,
|
|
1902
1937
|
previewMode
|
|
1903
1938
|
}
|
|
1904
1939
|
),
|
|
1905
|
-
code: (props) => /* @__PURE__ */
|
|
1906
|
-
img: (props) => /* @__PURE__ */
|
|
1907
|
-
p: (props) => /* @__PURE__ */
|
|
1940
|
+
code: (props) => /* @__PURE__ */ jsx4(MarkdownCode, { ...props, onLinkClick: handleLinkClick }),
|
|
1941
|
+
img: (props) => /* @__PURE__ */ jsx4(MarkdownMedia, { ...props, enableZoom: enableImageZoom }),
|
|
1942
|
+
p: (props) => /* @__PURE__ */ jsx4(MarkdownParagraph, { ...props, inline }),
|
|
1908
1943
|
ul: MarkdownUnorderedList,
|
|
1909
1944
|
ol: MarkdownOrderedList,
|
|
1910
1945
|
li: MarkdownListItem
|
|
1911
1946
|
}),
|
|
1912
|
-
[
|
|
1947
|
+
[
|
|
1948
|
+
effectiveAgentTargets,
|
|
1949
|
+
enableImageZoom,
|
|
1950
|
+
handleLinkClick,
|
|
1951
|
+
inline,
|
|
1952
|
+
previewMode,
|
|
1953
|
+
workspaceAppIcons
|
|
1954
|
+
]
|
|
1913
1955
|
);
|
|
1914
1956
|
return /* @__PURE__ */ jsxs3(
|
|
1915
1957
|
ContainerTag,
|
|
@@ -1917,7 +1959,7 @@ function AgentMessageMarkdown({
|
|
|
1917
1959
|
className: "flex w-full min-w-0 flex-col items-start gap-1",
|
|
1918
1960
|
"data-workspace-agent-markdown-shell": "true",
|
|
1919
1961
|
children: [
|
|
1920
|
-
/* @__PURE__ */
|
|
1962
|
+
/* @__PURE__ */ jsx4(
|
|
1921
1963
|
ContainerTag,
|
|
1922
1964
|
{
|
|
1923
1965
|
className: cn(
|
|
@@ -1948,13 +1990,13 @@ function AgentMessageMarkdown({
|
|
|
1948
1990
|
"data-agent-mention-only": isMentionOnly ? "true" : void 0,
|
|
1949
1991
|
"data-collapsed": isCollapsed ? "true" : "false",
|
|
1950
1992
|
onClickCapture: handleAnchorClickCapture,
|
|
1951
|
-
children: markdownRenderReady ? streaming ? /* @__PURE__ */
|
|
1993
|
+
children: markdownRenderReady ? streaming ? /* @__PURE__ */ jsx4(
|
|
1952
1994
|
StreamingMarkdownBlocks,
|
|
1953
1995
|
{
|
|
1954
1996
|
content: normalizedContent,
|
|
1955
1997
|
components: markdownComponents
|
|
1956
1998
|
}
|
|
1957
|
-
) : /* @__PURE__ */
|
|
1999
|
+
) : /* @__PURE__ */ jsx4(
|
|
1958
2000
|
ReactMarkdown,
|
|
1959
2001
|
{
|
|
1960
2002
|
remarkPlugins: [remarkGfm],
|
|
@@ -1963,7 +2005,7 @@ function AgentMessageMarkdown({
|
|
|
1963
2005
|
components: markdownComponents,
|
|
1964
2006
|
children: normalizedContent
|
|
1965
2007
|
}
|
|
1966
|
-
) : /* @__PURE__ */
|
|
2008
|
+
) : /* @__PURE__ */ jsx4(
|
|
1967
2009
|
"div",
|
|
1968
2010
|
{
|
|
1969
2011
|
className: "whitespace-pre-wrap [overflow-wrap:anywhere]",
|
|
@@ -1973,7 +2015,7 @@ function AgentMessageMarkdown({
|
|
|
1973
2015
|
)
|
|
1974
2016
|
}
|
|
1975
2017
|
),
|
|
1976
|
-
shouldCollapse && !isExpanded ? /* @__PURE__ */
|
|
2018
|
+
shouldCollapse && !isExpanded ? /* @__PURE__ */ jsx4(
|
|
1977
2019
|
"button",
|
|
1978
2020
|
{
|
|
1979
2021
|
type: "button",
|
|
@@ -1994,7 +2036,7 @@ function StreamingMarkdownBlocks({
|
|
|
1994
2036
|
() => splitStreamingMarkdownBlocks(content),
|
|
1995
2037
|
[content]
|
|
1996
2038
|
);
|
|
1997
|
-
return /* @__PURE__ */
|
|
2039
|
+
return /* @__PURE__ */ jsx4(Fragment2, { children: blocks.map((block, index) => /* @__PURE__ */ jsx4(
|
|
1998
2040
|
MemoizedMarkdownBlock,
|
|
1999
2041
|
{
|
|
2000
2042
|
content: block.content,
|
|
@@ -2007,7 +2049,7 @@ var MemoizedMarkdownBlock = memo(function MemoizedMarkdownBlock2({
|
|
|
2007
2049
|
content,
|
|
2008
2050
|
components
|
|
2009
2051
|
}) {
|
|
2010
|
-
return /* @__PURE__ */
|
|
2052
|
+
return /* @__PURE__ */ jsx4(
|
|
2011
2053
|
ReactMarkdown,
|
|
2012
2054
|
{
|
|
2013
2055
|
remarkPlugins: [remarkGfm],
|
|
@@ -2177,6 +2219,7 @@ function MarkdownLink({
|
|
|
2177
2219
|
onClick: _onClick,
|
|
2178
2220
|
onLinkClick,
|
|
2179
2221
|
workspaceAppIcons,
|
|
2222
|
+
agentTargets,
|
|
2180
2223
|
previewMode,
|
|
2181
2224
|
href,
|
|
2182
2225
|
...props
|
|
@@ -2188,10 +2231,11 @@ function MarkdownLink({
|
|
|
2188
2231
|
targetHref,
|
|
2189
2232
|
textFromReactNode(props.children),
|
|
2190
2233
|
workspaceAppIcons ?? [],
|
|
2234
|
+
agentTargets ?? EMPTY_AGENT_TARGETS2,
|
|
2191
2235
|
t("agentHost.agentGui.workspaceAppFactoryMentionFallback")
|
|
2192
2236
|
) : null;
|
|
2193
2237
|
if (mention) {
|
|
2194
|
-
return /* @__PURE__ */
|
|
2238
|
+
return /* @__PURE__ */ jsx4(
|
|
2195
2239
|
MentionLink,
|
|
2196
2240
|
{
|
|
2197
2241
|
...props,
|
|
@@ -2207,7 +2251,7 @@ function MarkdownLink({
|
|
|
2207
2251
|
textFromReactNode(props.children)
|
|
2208
2252
|
) : null;
|
|
2209
2253
|
if (fileMention) {
|
|
2210
|
-
return /* @__PURE__ */
|
|
2254
|
+
return /* @__PURE__ */ jsx4(
|
|
2211
2255
|
WorkspaceFileMentionLink,
|
|
2212
2256
|
{
|
|
2213
2257
|
...props,
|
|
@@ -2218,9 +2262,9 @@ function MarkdownLink({
|
|
|
2218
2262
|
);
|
|
2219
2263
|
}
|
|
2220
2264
|
if (!isClickableMarkdownHref(targetHref)) {
|
|
2221
|
-
return /* @__PURE__ */
|
|
2265
|
+
return /* @__PURE__ */ jsx4(MarkdownLinkContext.Provider, { value: true, children: /* @__PURE__ */ jsx4("span", { className: props.className, title: props.title, children: props.children }) });
|
|
2222
2266
|
}
|
|
2223
|
-
return /* @__PURE__ */
|
|
2267
|
+
return /* @__PURE__ */ jsx4(MarkdownLinkContext.Provider, { value: true, children: /* @__PURE__ */ jsx4(
|
|
2224
2268
|
"a",
|
|
2225
2269
|
{
|
|
2226
2270
|
...props,
|
|
@@ -2331,8 +2375,8 @@ function WorkspaceFileMentionLink({
|
|
|
2331
2375
|
activateMarkdownLinkFromKey(event, mention.href, onLinkClick);
|
|
2332
2376
|
},
|
|
2333
2377
|
children: [
|
|
2334
|
-
/* @__PURE__ */
|
|
2335
|
-
/* @__PURE__ */
|
|
2378
|
+
/* @__PURE__ */ jsx4("span", { className: "tsh-agent-object-token__icon", "aria-hidden": "true" }),
|
|
2379
|
+
/* @__PURE__ */ jsx4("span", { className: "tsh-agent-object-token__main", children: mention.label })
|
|
2336
2380
|
]
|
|
2337
2381
|
}
|
|
2338
2382
|
);
|
|
@@ -2375,14 +2419,14 @@ function MentionLink({
|
|
|
2375
2419
|
activateMarkdownLinkFromKey(event, href, onLinkClick);
|
|
2376
2420
|
},
|
|
2377
2421
|
children: [
|
|
2378
|
-
mention.kind === "workspace-app" || mention.kind === "workspace-reference" ? /* @__PURE__ */
|
|
2422
|
+
mention.kind === "workspace-app" || mention.kind === "workspace-reference" || mention.kind === "agent-target" ? /* @__PURE__ */ jsx4(
|
|
2379
2423
|
"span",
|
|
2380
2424
|
{
|
|
2381
2425
|
className: "grid h-4 w-4 shrink-0 place-items-center overflow-hidden rounded-[4px] bg-block",
|
|
2382
2426
|
"aria-hidden": "true",
|
|
2383
2427
|
"data-agent-mention-app-icon": "true",
|
|
2384
2428
|
"data-workspace-app-icon": "true",
|
|
2385
|
-
children: mention.iconUrl ? /* @__PURE__ */
|
|
2429
|
+
children: mention.iconUrl ? /* @__PURE__ */ jsx4(
|
|
2386
2430
|
"img",
|
|
2387
2431
|
{
|
|
2388
2432
|
src: mention.iconUrl,
|
|
@@ -2392,9 +2436,9 @@ function MentionLink({
|
|
|
2392
2436
|
loading: "lazy",
|
|
2393
2437
|
draggable: false
|
|
2394
2438
|
}
|
|
2395
|
-
) : /* @__PURE__ */
|
|
2439
|
+
) : /* @__PURE__ */ jsx4("span", { className: "tsh-agent-object-token__kind-icon h-4 w-4" })
|
|
2396
2440
|
}
|
|
2397
|
-
) : /* @__PURE__ */
|
|
2441
|
+
) : /* @__PURE__ */ jsx4("span", { className: "tsh-agent-object-token__kind", "aria-hidden": "true", children: /* @__PURE__ */ jsx4(
|
|
2398
2442
|
"span",
|
|
2399
2443
|
{
|
|
2400
2444
|
className: "tsh-agent-object-token__kind-icon",
|
|
@@ -2402,21 +2446,21 @@ function MentionLink({
|
|
|
2402
2446
|
}
|
|
2403
2447
|
) }),
|
|
2404
2448
|
mention.kind === "session" ? /* @__PURE__ */ jsxs3("span", { className: "tsh-agent-object-token__main", ref: mainRef, children: [
|
|
2405
|
-
/* @__PURE__ */
|
|
2449
|
+
/* @__PURE__ */ jsx4("span", { className: "tsh-agent-object-token__participant", children: mention.participant }),
|
|
2406
2450
|
mention.summary ? /* @__PURE__ */ jsxs3("span", { className: "tsh-agent-object-token__summary", children: [
|
|
2407
2451
|
" ",
|
|
2408
2452
|
mention.summary
|
|
2409
2453
|
] }) : null
|
|
2410
|
-
] }) : /* @__PURE__ */
|
|
2454
|
+
] }) : /* @__PURE__ */ jsx4("span", { className: "tsh-agent-object-token__main", ref: mainRef, children: mention.label })
|
|
2411
2455
|
]
|
|
2412
2456
|
}
|
|
2413
2457
|
);
|
|
2414
2458
|
if (previewMode) {
|
|
2415
2459
|
return link;
|
|
2416
2460
|
}
|
|
2417
|
-
return /* @__PURE__ */
|
|
2418
|
-
/* @__PURE__ */
|
|
2419
|
-
overflowing ? /* @__PURE__ */
|
|
2461
|
+
return /* @__PURE__ */ jsx4(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ jsxs3(Tooltip, { children: [
|
|
2462
|
+
/* @__PURE__ */ jsx4(TooltipTrigger, { asChild: true, children: link }),
|
|
2463
|
+
overflowing ? /* @__PURE__ */ jsx4(TooltipContent, { className: "max-w-[min(420px,calc(100vw-32px))] whitespace-normal text-left [overflow-wrap:anywhere]", children: tooltipText }) : null
|
|
2420
2464
|
] }) });
|
|
2421
2465
|
}
|
|
2422
2466
|
function MarkdownCode({
|
|
@@ -2427,13 +2471,13 @@ function MarkdownCode({
|
|
|
2427
2471
|
...props
|
|
2428
2472
|
}) {
|
|
2429
2473
|
"use memo";
|
|
2430
|
-
const isInsideLink =
|
|
2474
|
+
const isInsideLink = useContext2(MarkdownLinkContext);
|
|
2431
2475
|
const text = textFromReactNode(children).trim();
|
|
2432
2476
|
const isLinkablePath = !isInsideLink && onLinkClick && !className && (isExplicitWorkspaceFilePath(text) || isHttpUrl(text));
|
|
2433
2477
|
if (isLinkablePath) {
|
|
2434
|
-
return /* @__PURE__ */
|
|
2478
|
+
return /* @__PURE__ */ jsx4(PathLink, { href: text, onLinkClick, children });
|
|
2435
2479
|
}
|
|
2436
|
-
return /* @__PURE__ */
|
|
2480
|
+
return /* @__PURE__ */ jsx4("code", { ...props, className, children });
|
|
2437
2481
|
}
|
|
2438
2482
|
var cachedMarkdownMedia = /* @__PURE__ */ new Map();
|
|
2439
2483
|
var CACHED_MARKDOWN_MEDIA_REVOKE_DELAY_MS = 250;
|
|
@@ -2448,7 +2492,7 @@ function MarkdownMedia({
|
|
|
2448
2492
|
}) {
|
|
2449
2493
|
"use memo";
|
|
2450
2494
|
const { t } = useTranslation();
|
|
2451
|
-
const isInsideLink =
|
|
2495
|
+
const isInsideLink = useContext2(MarkdownLinkContext);
|
|
2452
2496
|
const agentHostApi = useOptionalAgentHostApi() ?? getOptionalAgentHostApi();
|
|
2453
2497
|
const workspacePath = typeof src === "string" && isLocalAbsolutePath(src) ? src.trim() : null;
|
|
2454
2498
|
const readWorkspaceImage = workspacePath ? agentHostApi?.workspace?.readFile : void 0;
|
|
@@ -2526,9 +2570,9 @@ function MarkdownMedia({
|
|
|
2526
2570
|
if (!workspacePath || !readWorkspaceImage) {
|
|
2527
2571
|
if (fallbackMediaKind === "video") {
|
|
2528
2572
|
if (!canRenderMarkdownVideoFallback(src)) {
|
|
2529
|
-
return /* @__PURE__ */
|
|
2573
|
+
return /* @__PURE__ */ jsx4(UnsupportedMarkdownMediaPreview, {});
|
|
2530
2574
|
}
|
|
2531
|
-
return /* @__PURE__ */
|
|
2575
|
+
return /* @__PURE__ */ jsx4(
|
|
2532
2576
|
"video",
|
|
2533
2577
|
{
|
|
2534
2578
|
src: resolvedSrc,
|
|
@@ -2545,7 +2589,7 @@ function MarkdownMedia({
|
|
|
2545
2589
|
);
|
|
2546
2590
|
}
|
|
2547
2591
|
if (!shouldEnableZoom) {
|
|
2548
|
-
return /* @__PURE__ */
|
|
2592
|
+
return /* @__PURE__ */ jsx4(
|
|
2549
2593
|
"img",
|
|
2550
2594
|
{
|
|
2551
2595
|
...props,
|
|
@@ -2556,7 +2600,7 @@ function MarkdownMedia({
|
|
|
2556
2600
|
}
|
|
2557
2601
|
);
|
|
2558
2602
|
}
|
|
2559
|
-
return /* @__PURE__ */
|
|
2603
|
+
return /* @__PURE__ */ jsx4(
|
|
2560
2604
|
ZoomableImage,
|
|
2561
2605
|
{
|
|
2562
2606
|
...props,
|
|
@@ -2571,7 +2615,7 @@ function MarkdownMedia({
|
|
|
2571
2615
|
}
|
|
2572
2616
|
if (state?.status === "ready") {
|
|
2573
2617
|
if (state.kind === "video") {
|
|
2574
|
-
return /* @__PURE__ */
|
|
2618
|
+
return /* @__PURE__ */ jsx4(
|
|
2575
2619
|
"video",
|
|
2576
2620
|
{
|
|
2577
2621
|
src: state.src,
|
|
@@ -2588,7 +2632,7 @@ function MarkdownMedia({
|
|
|
2588
2632
|
);
|
|
2589
2633
|
}
|
|
2590
2634
|
if (!shouldEnableZoom) {
|
|
2591
|
-
return /* @__PURE__ */
|
|
2635
|
+
return /* @__PURE__ */ jsx4(
|
|
2592
2636
|
"img",
|
|
2593
2637
|
{
|
|
2594
2638
|
...props,
|
|
@@ -2602,7 +2646,7 @@ function MarkdownMedia({
|
|
|
2602
2646
|
}
|
|
2603
2647
|
);
|
|
2604
2648
|
}
|
|
2605
|
-
return /* @__PURE__ */
|
|
2649
|
+
return /* @__PURE__ */ jsx4(
|
|
2606
2650
|
ZoomableImage,
|
|
2607
2651
|
{
|
|
2608
2652
|
...props,
|
|
@@ -2618,13 +2662,13 @@ function MarkdownMedia({
|
|
|
2618
2662
|
}
|
|
2619
2663
|
);
|
|
2620
2664
|
}
|
|
2621
|
-
return /* @__PURE__ */
|
|
2665
|
+
return /* @__PURE__ */ jsx4("span", { className: "mt-2 flex min-h-[160px] w-full items-center justify-center rounded-[8px] bg-[var(--transparency-block)] px-5 py-5 text-center text-[13px] leading-5 text-[var(--text-tertiary)]", children: state?.status === "error" ? state.reason === "unsupported" ? t("agentHost.workspaceFileManager.previewUnsupported") : t("agentHost.workspaceFileManager.previewReadFailed", {
|
|
2622
2666
|
message: state.detail ?? ""
|
|
2623
2667
|
}) : t("agentHost.workspaceFileManager.previewLoading") });
|
|
2624
2668
|
}
|
|
2625
2669
|
function UnsupportedMarkdownMediaPreview() {
|
|
2626
2670
|
const { t } = useTranslation();
|
|
2627
|
-
return /* @__PURE__ */
|
|
2671
|
+
return /* @__PURE__ */ jsx4("span", { className: "mt-2 flex min-h-[160px] w-full items-center justify-center rounded-[8px] bg-[var(--transparency-block)] px-5 py-5 text-center text-[13px] leading-5 text-[var(--text-tertiary)]", children: t("agentHost.workspaceFileManager.previewUnsupported") });
|
|
2628
2672
|
}
|
|
2629
2673
|
function resolveMarkdownImageDownloadName(src, alt) {
|
|
2630
2674
|
if (typeof src === "string") {
|
|
@@ -2655,7 +2699,7 @@ function MarkdownUnorderedList({
|
|
|
2655
2699
|
...props
|
|
2656
2700
|
}) {
|
|
2657
2701
|
"use memo";
|
|
2658
|
-
return /* @__PURE__ */
|
|
2702
|
+
return /* @__PURE__ */ jsx4(
|
|
2659
2703
|
"ul",
|
|
2660
2704
|
{
|
|
2661
2705
|
...props,
|
|
@@ -2673,7 +2717,7 @@ function MarkdownOrderedList({
|
|
|
2673
2717
|
...props
|
|
2674
2718
|
}) {
|
|
2675
2719
|
"use memo";
|
|
2676
|
-
return /* @__PURE__ */
|
|
2720
|
+
return /* @__PURE__ */ jsx4(
|
|
2677
2721
|
"ol",
|
|
2678
2722
|
{
|
|
2679
2723
|
...props,
|
|
@@ -2691,7 +2735,7 @@ function MarkdownListItem({
|
|
|
2691
2735
|
...props
|
|
2692
2736
|
}) {
|
|
2693
2737
|
"use memo";
|
|
2694
|
-
return /* @__PURE__ */
|
|
2738
|
+
return /* @__PURE__ */ jsx4("li", { ...props, style: { ...MARKDOWN_LIST_ITEM_STYLE, ...style } });
|
|
2695
2739
|
}
|
|
2696
2740
|
function MarkdownParagraph({
|
|
2697
2741
|
node: _node,
|
|
@@ -2700,9 +2744,9 @@ function MarkdownParagraph({
|
|
|
2700
2744
|
}) {
|
|
2701
2745
|
"use memo";
|
|
2702
2746
|
if (inline) {
|
|
2703
|
-
return /* @__PURE__ */
|
|
2747
|
+
return /* @__PURE__ */ jsx4("span", { ...props });
|
|
2704
2748
|
}
|
|
2705
|
-
return /* @__PURE__ */
|
|
2749
|
+
return /* @__PURE__ */ jsx4("p", { ...props });
|
|
2706
2750
|
}
|
|
2707
2751
|
function isLocalAbsolutePath(path) {
|
|
2708
2752
|
const candidate = path.trim();
|
|
@@ -2928,14 +2972,14 @@ function markdownUrlTransform(value) {
|
|
|
2928
2972
|
const target = value.trim();
|
|
2929
2973
|
return isRichTextMentionHref(target) || isExplicitWorkspaceFilePath(target) || isStandardMarkdownLinkHref(target) ? target : defaultUrlTransform(value);
|
|
2930
2974
|
}
|
|
2931
|
-
function parseMentionLink(href, rawLabel, workspaceAppIcons = [], appFactoryFallbackLabel = "Create app") {
|
|
2975
|
+
function parseMentionLink(href, rawLabel, workspaceAppIcons = [], agentTargets = EMPTY_AGENT_TARGETS2, appFactoryFallbackLabel = "Create app") {
|
|
2932
2976
|
const mention = parseRichTextMentionHref2(href, rawLabel);
|
|
2933
2977
|
if (!mention) {
|
|
2934
2978
|
return null;
|
|
2935
2979
|
}
|
|
2936
2980
|
const resource = mention.providerId.trim().toLowerCase();
|
|
2937
|
-
const kind = resource === "agent-session" ? "session" : resource === "workspace-app" ? "workspace-app" : resource === "workspace-reference" ? "workspace-reference" : resource === "workspace-app-factory" ? "workspace-app-factory" : resource === "workspace-issue" ? "workspace-issue" : resource;
|
|
2938
|
-
if (kind !== "session" && kind !== "workspace-app" && kind !== "workspace-reference" && kind !== "workspace-app-factory" && kind !== "workspace-issue") {
|
|
2981
|
+
const kind = resource === "agent-session" ? "session" : resource === "workspace-app" ? "workspace-app" : resource === "workspace-reference" ? "workspace-reference" : resource === "workspace-app-factory" ? "workspace-app-factory" : resource === "workspace-issue" ? "workspace-issue" : resource === "agent-target" ? "agent-target" : resource;
|
|
2982
|
+
if (kind !== "session" && kind !== "agent-target" && kind !== "workspace-app" && kind !== "workspace-reference" && kind !== "workspace-app-factory" && kind !== "workspace-issue") {
|
|
2939
2983
|
return null;
|
|
2940
2984
|
}
|
|
2941
2985
|
const entityId = mention.entityId.trim();
|
|
@@ -2961,6 +3005,24 @@ function parseMentionLink(href, rawLabel, workspaceAppIcons = [], appFactoryFall
|
|
|
2961
3005
|
summary: ""
|
|
2962
3006
|
};
|
|
2963
3007
|
}
|
|
3008
|
+
if (kind === "agent-target") {
|
|
3009
|
+
const workspaceId = mention.scope?.workspaceId?.trim() || "";
|
|
3010
|
+
const target = resolveAgentTargetPresentation({
|
|
3011
|
+
agentTargetId: entityId,
|
|
3012
|
+
agentTargets,
|
|
3013
|
+
workspaceId
|
|
3014
|
+
});
|
|
3015
|
+
const agentProviderId = target?.provider?.trim() || void 0;
|
|
3016
|
+
const targetLabel = target?.name?.trim() || label;
|
|
3017
|
+
return {
|
|
3018
|
+
agentProviderId,
|
|
3019
|
+
kind,
|
|
3020
|
+
label: targetLabel,
|
|
3021
|
+
iconUrl: target?.iconUrl?.trim() || managedAgentRoundedIconUrl(agentProviderId),
|
|
3022
|
+
participant: targetLabel,
|
|
3023
|
+
summary: ""
|
|
3024
|
+
};
|
|
3025
|
+
}
|
|
2964
3026
|
if (kind === "workspace-reference") {
|
|
2965
3027
|
const source = mention.scope?.source?.trim() ?? "";
|
|
2966
3028
|
const workspaceId = mention.scope?.workspaceId?.trim() || "";
|
|
@@ -3082,7 +3144,7 @@ function PathLink({
|
|
|
3082
3144
|
onLinkClick
|
|
3083
3145
|
}) {
|
|
3084
3146
|
"use memo";
|
|
3085
|
-
return /* @__PURE__ */
|
|
3147
|
+
return /* @__PURE__ */ jsx4(
|
|
3086
3148
|
"a",
|
|
3087
3149
|
{
|
|
3088
3150
|
className: "cursor-pointer",
|
|
@@ -3155,7 +3217,7 @@ import {
|
|
|
3155
3217
|
useRef as useRef3,
|
|
3156
3218
|
useState as useState5
|
|
3157
3219
|
} from "react";
|
|
3158
|
-
import { jsx as
|
|
3220
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
3159
3221
|
var MIN_THUMB_HEIGHT = 24;
|
|
3160
3222
|
function CustomScrollbar({
|
|
3161
3223
|
getViewport,
|
|
@@ -3317,7 +3379,7 @@ function CustomScrollbar({
|
|
|
3317
3379
|
resizeObserver?.disconnect();
|
|
3318
3380
|
};
|
|
3319
3381
|
}, [getViewport, syncKey, syncScrollbarState]);
|
|
3320
|
-
return /* @__PURE__ */
|
|
3382
|
+
return /* @__PURE__ */ jsx5(
|
|
3321
3383
|
"div",
|
|
3322
3384
|
{
|
|
3323
3385
|
ref: trackRef,
|
|
@@ -3327,7 +3389,7 @@ function CustomScrollbar({
|
|
|
3327
3389
|
"data-testid": testId,
|
|
3328
3390
|
"aria-hidden": "true",
|
|
3329
3391
|
onMouseDown: handleTrackMouseDown,
|
|
3330
|
-
children: /* @__PURE__ */
|
|
3392
|
+
children: /* @__PURE__ */ jsx5(
|
|
3331
3393
|
"div",
|
|
3332
3394
|
{
|
|
3333
3395
|
className: cn("tsh-custom-scrollbar__thumb", thumbClassName),
|
|
@@ -3364,7 +3426,7 @@ var CustomScrollArea = forwardRef(function CustomScrollArea2({
|
|
|
3364
3426
|
className
|
|
3365
3427
|
),
|
|
3366
3428
|
children: [
|
|
3367
|
-
/* @__PURE__ */
|
|
3429
|
+
/* @__PURE__ */ jsx5(
|
|
3368
3430
|
"div",
|
|
3369
3431
|
{
|
|
3370
3432
|
ref: setRefs(viewportRef, forwardedRef),
|
|
@@ -3376,7 +3438,7 @@ var CustomScrollArea = forwardRef(function CustomScrollArea2({
|
|
|
3376
3438
|
children
|
|
3377
3439
|
}
|
|
3378
3440
|
),
|
|
3379
|
-
/* @__PURE__ */
|
|
3441
|
+
/* @__PURE__ */ jsx5(
|
|
3380
3442
|
CustomScrollbar,
|
|
3381
3443
|
{
|
|
3382
3444
|
getViewport,
|
|
@@ -3418,7 +3480,7 @@ import {
|
|
|
3418
3480
|
useAnimation,
|
|
3419
3481
|
useReducedMotion
|
|
3420
3482
|
} from "framer-motion";
|
|
3421
|
-
import { jsx as
|
|
3483
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
3422
3484
|
var DOT_TRANSITION = {
|
|
3423
3485
|
times: [0, 0.1, 0.1, 0.2, 0.5, 0.6, 0.6, 0.7],
|
|
3424
3486
|
duration: 1.5
|
|
@@ -3506,7 +3568,7 @@ var MessageSquareMoreIcon = forwardRef2(
|
|
|
3506
3568
|
},
|
|
3507
3569
|
[onMouseLeave, stopAnimation]
|
|
3508
3570
|
);
|
|
3509
|
-
return /* @__PURE__ */
|
|
3571
|
+
return /* @__PURE__ */ jsx6(
|
|
3510
3572
|
"div",
|
|
3511
3573
|
{
|
|
3512
3574
|
className: cn("inline-flex items-center justify-center", className),
|
|
@@ -3526,8 +3588,8 @@ var MessageSquareMoreIcon = forwardRef2(
|
|
|
3526
3588
|
width: size,
|
|
3527
3589
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3528
3590
|
children: [
|
|
3529
|
-
/* @__PURE__ */
|
|
3530
|
-
/* @__PURE__ */
|
|
3591
|
+
/* @__PURE__ */ jsx6("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" }),
|
|
3592
|
+
/* @__PURE__ */ jsx6(
|
|
3531
3593
|
motion.path,
|
|
3532
3594
|
{
|
|
3533
3595
|
animate: controls,
|
|
@@ -3536,7 +3598,7 @@ var MessageSquareMoreIcon = forwardRef2(
|
|
|
3536
3598
|
variants: DOT_VARIANTS
|
|
3537
3599
|
}
|
|
3538
3600
|
),
|
|
3539
|
-
/* @__PURE__ */
|
|
3601
|
+
/* @__PURE__ */ jsx6(
|
|
3540
3602
|
motion.path,
|
|
3541
3603
|
{
|
|
3542
3604
|
animate: controls,
|
|
@@ -3545,7 +3607,7 @@ var MessageSquareMoreIcon = forwardRef2(
|
|
|
3545
3607
|
variants: DOT_VARIANTS
|
|
3546
3608
|
}
|
|
3547
3609
|
),
|
|
3548
|
-
/* @__PURE__ */
|
|
3610
|
+
/* @__PURE__ */ jsx6(
|
|
3549
3611
|
motion.path,
|
|
3550
3612
|
{
|
|
3551
3613
|
animate: controls,
|
|
@@ -3574,9 +3636,12 @@ export {
|
|
|
3574
3636
|
resolveWorkspaceFileLinkAction,
|
|
3575
3637
|
resolveWorkspaceLinkAction,
|
|
3576
3638
|
ZoomableImage,
|
|
3639
|
+
AgentTargetPresentationProvider,
|
|
3640
|
+
useAgentTargetPresentations,
|
|
3641
|
+
resolveAgentTargetPresentation,
|
|
3577
3642
|
AgentMessageMarkdown,
|
|
3578
3643
|
AgentGUIConversation_styles_default,
|
|
3579
3644
|
CustomScrollArea,
|
|
3580
3645
|
MessageSquareMoreIcon
|
|
3581
3646
|
};
|
|
3582
|
-
//# sourceMappingURL=chunk-
|
|
3647
|
+
//# sourceMappingURL=chunk-ZFDO72FE.js.map
|