@ai-matrx/chat 0.7.7 → 0.7.8
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/CHANGELOG.md +6 -0
- package/dist/agents/components/inputs/smart-input/InputActionButtons.d.ts +2 -2
- package/dist/agents/components/inputs/smart-input/InputActionButtons.js +3 -1
- package/dist/agents/components/inputs/smart-input/SmartAgentInputStacked.js +8 -3
- package/dist/agents/components/messages-display/AgentConversationDisplay.js +1 -1
- package/dist/agents/components/messages-display/assistant/AgentEmptyMessageDisplay.js +4 -4
- package/dist/agents/components/messages-display/assistant/AssistantMessageFooter.js +4 -2
- package/dist/agents/components/messages-display/assistant/AssistantNoAnswer.js +1 -1
- package/dist/agents/components/messages-display/assistant/BreathingOrb.js +1 -1
- package/dist/agents/components/messages-display/assistant/InPlaceAnswerEditor.js +1 -1
- package/dist/agents/components/messages-display/citations/MessageSourcesRow.js +1 -1
- package/dist/agents/components/messages-display/conversation-tools/ConversationFindBar.js +4 -4
- package/dist/agents/components/messages-display/message-options/EditHistoryDialog.js +7 -7
- package/dist/agents/components/messages-display/user/AgentUserMessage.js +4 -4
- package/dist/agents/components/messages-display/user/CollabNoteMessage.js +2 -2
- package/dist/agents/components/messages-display/user/FirstTurnVariables.js +3 -3
- package/dist/agents/components/messages-display/user/PendingSendMessage.js +4 -4
- package/dist/agents/components/messages-display/user/RemarksTranscriptView.js +7 -7
- package/dist/agents/components/messages-display/user/ResourceAttachmentTile.js +9 -9
- package/dist/agents/components/messages-display/user/ResourceEditableToggleSamples.js +4 -4
- package/dist/agents/components/messages-display/user/UserActionBar.js +3 -3
- package/dist/agents/components/messages-display/user/UserMessageAttachmentStyleComparison.js +12 -12
- package/dist/agents/components/messages-display/user/UserMessageChipsDemo.js +19 -19
- package/dist/agents/components/messages-display/user/UserMessageHybridTileSamples.js +22 -22
- package/dist/agents/components/run/AgentRunnerPage.js +4 -4
- package/dist/agents/components/run/AssistantError.js +1 -1
- package/dist/agents/components/run/AssistantWarning.js +1 -1
- package/dist/agents/components/run/GenerationJobCard.js +5 -5
- package/dist/agents/components/run/IncompleteNote.js +1 -1
- package/dist/agents/components/run/RunJobWorkingLine.js +1 -1
- package/dist/agents/components/shared/AgentConversationColumn.js +1 -1
- package/dist/agents/components/shared/AgentHeaderMobile.js +6 -6
- package/dist/agents/components/shared/AgentModeController.js +1 -1
- package/dist/agents/components/shared/AutoInjectionSwitch.js +6 -6
- package/dist/agents/components/shared/DesktopFilterPanel.js +8 -8
- package/dist/agents/components/shared/transcript-layout.d.ts +9 -8
- package/dist/agents/components/shared/transcript-layout.js +2 -2
- package/dist/agents/components/smart/AgentRunner.js +1 -1
- package/dist/agents/components/smart/CreateWithAiTabs.js +1 -1
- package/dist/host/request-headers.js +3 -1
- package/dist/surfaces/manifests/agent-builder.manifest.d.ts +8 -0
- package/dist/surfaces/manifests/agent-builder.manifest.js +62 -2
- package/dist/tool-call-visualization/components/ArtifactResultBar.js +4 -4
- package/dist/tool-call-visualization/components/ChatResultColumn.d.ts +1 -1
- package/dist/tool-call-visualization/components/ToolCallBatch.js +2 -2
- package/dist/tool-call-visualization/components/ToolCallVisualization.js +5 -5
- package/dist/tool-call-visualization/components/ToolTabBodies.js +12 -12
- package/dist/tool-call-visualization/components/ToolUpdatesOverlay.js +4 -4
- package/dist/tool-call-visualization/configured-rows/ConfiguredToolRow.js +8 -8
- package/dist/tool-call-visualization/configured-rows/CopyToolButton.js +1 -1
- package/dist/tool-call-visualization/configured-rows/ToolProgressView.js +7 -7
- package/dist/tool-call-visualization/configured-rows/field-components.js +6 -6
- package/dist/tool-call-visualization/registry/GenericRenderer.js +4 -4
- package/dist/tool-call-visualization/renderers/_shared-entity/EmptyResultCard.js +1 -1
- package/dist/tool-call-visualization/renderers/_shared-entity/EntityCard.js +5 -5
- package/dist/tool-call-visualization/renderers/_shared-entity/PartPeekPopover.js +2 -2
- package/dist/tool-call-visualization/renderers/_shared-entity/ToolGlyph.js +1 -1
- package/dist/tool-call-visualization/renderers/_shared-entity/ToolResultCard.js +6 -6
- package/dist/tool-call-visualization/renderers/agent-call/AgentCallInline.js +5 -5
- package/dist/tool-call-visualization/renderers/agent-call/CollabCallCard.js +4 -4
- package/dist/tool-call-visualization/renderers/agent-call/ImageGenerationResult.js +1 -1
- package/dist/tool-call-visualization/renderers/ask/AskInline.js +3 -3
- package/dist/tool-call-visualization/renderers/ask-person/AskPersonInline.js +2 -2
- package/dist/tool-call-visualization/renderers/cloud-browser/CloudBrowserRunCard.js +5 -5
- package/dist/tool-call-visualization/renderers/ctx/CtxBatchInline.js +3 -3
- package/dist/tool-call-visualization/renderers/ctx/CtxGetInline.js +2 -2
- package/dist/tool-call-visualization/renderers/ctx/CtxItemCard.js +3 -3
- package/dist/tool-call-visualization/renderers/ctx/CtxPatchInline.js +6 -6
- package/dist/tool-call-visualization/renderers/dictionary/DictEntryList.js +12 -12
- package/dist/tool-call-visualization/renderers/dictionary/DictionaryOverlay.js +5 -5
- package/dist/tool-call-visualization/renderers/fs/FsInline.js +7 -7
- package/dist/tool-call-visualization/renderers/news-api/NewsInline.js +17 -17
- package/dist/tool-call-visualization/renderers/news-api/NewsOverlay.js +12 -12
- package/dist/tool-call-visualization/renderers/random-wheel/RandomWheelInline.js +34 -34
- package/dist/tool-call-visualization/renderers/records/RecordsInline.js +1 -1
- package/dist/tool-call-visualization/renderers/research/ResearchInline.js +10 -10
- package/dist/tool-call-visualization/renderers/research/ResearchOverlay.js +19 -19
- package/dist/tool-call-visualization/renderers/research/SubagentReportBlock.js +11 -11
- package/dist/tool-call-visualization/renderers/scrape/ScrapeInline.js +18 -18
- package/dist/tool-call-visualization/renderers/scrape/ScrapeOverlay.js +17 -17
- package/dist/tool-call-visualization/renderers/search/SearchInline.js +30 -30
- package/dist/tool-call-visualization/renderers/search/SearchOverlay.js +40 -40
- package/dist/tool-call-visualization/renderers/shell/ShellInline.js +3 -3
- package/dist/tool-call-visualization/renderers/skill/SkillInline.js +5 -5
- package/dist/tool-call-visualization/renderers/sql/DbSchemaInline.js +7 -7
- package/dist/tool-call-visualization/renderers/sql/SqlInline.js +4 -4
- package/dist/tool-call-visualization/renderers/workbook/WorkbookGrid.js +4 -4
- package/dist/tool-call-visualization/renderers/workbook/WorkbookInline.js +2 -2
- package/dist/tool-call-visualization/renderers/workbook/WorkbookOverlay.js +7 -7
- package/dist/tool-call-visualization/renderers/working-document/PatchDiffInline.js +3 -3
- package/dist/tool-call-visualization/result-fields/EmptyResult.js +1 -1
- package/dist/tool-call-visualization/result-fields/KeyValueGrid.js +9 -9
- package/dist/tool-call-visualization/result-fields/ResultFile.js +4 -4
- package/dist/tool-call-visualization/result-fields/ResultJson.js +1 -1
- package/dist/tool-call-visualization/result-fields/ResultMedia.js +2 -2
- package/dist/tool-call-visualization/result-fields/ResultScalar.js +2 -2
- package/dist/tool-call-visualization/result-fields/ResultTable.js +10 -10
- package/dist/tool-call-visualization/result-fields/ResultValue.js +7 -7
- package/dist/tool-call-visualization/result-fields/ShortId.js +3 -3
- package/dist/tool-call-visualization/result-fields/ToolErrorCard.js +4 -4
- package/dist/tool-call-visualization/result-fields/UrlChips.js +3 -3
- package/dist/tool-call-visualization/surface-write/SurfaceWriteDiff.js +2 -2
- package/dist/tool-call-visualization/surface-write/SurfaceWriteStress.js +1 -1
- package/dist/tool-call-visualization/window-panel/ToolCallWindowPanel.js +9 -9
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @ai-matrx/chat
|
|
2
2
|
|
|
3
|
+
## 0.7.8
|
|
4
|
+
|
|
5
|
+
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
|
6
|
+
`git diff npm/chat/v0.7.7..npm/chat/v0.7.8 -- apps/shared/chat`).
|
|
7
|
+
No source changes intended and no consumer action required.
|
|
8
|
+
|
|
3
9
|
## 0.7.7
|
|
4
10
|
### Unreleased
|
|
5
11
|
|
|
@@ -58,9 +58,9 @@ interface InputActionButtonsProps {
|
|
|
58
58
|
* audio) live in the + menu; Output and Effort in the agent pill's menu.
|
|
59
59
|
*/
|
|
60
60
|
folded?: boolean;
|
|
61
|
-
/**
|
|
61
|
+
/** Scope · values: after + · mic (· live audio) in Compact's row, after + in the card's own bar. */
|
|
62
62
|
leading?: React.ReactNode;
|
|
63
|
-
/** Compact's row
|
|
63
|
+
/** Agent · output · effort: the right end of Compact's row, or just left of the mic in the card's own bar. */
|
|
64
64
|
trailing?: React.ReactNode;
|
|
65
65
|
/**
|
|
66
66
|
* Which part this instance draws. Compact mounts two: `"send"` (↵, inside
|
|
@@ -202,9 +202,11 @@ function InputActionButtons({
|
|
|
202
202
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
203
203
|
plusMenu,
|
|
204
204
|
database ? /* @__PURE__ */ jsx(DesktopPresenceIndicator, { conversationId }) : null,
|
|
205
|
-
variablesToggle
|
|
205
|
+
variablesToggle,
|
|
206
|
+
composer.leading
|
|
206
207
|
] }),
|
|
207
208
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
209
|
+
composer.trailing,
|
|
208
210
|
extraRightControls,
|
|
209
211
|
micGroup,
|
|
210
212
|
liveAudioButton,
|
|
@@ -20,7 +20,7 @@ import { Button } from "@ai-matrx/design-system";
|
|
|
20
20
|
import { cn } from "@ai-matrx/design-system";
|
|
21
21
|
import { composerShows } from "./composer/composer-mode-visibility.js";
|
|
22
22
|
import { ComposerChipsRow } from "./composer/ComposerChipsRow.js";
|
|
23
|
-
import {
|
|
23
|
+
import { ComposerPills, ComposerScopeCluster, ComposerValueGroupChip } from "./composer/ComposerMetaRow.js";
|
|
24
24
|
import { useComposerFold } from "./composer/useComposerFold.js";
|
|
25
25
|
import { useTouchOnlyDevice } from "../../../../ui/composer/useTouchOnlyDevice.js";
|
|
26
26
|
function SmartAgentInputStacked({
|
|
@@ -323,7 +323,12 @@ function SmartAgentInputStacked({
|
|
|
323
323
|
onVoiceBusyChange: setVoiceBusy,
|
|
324
324
|
extraRightControls,
|
|
325
325
|
onRequestInputExpand: () => setExpandRequestKey((key) => key + 1),
|
|
326
|
-
composer:
|
|
326
|
+
composer: {
|
|
327
|
+
...composerParts,
|
|
328
|
+
// The pills live in the card's own bar: no strip under the card (rule: existing bars).
|
|
329
|
+
leading: composer.meta === "none" ? void 0 : /* @__PURE__ */ jsx(ComposerScopeCluster, { conversationId, composer, folded }),
|
|
330
|
+
trailing: composer.meta === "none" ? void 0 : /* @__PURE__ */ jsx(ComposerPills, { conversationId, composer, menuSide, folded })
|
|
331
|
+
}
|
|
327
332
|
}
|
|
328
333
|
)
|
|
329
334
|
] })
|
|
@@ -344,7 +349,7 @@ function SmartAgentInputStacked({
|
|
|
344
349
|
trailing: composer.meta === "none" ? void 0 : /* @__PURE__ */ jsx(ComposerPills, { conversationId, composer, menuSide, folded })
|
|
345
350
|
}
|
|
346
351
|
}
|
|
347
|
-
) :
|
|
352
|
+
) : null
|
|
348
353
|
]
|
|
349
354
|
}
|
|
350
355
|
);
|
|
@@ -399,7 +399,7 @@ function AgentConversationDisplay({
|
|
|
399
399
|
visibleGroups.map(
|
|
400
400
|
(group, index) => wrapGroup(group, index, renderGroupBody(group))
|
|
401
401
|
),
|
|
402
|
-
pinnedOnly && visibleGroups.length === 0 && /* @__PURE__ */ jsxs("div", { className: "py-10 text-center text-sm text-
|
|
402
|
+
pinnedOnly && visibleGroups.length === 0 && /* @__PURE__ */ jsxs("div", { className: "py-10 text-center text-sm text-muted-foreground", children: [
|
|
403
403
|
"Nothing pinned in this conversation.",
|
|
404
404
|
" ",
|
|
405
405
|
/* @__PURE__ */ jsx(Button, { variant: "quiet", tone: "primary", onClick: () => setPinnedOnly(false), children: "Show all messages" })
|
|
@@ -40,7 +40,7 @@ function AgentEmptyMessageDisplay({
|
|
|
40
40
|
if (isLongDescription && displayDescription) {
|
|
41
41
|
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col h-full justify-start text-left px-6 py-8 max-w-3xl mx-auto w-full", children: [
|
|
42
42
|
/* @__PURE__ */ jsx(RichContent, { level: "full", imagePolicy: "other", source: displayDescription, hideCopyButton: true }),
|
|
43
|
-
instruction && /* @__PURE__ */ jsx("p", { className: "text-sm text-
|
|
43
|
+
instruction && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground mt-3", children: instruction })
|
|
44
44
|
] });
|
|
45
45
|
}
|
|
46
46
|
return (
|
|
@@ -53,14 +53,14 @@ function AgentEmptyMessageDisplay({
|
|
|
53
53
|
IconResolver,
|
|
54
54
|
{
|
|
55
55
|
iconName: iconNameOverride,
|
|
56
|
-
className: "w-12 h-12 text-
|
|
56
|
+
className: "w-12 h-12 text-primary",
|
|
57
57
|
fallbackIcon: "Webhook"
|
|
58
58
|
}
|
|
59
|
-
) : /* @__PURE__ */ jsx(Webhook, { className: "w-12 h-12 text-
|
|
59
|
+
) : /* @__PURE__ */ jsx(Webhook, { className: "w-12 h-12 text-primary" }) }),
|
|
60
60
|
/* @__PURE__ */ jsxs("div", { className: "space-y-3 mx-auto", children: [
|
|
61
61
|
/* @__PURE__ */ jsx("p", { className: "text-lg font-medium", children: displayName ?? "Ready to run" }),
|
|
62
62
|
displayDescription && /* @__PURE__ */ jsx(RichContent, { level: "full", imagePolicy: "other", source: displayDescription, hideCopyButton: true }),
|
|
63
|
-
instruction && /* @__PURE__ */ jsx("p", { className: "text-sm text-
|
|
63
|
+
instruction && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground mt-1", children: instruction })
|
|
64
64
|
] })
|
|
65
65
|
] })
|
|
66
66
|
);
|
|
@@ -165,7 +165,7 @@ function AssistantMessageFooter(props) {
|
|
|
165
165
|
isLatestAssistant
|
|
166
166
|
} = useAssistantMessageActions(props);
|
|
167
167
|
const answerActions = useTranscriptLayout().answerActions;
|
|
168
|
-
const isHoverOnly = answerActions === "hover" || density === "compact" && !isLatestAssistant;
|
|
168
|
+
const isHoverOnly = answerActions === "hover" || answerActions === "latest" && !isLatestAssistant || density === "compact" && !isLatestAssistant;
|
|
169
169
|
const rowRef = useRef(null);
|
|
170
170
|
useEffect(() => {
|
|
171
171
|
const row = rowRef.current;
|
|
@@ -183,7 +183,9 @@ function AssistantMessageFooter(props) {
|
|
|
183
183
|
{
|
|
184
184
|
className: cn(
|
|
185
185
|
"transition-opacity",
|
|
186
|
-
isHoverOnly &&
|
|
186
|
+
isHoverOnly && // Hidden by opacity, never display: the row keeps its height, so revealing it shifts
|
|
187
|
+
// nothing. A touch screen has no hover, so it is always visible there.
|
|
188
|
+
"opacity-0 group-hover/assistant-msg:opacity-100 focus-within:opacity-100 [@media(hover:none)]:opacity-100"
|
|
187
189
|
),
|
|
188
190
|
children: [
|
|
189
191
|
/* @__PURE__ */ jsxs(
|
|
@@ -11,7 +11,7 @@ function AssistantNoAnswer({
|
|
|
11
11
|
const isAdmin = useAppSelector(selectIsSuperAdmin);
|
|
12
12
|
return /* @__PURE__ */ jsxs("div", { className: "mt-1 text-xs", "data-assistant-no-answer": true, children: [
|
|
13
13
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-x-2.5 gap-y-1", children: [
|
|
14
|
-
/* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 text-
|
|
14
|
+
/* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 text-muted-foreground", children: [
|
|
15
15
|
/* @__PURE__ */ jsx(CircleSlash, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
16
16
|
"This run finished without writing an answer."
|
|
17
17
|
] }),
|
|
@@ -5,7 +5,7 @@ function BreathingOrb({ className, size = 28 }) {
|
|
|
5
5
|
return /* @__PURE__ */ jsx(
|
|
6
6
|
"output",
|
|
7
7
|
{
|
|
8
|
-
className: cn("inline-flex items-center text-
|
|
8
|
+
className: cn("inline-flex items-center text-primary", className),
|
|
9
9
|
"aria-label": "Working",
|
|
10
10
|
children: /* @__PURE__ */ jsxs(
|
|
11
11
|
"svg",
|
|
@@ -37,7 +37,7 @@ function InPlaceAnswerEditor({ conversationId, messageId, startExpanded = false
|
|
|
37
37
|
};
|
|
38
38
|
}, [conversationId, messageId, dispatch]);
|
|
39
39
|
if (openedOn === null) {
|
|
40
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex min-h-40 items-center justify-center gap-2 rounded-lg border border-
|
|
40
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex min-h-40 items-center justify-center gap-2 rounded-lg border border-border text-sm text-muted-foreground", children: [
|
|
41
41
|
/* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 animate-spin" }),
|
|
42
42
|
" Opening the answer\u2026"
|
|
43
43
|
] });
|
|
@@ -15,7 +15,7 @@ function MessageSourcesRow({
|
|
|
15
15
|
const openSource = useOpenCitationSource();
|
|
16
16
|
if (sources.length === 0) return null;
|
|
17
17
|
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-1", className), children: [
|
|
18
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-
|
|
18
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Sources" }),
|
|
19
19
|
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: sources.map((source) => {
|
|
20
20
|
const label = citationSourceLabel(source);
|
|
21
21
|
const openable = citationSourceIsOpenable(source);
|
|
@@ -80,13 +80,13 @@ function ConversationFindBar({
|
|
|
80
80
|
return /* @__PURE__ */ jsxs(
|
|
81
81
|
"div",
|
|
82
82
|
{
|
|
83
|
-
className: "flex items-center gap-1 rounded-lg border border-
|
|
83
|
+
className: "flex items-center gap-1 rounded-lg border border-border bg-card px-2 py-1 shadow-sm",
|
|
84
84
|
role: "search",
|
|
85
85
|
"aria-label": "Find in this conversation",
|
|
86
86
|
"data-find-ignore": "",
|
|
87
87
|
children: [
|
|
88
88
|
/* @__PURE__ */ jsx("style", { children: HIGHLIGHT_CSS }),
|
|
89
|
-
/* @__PURE__ */ jsx(Search, { className: "h-3.5 w-3.5 shrink-0 text-
|
|
89
|
+
/* @__PURE__ */ jsx(Search, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground", "aria-hidden": "true" }),
|
|
90
90
|
/* @__PURE__ */ jsx(
|
|
91
91
|
"input",
|
|
92
92
|
{
|
|
@@ -107,7 +107,7 @@ function ConversationFindBar({
|
|
|
107
107
|
},
|
|
108
108
|
placeholder: "Find in conversation",
|
|
109
109
|
"aria-label": "Find in conversation",
|
|
110
|
-
className: "min-w-0 flex-1 bg-transparent text-base outline-none placeholder:text-
|
|
110
|
+
className: "min-w-0 flex-1 bg-transparent text-base outline-none placeholder:text-muted-foreground md:text-sm"
|
|
111
111
|
}
|
|
112
112
|
),
|
|
113
113
|
/* @__PURE__ */ jsx(
|
|
@@ -115,7 +115,7 @@ function ConversationFindBar({
|
|
|
115
115
|
{
|
|
116
116
|
className: cn(
|
|
117
117
|
"min-w-0 max-w-[55%] truncate text-xs tabular-nums",
|
|
118
|
-
ranges.length === 0 && query.trim() && history.state !== "loading" && settled ? "text-destructive" : "text-
|
|
118
|
+
ranges.length === 0 && query.trim() && history.state !== "loading" && settled ? "text-destructive" : "text-muted-foreground"
|
|
119
119
|
),
|
|
120
120
|
"aria-live": "polite",
|
|
121
121
|
title: status,
|
|
@@ -69,7 +69,7 @@ function HistoryEntryCard({
|
|
|
69
69
|
const truncated = preview.length > 400 ? `${preview.slice(0, 400)}\u2026` : preview || "(empty)";
|
|
70
70
|
const savedAt = new Date(entry.saved_at);
|
|
71
71
|
const versionLabel = total > 1 ? `Version ${total - index}` : "Previous version";
|
|
72
|
-
return /* @__PURE__ */ jsxs("div", { className: "border border-
|
|
72
|
+
return /* @__PURE__ */ jsxs("div", { className: "border border-border rounded-md overflow-hidden bg-card", children: [
|
|
73
73
|
/* @__PURE__ */ jsxs(
|
|
74
74
|
"button",
|
|
75
75
|
{
|
|
@@ -78,22 +78,22 @@ function HistoryEntryCard({
|
|
|
78
78
|
onClick: () => setExpanded(!expanded),
|
|
79
79
|
children: [
|
|
80
80
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [
|
|
81
|
-
/* @__PURE__ */ jsx(Clock, { className: "w-3.5 h-3.5 text-
|
|
81
|
+
/* @__PURE__ */ jsx(Clock, { className: "w-3.5 h-3.5 text-muted-foreground flex-shrink-0" }),
|
|
82
82
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex flex-col", children: [
|
|
83
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-
|
|
84
|
-
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-
|
|
83
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-foreground", children: versionLabel }),
|
|
84
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-muted-foreground", children: savedAt.toLocaleString() })
|
|
85
85
|
] })
|
|
86
86
|
] }),
|
|
87
87
|
/* @__PURE__ */ jsx(
|
|
88
88
|
ChevronRight,
|
|
89
89
|
{
|
|
90
|
-
className: `w-3.5 h-3.5 text-
|
|
90
|
+
className: `w-3.5 h-3.5 text-muted-foreground transition-transform ${expanded ? "rotate-90" : ""}`
|
|
91
91
|
}
|
|
92
92
|
)
|
|
93
93
|
]
|
|
94
94
|
}
|
|
95
95
|
),
|
|
96
|
-
expanded && /* @__PURE__ */ jsxs("div", { className: "px-3 pb-3 border-t border-
|
|
96
|
+
expanded && /* @__PURE__ */ jsxs("div", { className: "px-3 pb-3 border-t border-border", children: [
|
|
97
97
|
/* @__PURE__ */ jsx("div", { className: "mt-2 text-xs text-foreground/80 whitespace-pre-wrap leading-relaxed max-h-48 overflow-y-auto bg-muted/30 rounded p-2 font-mono", children: truncated }),
|
|
98
98
|
/* @__PURE__ */ jsxs("div", { className: "mt-2 flex justify-end gap-2", children: [
|
|
99
99
|
/* @__PURE__ */ jsx(
|
|
@@ -177,7 +177,7 @@ function HistoryContent({
|
|
|
177
177
|
}
|
|
178
178
|
};
|
|
179
179
|
if (ordered.length === 0) {
|
|
180
|
-
return /* @__PURE__ */ jsx("div", { className: "py-8 text-center text-sm text-
|
|
180
|
+
return /* @__PURE__ */ jsx("div", { className: "py-8 text-center text-sm text-muted-foreground", children: "No edit history yet. Inline edits and saves will appear here." });
|
|
181
181
|
}
|
|
182
182
|
return /* @__PURE__ */ jsx(ScrollArea, { className: "max-h-[60dvh]", children: /* @__PURE__ */ jsx("div", { className: "space-y-2 p-1", children: ordered.map((entry, i) => /* @__PURE__ */ jsx(
|
|
183
183
|
HistoryEntryCard,
|
|
@@ -80,7 +80,7 @@ function AgentUserMessageContent({
|
|
|
80
80
|
imagePolicy: "other",
|
|
81
81
|
content: literalUserText(trimmedText),
|
|
82
82
|
serverProcessedBlocks: hasBodyBlocks ? bodyBlocks : void 0,
|
|
83
|
-
className: "text-xs text-
|
|
83
|
+
className: "text-xs text-foreground",
|
|
84
84
|
hideCopyButton: true,
|
|
85
85
|
allowFullScreenEditor: false
|
|
86
86
|
}
|
|
@@ -245,7 +245,7 @@ function AgentUserMessage({
|
|
|
245
245
|
{
|
|
246
246
|
className: cn("group relative", compact ? "" : "ml-12"),
|
|
247
247
|
"data-testid": "user-message-empty",
|
|
248
|
-
children: /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-dashed border-
|
|
248
|
+
children: /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-dashed border-border bg-muted/40 px-3 py-2 text-xs text-muted-foreground", children: [
|
|
249
249
|
"This message has no displayable text.",
|
|
250
250
|
isSuperAdmin && /* @__PURE__ */ jsxs("span", { className: "ml-1 font-mono", children: [
|
|
251
251
|
"[",
|
|
@@ -294,8 +294,8 @@ function AgentUserMessage({
|
|
|
294
294
|
{
|
|
295
295
|
className: compactUserMessage ? (
|
|
296
296
|
// Tight: no inset from the left, and the markdown paragraph's own margins dropped.
|
|
297
|
-
"bg-
|
|
298
|
-
) : "bg-
|
|
297
|
+
"bg-muted rounded-md px-3 py-2 [&_.math-content-wrapper]:my-0 [&_p:last-child]:mb-0"
|
|
298
|
+
) : "bg-muted border border-border rounded-lg px-2 py-2",
|
|
299
299
|
"data-user-message-style": compactUserMessage ? "compact" : "card",
|
|
300
300
|
children: /* @__PURE__ */ jsxs("div", { className: "relative min-w-0", children: [
|
|
301
301
|
/* @__PURE__ */ jsxs(
|
|
@@ -37,11 +37,11 @@ function CollabNoteMessage({
|
|
|
37
37
|
children: [
|
|
38
38
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 border-b border-violet-500/15 px-2.5 py-1.5", children: [
|
|
39
39
|
/* @__PURE__ */ jsx(Handshake, { className: "h-3.5 w-3.5 shrink-0 text-violet-600 dark:text-violet-400" }),
|
|
40
|
-
/* @__PURE__ */ jsxs("span", { className: "text-xs font-medium text-
|
|
40
|
+
/* @__PURE__ */ jsxs("span", { className: "text-xs font-medium text-foreground", children: [
|
|
41
41
|
"Collaboration note",
|
|
42
42
|
agentName ? ` \u2014 ${agentName}` : ""
|
|
43
43
|
] }),
|
|
44
|
-
/* @__PURE__ */ jsx("span", { className: "text-[11px] text-
|
|
44
|
+
/* @__PURE__ */ jsx("span", { className: "text-[11px] text-muted-foreground", children: "left after reviewing this conversation" })
|
|
45
45
|
] }),
|
|
46
46
|
/* @__PURE__ */ jsx("div", { className: "px-2.5 py-2 text-sm", children: /* @__PURE__ */ jsx(BasicMarkdownContent, { imagePolicy: "ai", content: body, showCopyButton: false }) })
|
|
47
47
|
]
|
|
@@ -35,7 +35,7 @@ function UserMessageVariables({
|
|
|
35
35
|
{
|
|
36
36
|
className: "text-xs leading-snug text-foreground/90",
|
|
37
37
|
children: [
|
|
38
|
-
/* @__PURE__ */ jsxs("span", { className: "font-medium text-
|
|
38
|
+
/* @__PURE__ */ jsxs("span", { className: "font-medium text-foreground", children: [
|
|
39
39
|
l.label,
|
|
40
40
|
":"
|
|
41
41
|
] }),
|
|
@@ -84,14 +84,14 @@ function FirstTurnLaunchInputs({
|
|
|
84
84
|
},
|
|
85
85
|
"aria-expanded": open,
|
|
86
86
|
title: open ? "Hide the inputs" : "Show the inputs this run started with",
|
|
87
|
-
className: "flex flex-wrap items-center gap-1 rounded text-left text-xs text-
|
|
87
|
+
className: "flex flex-wrap items-center gap-1 rounded text-left text-xs text-muted-foreground hover:text-foreground",
|
|
88
88
|
children: [
|
|
89
89
|
/* @__PURE__ */ jsx(Chevron, { className: "h-3 w-3 shrink-0" }),
|
|
90
90
|
/* @__PURE__ */ jsx("span", { className: "font-medium", children: "Started with:" }),
|
|
91
91
|
lines.map((l) => /* @__PURE__ */ jsx(
|
|
92
92
|
"span",
|
|
93
93
|
{
|
|
94
|
-
className: "rounded-full border border-
|
|
94
|
+
className: "rounded-full border border-border bg-background px-1.5 py-px text-xs text-foreground",
|
|
95
95
|
children: l.label
|
|
96
96
|
},
|
|
97
97
|
l.key
|
|
@@ -48,7 +48,7 @@ function PendingSendMessage({
|
|
|
48
48
|
{
|
|
49
49
|
className: cn(
|
|
50
50
|
"w-full rounded-lg border px-3 py-2 text-sm whitespace-pre-wrap break-words",
|
|
51
|
-
failed ? "border-destructive/40 bg-destructive/5 text-
|
|
51
|
+
failed ? "border-destructive/40 bg-destructive/5 text-foreground" : "border-border bg-muted text-foreground/80"
|
|
52
52
|
),
|
|
53
53
|
children: preSend.text || "(no text)"
|
|
54
54
|
}
|
|
@@ -59,7 +59,7 @@ function PendingSendMessage({
|
|
|
59
59
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
60
60
|
preSend.error ?? "This message could not be prepared. Nothing was sent.",
|
|
61
61
|
" ",
|
|
62
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
62
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "Your text is still in the box below." })
|
|
63
63
|
] })
|
|
64
64
|
] }),
|
|
65
65
|
/* @__PURE__ */ jsxs(
|
|
@@ -83,13 +83,13 @@ function PendingSendMessage({
|
|
|
83
83
|
{
|
|
84
84
|
size: "sm",
|
|
85
85
|
variant: "ghost",
|
|
86
|
-
className: "h-7 gap-1 px-2 text-xs text-
|
|
86
|
+
className: "h-7 gap-1 px-2 text-xs text-muted-foreground",
|
|
87
87
|
"aria-label": "Dismiss",
|
|
88
88
|
onClick: () => dispatch(setPreSend({ conversationId, preSend: null })),
|
|
89
89
|
children: /* @__PURE__ */ jsx(X, { className: "h-3 w-3" })
|
|
90
90
|
}
|
|
91
91
|
)
|
|
92
|
-
] }) : /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-xs text-
|
|
92
|
+
] }) : /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
|
|
93
93
|
/* @__PURE__ */ jsx(Loader2, { className: "h-3 w-3 animate-spin" }),
|
|
94
94
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
95
95
|
preSend.label,
|
|
@@ -51,7 +51,7 @@ function readRows(payload) {
|
|
|
51
51
|
function RemarkDiff({ diff }) {
|
|
52
52
|
const parts = splitRemarkDiff(diff);
|
|
53
53
|
if (!parts) {
|
|
54
|
-
return /* @__PURE__ */ jsx("pre", { className: "overflow-x-auto whitespace-pre-wrap font-mono text-[11px] text-
|
|
54
|
+
return /* @__PURE__ */ jsx("pre", { className: "overflow-x-auto whitespace-pre-wrap font-mono text-[11px] text-foreground", children: diff });
|
|
55
55
|
}
|
|
56
56
|
return /* @__PURE__ */ jsx("div", { className: "text-[11px] leading-snug", "data-remark-diff": true, children: /* @__PURE__ */ jsx(InlineTextDiff, { view: "inline", original: parts.before, modified: parts.after }) });
|
|
57
57
|
}
|
|
@@ -60,14 +60,14 @@ function RemarksTranscriptView({ payload }) {
|
|
|
60
60
|
if (rows.length === 0) return null;
|
|
61
61
|
return /* @__PURE__ */ jsx("div", { className: "my-1 grid gap-1", children: rows.map((row, i) => {
|
|
62
62
|
const { icon: Icon, label } = remarkKindDisplay(row.kind);
|
|
63
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-start gap-1.5 rounded-md border border-
|
|
63
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-start gap-1.5 rounded-md border border-border bg-card px-2 py-1 text-xs", "data-remark-handle": row.handle ?? void 0, children: [
|
|
64
64
|
/* @__PURE__ */ jsx(Icon, { className: "mt-0.5 h-3.5 w-3.5 shrink-0 text-amber-600 dark:text-amber-400", "aria-label": label }),
|
|
65
65
|
/* @__PURE__ */ jsxs("div", { className: "grid min-w-0 gap-0.5", children: [
|
|
66
|
-
row.quote || row.title ? /* @__PURE__ */ jsx("div", { className: "truncate border-l-2 border-primary/40 pl-1.5 text-
|
|
67
|
-
row.body ? /* @__PURE__ */ jsx("div", { className: "whitespace-pre-wrap text-
|
|
66
|
+
row.quote || row.title ? /* @__PURE__ */ jsx("div", { className: "truncate border-l-2 border-primary/40 pl-1.5 text-muted-foreground", children: row.quote ?? row.title }) : null,
|
|
67
|
+
row.body ? /* @__PURE__ */ jsx("div", { className: "whitespace-pre-wrap text-foreground", children: row.body }) : null,
|
|
68
68
|
row.diff ? /* @__PURE__ */ jsx(RemarkDiff, { diff: row.diff }) : null,
|
|
69
|
-
row.answers.length ? /* @__PURE__ */ jsx("ul", { className: "grid gap-0.5 text-
|
|
70
|
-
/* @__PURE__ */ jsxs("span", { className: "text-
|
|
69
|
+
row.answers.length ? /* @__PURE__ */ jsx("ul", { className: "grid gap-0.5 text-foreground", children: row.answers.map((a, j) => /* @__PURE__ */ jsxs("li", { className: "truncate", children: [
|
|
70
|
+
/* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
|
|
71
71
|
a.question,
|
|
72
72
|
":"
|
|
73
73
|
] }),
|
|
@@ -75,7 +75,7 @@ function RemarksTranscriptView({ payload }) {
|
|
|
75
75
|
a.answer
|
|
76
76
|
] }, j)) }) : null
|
|
77
77
|
] }),
|
|
78
|
-
row.handle ? /* @__PURE__ */ jsx("span", { className: "ml-auto shrink-0 font-mono text-[10px] text-
|
|
78
|
+
row.handle ? /* @__PURE__ */ jsx("span", { className: "ml-auto shrink-0 font-mono text-[10px] text-muted-foreground", title: `Remark ${row.handle}`, children: row.handle }) : null
|
|
79
79
|
] }, i);
|
|
80
80
|
}) });
|
|
81
81
|
}
|
|
@@ -134,7 +134,7 @@ function ResourceAttachmentTile({
|
|
|
134
134
|
}
|
|
135
135
|
) }),
|
|
136
136
|
/* @__PURE__ */ jsxs(TooltipContent, { side: "top", className: "max-w-[16rem]", children: [
|
|
137
|
-
/* @__PURE__ */ jsx("div", { className: "text-[10px] uppercase tracking-wide text-
|
|
137
|
+
/* @__PURE__ */ jsx("div", { className: "text-[10px] uppercase tracking-wide text-muted-foreground", children: typeLabel }),
|
|
138
138
|
/* @__PURE__ */ jsx("div", { className: "font-medium text-popover-foreground", children: title }),
|
|
139
139
|
showToggle && /* @__PURE__ */ jsx("div", { className: "mt-0.5 text-[10px] text-muted-foreground/80", children: editable ? "Agent can edit" : "Read-only to agent" })
|
|
140
140
|
] })
|
|
@@ -143,8 +143,8 @@ function ResourceAttachmentTile({
|
|
|
143
143
|
) }),
|
|
144
144
|
hasControls ? /* @__PURE__ */ jsxs(PopoverContent, { sizing: "content", side: "top", align: "end", sideOffset: 6, className: "p-1", children: [
|
|
145
145
|
/* @__PURE__ */ jsxs("div", { className: "px-2 py-1.5", children: [
|
|
146
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-semibold text-
|
|
147
|
-
/* @__PURE__ */ jsx("p", { className: "text-[10px] uppercase tracking-wide text-
|
|
146
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-semibold text-foreground", children: title }),
|
|
147
|
+
/* @__PURE__ */ jsx("p", { className: "text-[10px] uppercase tracking-wide text-muted-foreground", children: typeLabel })
|
|
148
148
|
] }),
|
|
149
149
|
onClick ? /* @__PURE__ */ jsx(Tile, { variant: "quiet", icon: /* @__PURE__ */ jsx(ExternalLink, {}), title: "Open", onClick: (e) => {
|
|
150
150
|
stop(e);
|
|
@@ -203,9 +203,9 @@ function ResourceAttachmentTile({
|
|
|
203
203
|
) : error ? /* @__PURE__ */ jsx(AlertCircle, { className: "h-3.5 w-3.5 shrink-0 text-destructive" }) : createElement(Icon, {
|
|
204
204
|
className: cn("h-3.5 w-3.5 shrink-0", theme.icon)
|
|
205
205
|
}) }),
|
|
206
|
-
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate whitespace-nowrap text-[9px] font-semibold leading-none text-
|
|
206
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate whitespace-nowrap text-[9px] font-semibold leading-none text-muted-foreground uppercase tracking-wide", children: typeLabel })
|
|
207
207
|
] }),
|
|
208
|
-
/* @__PURE__ */ jsx("span", { className: "block w-full min-w-0 truncate whitespace-nowrap text-[10px] leading-none text-
|
|
208
|
+
/* @__PURE__ */ jsx("span", { className: "block w-full min-w-0 truncate whitespace-nowrap text-[10px] leading-none text-foreground font-medium", children: title })
|
|
209
209
|
]
|
|
210
210
|
}
|
|
211
211
|
),
|
|
@@ -228,7 +228,7 @@ function ResourceAttachmentTile({
|
|
|
228
228
|
},
|
|
229
229
|
className: cn(
|
|
230
230
|
"inline-flex items-center justify-center rounded-full p-0.5",
|
|
231
|
-
"text-muted-foreground/80 hover:bg-black/10 hover:text-
|
|
231
|
+
"text-muted-foreground/80 hover:bg-black/10 hover:text-foreground",
|
|
232
232
|
"dark:hover:bg-white/10 transition-colors"
|
|
233
233
|
),
|
|
234
234
|
children: /* @__PURE__ */ jsx(X, { className: "h-2.5 w-2.5" })
|
|
@@ -252,7 +252,7 @@ function ResourceAttachmentTile({
|
|
|
252
252
|
toggleEditable();
|
|
253
253
|
}
|
|
254
254
|
},
|
|
255
|
-
className: "inline-flex items-center justify-center rounded-full p-0.5 text-
|
|
255
|
+
className: "inline-flex items-center justify-center rounded-full p-0.5 text-foreground",
|
|
256
256
|
children: editable ? /* @__PURE__ */ jsx(Pencil, { className: "h-2.5 w-2.5" }) : /* @__PURE__ */ jsx(Lock, { className: "h-2.5 w-2.5" })
|
|
257
257
|
}
|
|
258
258
|
) }),
|
|
@@ -272,8 +272,8 @@ function ResourceAttachmentTile({
|
|
|
272
272
|
className: "p-1",
|
|
273
273
|
children: [
|
|
274
274
|
/* @__PURE__ */ jsxs("div", { className: "px-2 py-1.5", children: [
|
|
275
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-semibold text-
|
|
276
|
-
/* @__PURE__ */ jsx("p", { className: "text-[10px] uppercase tracking-wide text-
|
|
275
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-semibold text-foreground", children: title }),
|
|
276
|
+
/* @__PURE__ */ jsx("p", { className: "text-[10px] uppercase tracking-wide text-muted-foreground", children: typeLabel })
|
|
277
277
|
] }),
|
|
278
278
|
showToggle ? /* @__PURE__ */ jsx(Tile, { variant: "quiet", icon: editable ? /* @__PURE__ */ jsx(Lock, {}) : /* @__PURE__ */ jsx(Pencil, {}), title: editable ? "Make read-only" : "Allow agent editing", onClick: (e) => {
|
|
279
279
|
stop(e);
|
|
@@ -46,9 +46,9 @@ function ResourceEditableToggleSamples() {
|
|
|
46
46
|
}
|
|
47
47
|
}, [dispatch]);
|
|
48
48
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
49
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-1 border-b border-
|
|
50
|
-
/* @__PURE__ */ jsx("h2", { className: "text-base font-semibold text-
|
|
51
|
-
/* @__PURE__ */ jsxs("p", { className: "text-xs text-
|
|
49
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1 border-b border-border pb-2", children: [
|
|
50
|
+
/* @__PURE__ */ jsx("h2", { className: "text-base font-semibold text-foreground", children: "All attachment chips together" }),
|
|
51
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground max-w-3xl", children: [
|
|
52
52
|
"The real ",
|
|
53
53
|
/* @__PURE__ */ jsx("code", { className: "text-[10px]", children: "SmartAgentResourceChips" }),
|
|
54
54
|
" ",
|
|
@@ -59,7 +59,7 @@ function ResourceEditableToggleSamples() {
|
|
|
59
59
|
" when unlocked."
|
|
60
60
|
] })
|
|
61
61
|
] }),
|
|
62
|
-
/* @__PURE__ */ jsx("div", { className: "bg-
|
|
62
|
+
/* @__PURE__ */ jsx("div", { className: "bg-muted border border-border rounded-lg py-2 max-w-3xl", children: /* @__PURE__ */ jsx(SmartAgentResourceChips, { conversationId: DEMO_CONV_ALL_RESOURCES }) })
|
|
63
63
|
] });
|
|
64
64
|
}
|
|
65
65
|
export {
|
|
@@ -192,7 +192,7 @@ function UserActionBar({
|
|
|
192
192
|
{
|
|
193
193
|
onClick: handleEdit,
|
|
194
194
|
ariaLabel: "Edit message",
|
|
195
|
-
icon: /* @__PURE__ */ jsx(Edit, { className: "w-4 h-4 text-
|
|
195
|
+
icon: /* @__PURE__ */ jsx(Edit, { className: "w-4 h-4 text-muted-foreground" })
|
|
196
196
|
}
|
|
197
197
|
),
|
|
198
198
|
/* @__PURE__ */ jsx(
|
|
@@ -209,7 +209,7 @@ function UserActionBar({
|
|
|
209
209
|
onClick: () => void togglePinnedMessage(messageId),
|
|
210
210
|
ariaLabel: pinPending ? isPinned ? "Unpinning\u2026" : "Pinning\u2026" : isPinned ? "Unpin message" : "Pin message",
|
|
211
211
|
disabled: pinPending,
|
|
212
|
-
icon: pinPending ? /* @__PURE__ */ jsx(Loader2, { className: "w-4 h-4 animate-spin text-
|
|
212
|
+
icon: pinPending ? /* @__PURE__ */ jsx(Loader2, { className: "w-4 h-4 animate-spin text-muted-foreground" }) : isPinned ? /* @__PURE__ */ jsx(PinOff, { className: "w-4 h-4 text-amber-500 dark:text-amber-400" }) : /* @__PURE__ */ jsx(Pin, { className: "w-4 h-4 text-muted-foreground" })
|
|
213
213
|
}
|
|
214
214
|
),
|
|
215
215
|
showOptions && /* @__PURE__ */ jsx(
|
|
@@ -218,7 +218,7 @@ function UserActionBar({
|
|
|
218
218
|
ref: setMoreOptionsAnchor,
|
|
219
219
|
onClick: () => setShowOptionsMenu(true),
|
|
220
220
|
ariaLabel: "More options",
|
|
221
|
-
icon: /* @__PURE__ */ jsx(MoreHorizontal, { className: "w-4 h-4 text-
|
|
221
|
+
icon: /* @__PURE__ */ jsx(MoreHorizontal, { className: "w-4 h-4 text-muted-foreground" })
|
|
222
222
|
}
|
|
223
223
|
)
|
|
224
224
|
] }) : null
|
package/dist/agents/components/messages-display/user/UserMessageAttachmentStyleComparison.js
CHANGED
|
@@ -46,16 +46,16 @@ function SentMessageChip({ spec }) {
|
|
|
46
46
|
function ThumbnailTile({ spec }) {
|
|
47
47
|
const Icon = COMPARISON_ICONS[spec.id] ?? FileText;
|
|
48
48
|
const isImage = spec.id === "image-legacy";
|
|
49
|
-
return /* @__PURE__ */ jsx("div", { className: "relative rounded-lg overflow-hidden border border-
|
|
49
|
+
return /* @__PURE__ */ jsx("div", { className: "relative rounded-lg overflow-hidden border border-border shrink-0", children: isImage ? /* @__PURE__ */ jsx(
|
|
50
50
|
"div",
|
|
51
51
|
{
|
|
52
52
|
className: "h-10 w-10 bg-gradient-to-br from-blue-100 to-indigo-200 dark:from-blue-950/60 dark:to-indigo-900/40 flex items-center justify-center",
|
|
53
53
|
title: spec.title,
|
|
54
54
|
children: /* @__PURE__ */ jsx(ImageIcon, { className: "h-4 w-4 text-blue-600 dark:text-blue-400" })
|
|
55
55
|
}
|
|
56
|
-
) : /* @__PURE__ */ jsxs("div", { className: "h-10 w-12 flex flex-col items-center justify-center bg-
|
|
57
|
-
/* @__PURE__ */ jsx(Icon, { className: "h-6 w-6 text-
|
|
58
|
-
/* @__PURE__ */ jsx("span", { className: "text-[8px] text-
|
|
56
|
+
) : /* @__PURE__ */ jsxs("div", { className: "h-10 w-12 flex flex-col items-center justify-center bg-muted py-1", children: [
|
|
57
|
+
/* @__PURE__ */ jsx(Icon, { className: "h-6 w-6 text-muted-foreground mb-1" }),
|
|
58
|
+
/* @__PURE__ */ jsx("span", { className: "text-[8px] text-muted-foreground text-center truncate w-full px-1", children: spec.title })
|
|
59
59
|
] }) });
|
|
60
60
|
}
|
|
61
61
|
function ComparisonColumn({
|
|
@@ -67,14 +67,14 @@ function ComparisonColumn({
|
|
|
67
67
|
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col min-w-0", children: [
|
|
68
68
|
/* @__PURE__ */ jsxs("div", { className: "mb-2 space-y-0.5", children: [
|
|
69
69
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 flex-wrap", children: [
|
|
70
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-
|
|
71
|
-
badge ? /* @__PURE__ */ jsx("span", { className: "text-[10px] font-medium uppercase tracking-wide text-
|
|
70
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
71
|
+
badge ? /* @__PURE__ */ jsx("span", { className: "text-[10px] font-medium uppercase tracking-wide text-muted-foreground bg-muted px-1.5 py-0.5 rounded border border-border", children: badge }) : null
|
|
72
72
|
] }),
|
|
73
|
-
/* @__PURE__ */ jsx("p", { className: "text-[11px] text-
|
|
73
|
+
/* @__PURE__ */ jsx("p", { className: "text-[11px] text-muted-foreground font-mono", children: source })
|
|
74
74
|
] }),
|
|
75
|
-
/* @__PURE__ */ jsx("div", { className: "bg-
|
|
75
|
+
/* @__PURE__ */ jsx("div", { className: "bg-muted border border-border rounded-lg px-2 py-2 flex-1", children: /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
|
|
76
76
|
children,
|
|
77
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-
|
|
77
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-foreground whitespace-pre-wrap pt-1", children: "Can you review these attachments and summarize next steps?" })
|
|
78
78
|
] }) })
|
|
79
79
|
] });
|
|
80
80
|
}
|
|
@@ -84,8 +84,8 @@ function UserMessageAttachmentStyleComparison({
|
|
|
84
84
|
}) {
|
|
85
85
|
return /* @__PURE__ */ jsxs("section", { className: "space-y-4", children: [
|
|
86
86
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
87
|
-
/* @__PURE__ */ jsx("h2", { className: "text-base font-semibold text-
|
|
88
|
-
/* @__PURE__ */ jsxs("p", { className: "text-xs text-
|
|
87
|
+
/* @__PURE__ */ jsx("h2", { className: "text-base font-semibold text-foreground border-b border-border pb-2", children: "Side-by-side: attachment styles" }),
|
|
88
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground mt-2 max-w-3xl", children: [
|
|
89
89
|
"Same six fake resources in each column. Input bar and sent messages both use ",
|
|
90
90
|
/* @__PURE__ */ jsx("code", { className: "text-[10px]", children: "ResourceAttachmentTile" }),
|
|
91
91
|
" ",
|
|
@@ -120,7 +120,7 @@ function UserMessageAttachmentStyleComparison({
|
|
|
120
120
|
conversationId: inputChipsConversationId
|
|
121
121
|
}
|
|
122
122
|
) }),
|
|
123
|
-
/* @__PURE__ */ jsxs("p", { className: "text-[10px] text-
|
|
123
|
+
/* @__PURE__ */ jsxs("p", { className: "text-[10px] text-muted-foreground", children: [
|
|
124
124
|
"Hover for previews. Use the corner Remove control. Image/audio with",
|
|
125
125
|
" ",
|
|
126
126
|
/* @__PURE__ */ jsx("code", { className: "text-[10px]", children: "file_id" }),
|