@parhelia/core 0.1.12939 → 0.1.12940
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/agents-view/AgentCard.js +1 -1
- package/dist/agents-view/AgentsView.js +1 -1
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/DateAgentsGroup.js +1 -1
- package/dist/agents-view/DateAgentsGroup.js.map +1 -1
- package/dist/components/ui/context-menu.js +5 -0
- package/dist/components/ui/context-menu.js.map +1 -1
- package/dist/components/ui/popover.d.ts +2 -0
- package/dist/components/ui/popover.js +62 -1
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/config/notificationRoutes.js +86 -97
- package/dist/config/notificationRoutes.js.map +1 -1
- package/dist/editor/ai/Agents.js +24 -1
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +2 -10
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +2 -2
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentProfileSwitcher.d.ts +4 -0
- package/dist/editor/ai/terminal/components/AgentProfileSwitcher.js +76 -11
- package/dist/editor/ai/terminal/components/AgentProfileSwitcher.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +18 -5
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +0 -2
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +3 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +3 -3
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +0 -2
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +10 -42
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/types.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js +3 -1
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js +19 -2
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentInitialPrompt.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentInitialPrompt.js +3 -1
- package/dist/editor/ai/terminal/useAgentInitialPrompt.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.js +3 -1
- package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentProfileSelection.d.ts +18 -0
- package/dist/editor/ai/terminal/useAgentProfileSelection.js +37 -7
- package/dist/editor/ai/terminal/useAgentProfileSelection.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentQuickActions.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentQuickActions.js +3 -61
- package/dist/editor/ai/terminal/useAgentQuickActions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsCommands.d.ts +10 -0
- package/dist/editor/ai/terminal/useAgentSettingsCommands.js +65 -23
- package/dist/editor/ai/terminal/useAgentSettingsCommands.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsPanel.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js +4 -3
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +6 -1
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +29 -3
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/bridge/protocol.d.ts +4 -0
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/menubar/PageSelector.js +7 -16
- package/dist/editor/menubar/PageSelector.js.map +1 -1
- package/dist/editor/menubar/pageSelectorHistoryFilter.d.ts +2 -0
- package/dist/editor/menubar/pageSelectorHistoryFilter.js +15 -0
- package/dist/editor/menubar/pageSelectorHistoryFilter.js.map +1 -0
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +11 -3
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
- package/dist/editor/page-viewer/MiniMap.d.ts +3 -0
- package/dist/editor/page-viewer/MiniMap.js +9 -2
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +72 -76
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +12 -0
- package/dist/editor/page-viewer/bridgeFieldPatch.js +34 -0
- package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
- package/dist/editor/page-viewer/bridgeTextCompletion.d.ts +25 -0
- package/dist/editor/page-viewer/bridgeTextCompletion.js +98 -0
- package/dist/editor/page-viewer/bridgeTextCompletion.js.map +1 -0
- package/dist/editor/reviews/Comments.js +31 -2
- package/dist/editor/reviews/Comments.js.map +1 -1
- package/dist/editor/reviews/CreateReviewDialog.js +3 -1
- package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
- package/dist/editor/reviews/EditReviewSettingsDialog.js +52 -96
- package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
- package/dist/editor/reviews/ReviewCard.d.ts +6 -3
- package/dist/editor/reviews/ReviewCard.js +62 -35
- package/dist/editor/reviews/ReviewCard.js.map +1 -1
- package/dist/editor/reviews/ReviewDetail.d.ts +1 -1
- package/dist/editor/reviews/ReviewDetail.js +83 -93
- package/dist/editor/reviews/ReviewDetail.js.map +1 -1
- package/dist/editor/reviews/ReviewItemsPanel.d.ts +29 -0
- package/dist/editor/reviews/ReviewItemsPanel.js +176 -0
- package/dist/editor/reviews/ReviewItemsPanel.js.map +1 -0
- package/dist/editor/reviews/ReviewersPanel.d.ts +1 -1
- package/dist/editor/reviews/ReviewersPanel.js +108 -235
- package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
- package/dist/editor/reviews/ReviewsList.d.ts +1 -1
- package/dist/editor/reviews/ReviewsList.js +116 -67
- package/dist/editor/reviews/ReviewsList.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +2 -16
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/feedbackSelection.d.ts +2 -1
- package/dist/editor/reviews/feedbackSelection.js +18 -1
- package/dist/editor/reviews/feedbackSelection.js.map +1 -1
- package/dist/editor/reviews/pendingFeedbackFocus.d.ts +19 -0
- package/dist/editor/reviews/pendingFeedbackFocus.js +36 -0
- package/dist/editor/reviews/pendingFeedbackFocus.js.map +1 -0
- package/dist/editor/reviews/reviewListPresentation.d.ts +19 -0
- package/dist/editor/reviews/reviewListPresentation.js +78 -0
- package/dist/editor/reviews/reviewListPresentation.js.map +1 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/contentService.js +16 -0
- package/dist/editor/services/contentService.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/NewPage.d.ts +7 -0
- package/dist/splash-screen/NewPage.js +11 -6
- package/dist/splash-screen/NewPage.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentPromptInputArea.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentPromptInputArea.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EACL,gBAAgB,GAEjB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAwCnE,MAAM,UAAU,oBAAoB,CAAC,EACnC,sBAAsB,EACtB,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,WAAW,EACX,cAAc,EACd,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,cAAc,EACd,SAAS,EACT,OAAO,EACP,OAAO,EACP,MAAM,EACN,0BAA0B,EAC1B,kBAAkB,EAClB,YAAY,GAAG,SAAS,EACxB,YAAY,GACc;IAC1B,MAAM,UAAU,GAAG,YAAY,EAAE,UAAU,IAAI,KAAK,CAAC;IACrD,MAAM,aAAa,GAAG,YAAY,KAAK,MAAM,CAAC;IAC9C,MAAM,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,IAAI,sBAAsB,EAAE,CAAC;QAC3B,OAAO,CACL,KAAC,gBAAgB,IACf,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,sBAAsB,CAAC,IAAI,EACjC,WAAW,EAAE,kBAAkB,EAC/B,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EACzD,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,2BAA2B,EACvC,QAAQ,EAAE,yBAAyB,GACnC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO,CACL,KAAC,gBAAgB,IACf,GAAG,EAAE,yBAAyB,EAC9B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,kBAAkB,EAC/B,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EACzD,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,2BAA2B,EACvC,QAAQ,EAAE,yBAAyB,GACnC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAwB;QACzC,GAAG,CAAC,kBAAkB;YACpB,CAAC,CAAC,EAAE,kBAAkB,EAAE,sBAAsB,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,aAAa,EAAE,GAAG,qBAAqB,IAAI;QAC3C,uEAAuE;QACvE,
|
|
1
|
+
{"version":3,"file":"AgentPromptInputArea.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentPromptInputArea.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentSummaryAssistantResponse.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentSummaryAssistantResponse.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentSummaryAssistantResponse.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentSummaryAssistantResponse.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAuB9E,MAAM,UAAU,6BAA6B,CAAC,EAC5C,YAAY,EACZ,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,OAAO,EACP,mBAAmB,EACnB,oBAAoB,EACpB,QAAQ,EACR,aAAa,GACsB;IACnC,MAAM,eAAe,GAAG,8BAA8B,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9E,MAAM,iBAAiB,GAAG,4BAA4B,CACpD,eAAe,EACf,UAAU,CACX,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAC,uBAAuB,YACpC,KAAC,iBAAiB,IAChB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC,WAAW,EACnD,cAAc,EAAE,iBAAiB,EACjC,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,EAAE,OAAO,EAChB,mBAAmB,EAAE,mBAAmB,EACxC,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,GAChD,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -20,5 +20,7 @@ export interface AgentTerminalFullLayoutProps {
|
|
|
20
20
|
statusBarContent: ReactNode;
|
|
21
21
|
attachmentsContent?: ReactNode;
|
|
22
22
|
dropHandlers?: AgentPromptComposerProps["dropHandlers"];
|
|
23
|
+
/** Keeps the composer out of the DOM until its agent profile is authoritative. */
|
|
24
|
+
showPromptComposer?: boolean;
|
|
23
25
|
}
|
|
24
|
-
export declare function AgentTerminalFullLayout({ className, parentAgentId, simpleMode, isInitialGreetingMode, onBackToParent, readOnlyAccessNotice, upperContent, inlineDialog, aboveComposer, promptComposerProps, promptControls, attachmentsContent, dropHandlers, }: AgentTerminalFullLayoutProps): import("react").JSX.Element;
|
|
26
|
+
export declare function AgentTerminalFullLayout({ className, parentAgentId, simpleMode, isInitialGreetingMode, onBackToParent, readOnlyAccessNotice, upperContent, inlineDialog, aboveComposer, promptComposerProps, promptControls, attachmentsContent, dropHandlers, showPromptComposer, }: AgentTerminalFullLayoutProps): import("react").JSX.Element;
|
|
@@ -3,7 +3,7 @@ import { useLayoutEffect, useRef, useState } from "react";
|
|
|
3
3
|
import { cn } from "../../../../lib/utils";
|
|
4
4
|
import { AgentParentLink } from "./AgentParentLink";
|
|
5
5
|
import { AgentPromptComposer, } from "./AgentPromptComposer";
|
|
6
|
-
export function AgentTerminalFullLayout({ className, parentAgentId, simpleMode, isInitialGreetingMode, onBackToParent, readOnlyAccessNotice, upperContent, inlineDialog, aboveComposer, promptComposerProps, promptControls, attachmentsContent, dropHandlers, }) {
|
|
6
|
+
export function AgentTerminalFullLayout({ className, parentAgentId, simpleMode, isInitialGreetingMode, onBackToParent, readOnlyAccessNotice, upperContent, inlineDialog, aboveComposer, promptComposerProps, promptControls, attachmentsContent, dropHandlers, showPromptComposer = true, }) {
|
|
7
7
|
const previousInitialGreetingModeRef = useRef(isInitialGreetingMode);
|
|
8
8
|
const [isGreetingHeightAnimating, setIsGreetingHeightAnimating] = useState(false);
|
|
9
9
|
useLayoutEffect(() => {
|
|
@@ -19,6 +19,6 @@ export function AgentTerminalFullLayout({ className, parentAgentId, simpleMode,
|
|
|
19
19
|
const keepGreetingStackPosition = isInitialGreetingMode || isGreetingHeightAnimating;
|
|
20
20
|
const content = (_jsxs(_Fragment, { children: [upperContent, inlineDialog] }));
|
|
21
21
|
const promptComposer = (_jsx(AgentPromptComposer, { ...promptComposerProps, reserveBottomControlsSpace: !!promptControls, attachmentsContent: attachmentsContent, dropHandlers: dropHandlers, className: cn("shrink-0", simpleMode ? "pb-10" : undefined, !aboveComposer && keepGreetingStackPosition ? "mt-6" : undefined), surface: aboveComposer ? "project" : "default", children: aboveComposer ? null : promptControls }));
|
|
22
|
-
return (_jsxs("div", { "data-agent-terminal-root": "true", className: cn("mx-auto flex h-full min-h-0 w-full max-w-[750px] flex-col", keepGreetingStackPosition ? "justify-center" : undefined, className), children: [_jsx(AgentParentLink, { parentAgentId: parentAgentId, simpleMode: simpleMode, onBack: onBackToParent }), readOnlyAccessNotice, content, aboveComposer ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: cn("border-border-default mx-3 shrink-0 overflow-hidden rounded-[16px] border bg-white sm:mx-4", keepGreetingStackPosition ? "mt-6" : undefined), children: [aboveComposer, promptComposer] }), _jsx("div", { className: "shrink-0 px-4 pb-2", children: promptControls })] })) : (promptComposer)] }));
|
|
22
|
+
return (_jsxs("div", { "data-agent-terminal-root": "true", className: cn("mx-auto flex h-full min-h-0 w-full max-w-[750px] flex-col", keepGreetingStackPosition ? "justify-center" : undefined, className), children: [_jsx(AgentParentLink, { parentAgentId: parentAgentId, simpleMode: simpleMode, onBack: onBackToParent }), readOnlyAccessNotice, content, !showPromptComposer ? null : aboveComposer ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: cn("border-border-default mx-3 shrink-0 overflow-hidden rounded-[16px] border bg-white sm:mx-4", keepGreetingStackPosition ? "mt-6" : undefined), children: [aboveComposer, promptComposer] }), _jsx("div", { className: "shrink-0 px-4 pb-2", children: promptControls })] })) : (promptComposer)] }));
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=AgentTerminalFullLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentTerminalFullLayout.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentTerminalFullLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,mBAAmB,GAEpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentTerminalFullLayout.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentTerminalFullLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,mBAAmB,GAEpB,MAAM,uBAAuB,CAAC;AA0B/B,MAAM,UAAU,uBAAuB,CAAC,EACtC,SAAS,EACT,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,GAAG,IAAI,GACI;IAC7B,MAAM,8BAA8B,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrE,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAC7D,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElB,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,sBAAsB,GAAG,8BAA8B,CAAC,OAAO,CAAC;QACtE,8BAA8B,CAAC,OAAO,GAAG,qBAAqB,CAAC;QAE/D,IAAI,CAAC,sBAAsB,IAAI,qBAAqB,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QAED,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CACjC,GAAG,EAAE,CAAC,4BAA4B,CAAC,KAAK,CAAC,EACzC,GAAG,CACJ,CAAC;QACF,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5B,MAAM,yBAAyB,GAC7B,qBAAqB,IAAI,yBAAyB,CAAC;IAErD,MAAM,OAAO,GAAG,CACd,8BACG,YAAY,EACZ,YAAY,IACZ,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG,CACrB,KAAC,mBAAmB,OACd,mBAAmB,EACvB,0BAA0B,EAAE,CAAC,CAAC,cAAc,EAC5C,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,EAAE,CACX,UAAU,EACV,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAChC,CAAC,aAAa,IAAI,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CACjE,EACD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAE7C,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,GAClB,CACvB,CAAC;IAEF,OAAO,CACL,2CAC2B,MAAM,EAC/B,SAAS,EAAE,EAAE,CACX,2DAA2D,EAC3D,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,EACxD,SAAS,CACV,aAED,KAAC,eAAe,IACd,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,cAAc,GACtB,EACD,oBAAoB,EACpB,OAAO,EACP,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAC5C,8BACE,eACE,SAAS,EAAE,EAAE,CACX,4FAA4F,EAC5F,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAC/C,aAEA,aAAa,EACb,cAAc,IACX,EACN,cAAK,SAAS,EAAC,oBAAoB,YAAE,cAAc,GAAO,IACzD,CACJ,CAAC,CAAC,CAAC,CACF,cAAc,CACf,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -17,7 +17,7 @@ export interface AgentTerminalFullUpperContentProps {
|
|
|
17
17
|
hideGreeting: boolean;
|
|
18
18
|
isLoading: boolean;
|
|
19
19
|
activeProfile?: AiProfile;
|
|
20
|
-
onGreetingPromptClick
|
|
20
|
+
onGreetingPromptClick?: (prompt: string) => void;
|
|
21
21
|
showInitialThinkingSplash: boolean;
|
|
22
22
|
operations: EditOperation[];
|
|
23
23
|
isExecuting: boolean;
|
|
@@ -13,6 +13,7 @@ export interface AgentTerminalViewProps {
|
|
|
13
13
|
fullPromptControlsProps: AgentTerminalFullPromptControlsProps;
|
|
14
14
|
inlineDialogContent: React.ReactNode;
|
|
15
15
|
isQuestionnaireDialogOpen: boolean;
|
|
16
|
+
isProfileResolved: boolean;
|
|
16
17
|
viewedContext?: AgentMetadata | null;
|
|
17
18
|
}
|
|
18
|
-
export declare function AgentTerminalView({ loadingContent, displayMode, summaryLayoutProps, fullLayoutProps, fullUpperContentProps, fullPromptControlsProps, inlineDialogContent, isQuestionnaireDialogOpen, viewedContext, }: AgentTerminalViewProps): string | number | bigint | true | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element;
|
|
19
|
+
export declare function AgentTerminalView({ loadingContent, displayMode, summaryLayoutProps, fullLayoutProps, fullUpperContentProps, fullPromptControlsProps, inlineDialogContent, isQuestionnaireDialogOpen, isProfileResolved, viewedContext, }: AgentTerminalViewProps): string | number | bigint | true | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element;
|
|
@@ -9,12 +9,12 @@ import { AgentActivityOverviewPanel } from "./AgentActivityOverviewPanel";
|
|
|
9
9
|
import { AgentSuggestionBanner } from "./AgentSuggestionBanner";
|
|
10
10
|
import { AgentDocumentList } from "./AgentDocumentList";
|
|
11
11
|
import { AgentProjectProgress } from "./AgentProjectProgress";
|
|
12
|
-
export function AgentTerminalView({ loadingContent, displayMode, summaryLayoutProps, fullLayoutProps, fullUpperContentProps, fullPromptControlsProps, inlineDialogContent, isQuestionnaireDialogOpen, viewedContext, }) {
|
|
12
|
+
export function AgentTerminalView({ loadingContent, displayMode, summaryLayoutProps, fullLayoutProps, fullUpperContentProps, fullPromptControlsProps, inlineDialogContent, isQuestionnaireDialogOpen, isProfileResolved, viewedContext, }) {
|
|
13
13
|
if (loadingContent) {
|
|
14
14
|
return loadingContent;
|
|
15
15
|
}
|
|
16
16
|
if (displayMode === "summary") {
|
|
17
|
-
return _jsx(AgentTerminalSummaryLayout, { ...summaryLayoutProps });
|
|
17
|
+
return (_jsx(AgentTerminalSummaryLayout, { ...summaryLayoutProps, showSummaryInput: isProfileResolved && summaryLayoutProps.showSummaryInput }));
|
|
18
18
|
}
|
|
19
19
|
const showTrayPopovers = !fullUpperContentProps.simpleMode &&
|
|
20
20
|
!fullUpperContentProps.hideContext &&
|
|
@@ -37,6 +37,6 @@ export function AgentTerminalView({ loadingContent, displayMode, summaryLayoutPr
|
|
|
37
37
|
const panelInlineDialog = isQuestionnaireDialogOpen
|
|
38
38
|
? null
|
|
39
39
|
: inlineDialogContent;
|
|
40
|
-
return (_jsx(AgentTerminalFullLayout, { ...fullLayoutProps, upperContent: _jsx(AgentTerminalFullUpperContent, { ...fullUpperContentProps, conversationInlineDialog: conversationInlineDialog }), inlineDialog: panelInlineDialog, aboveComposer: _jsxs(_Fragment, { children: [_jsx(AgentSuggestionBanner, { suggestion: fullUpperContentProps.agentSuggestion, agent: fullUpperContentProps.agent, activeProfile: fullUpperContentProps.activeProfile, onDismiss: () => fullUpperContentProps.onDismissSuggestion?.(), onSwitchProfile: (targetProfileId) => fullUpperContentProps.onSwitchProfileFromSuggestion?.(targetProfileId) }), _jsx(AgentProjectProgress, { agent: fullUpperContentProps.agent, agentMetadata: fullUpperContentProps.agentMetadata, messages: fullUpperContentProps.messages }), showTrayPopovers ? (_jsx(AgentActivityOverviewPanel, { operations: fullUpperContentProps.operations, messages: fullUpperContentProps.messages })) : null] }), promptControls: _jsx(AgentTerminalFullPromptControls, { ...fullPromptControlsProps, footerStatusContent: footerStatusContent, editHistoryControl: editHistoryControl, leadingControls: trayOverlay }), attachmentsContent: composerAttachmentsContent }));
|
|
40
|
+
return (_jsx(AgentTerminalFullLayout, { ...fullLayoutProps, showPromptComposer: isProfileResolved, upperContent: _jsx(AgentTerminalFullUpperContent, { ...fullUpperContentProps, conversationInlineDialog: conversationInlineDialog }), inlineDialog: panelInlineDialog, aboveComposer: _jsxs(_Fragment, { children: [_jsx(AgentSuggestionBanner, { suggestion: fullUpperContentProps.agentSuggestion, agent: fullUpperContentProps.agent, activeProfile: fullUpperContentProps.activeProfile, onDismiss: () => fullUpperContentProps.onDismissSuggestion?.(), onSwitchProfile: (targetProfileId) => fullUpperContentProps.onSwitchProfileFromSuggestion?.(targetProfileId) }), _jsx(AgentProjectProgress, { agent: fullUpperContentProps.agent, agentMetadata: fullUpperContentProps.agentMetadata, messages: fullUpperContentProps.messages }), showTrayPopovers ? (_jsx(AgentActivityOverviewPanel, { operations: fullUpperContentProps.operations, messages: fullUpperContentProps.messages })) : null] }), promptControls: _jsx(AgentTerminalFullPromptControls, { ...fullPromptControlsProps, footerStatusContent: footerStatusContent, editHistoryControl: editHistoryControl, leadingControls: trayOverlay }), attachmentsContent: composerAttachmentsContent }));
|
|
41
41
|
}
|
|
42
42
|
//# sourceMappingURL=AgentTerminalView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentTerminalView.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentTerminalView.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,+BAA+B,GAEhC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,6BAA6B,GAE9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,0BAA0B,GAE3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentTerminalView.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentTerminalView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,6 @@ export declare function AiResponseMessage({ messages, finished, editOperations,
|
|
|
10
10
|
label: string;
|
|
11
11
|
prompt?: string;
|
|
12
12
|
value?: string;
|
|
13
|
-
manualSectionId?: string;
|
|
14
|
-
manualSectionTitle?: string;
|
|
15
13
|
behavior?: "compose" | "submit";
|
|
16
14
|
placeholder?: string;
|
|
17
15
|
}, message: Message) => void;
|
|
@@ -17,6 +17,7 @@ import { PlaceholderInput } from "../../../../components/ui/PlaceholderInput";
|
|
|
17
17
|
import { sanitizeHtml } from "../../../../lib/sanitize";
|
|
18
18
|
import { cn } from "../../../../lib/utils";
|
|
19
19
|
import { hasPromptPlaceholders } from "../agentPromptPlaceholders";
|
|
20
|
+
const hasQuickActionSubmission = (action) => [action?.prompt, action?.value].some((value) => value != null && String(value).trim().length > 0);
|
|
20
21
|
// Helper to extract partial quick actions from potentially incomplete JSON during streaming
|
|
21
22
|
const extractPartialQuickActions = (jsonText) => {
|
|
22
23
|
const actions = [];
|
|
@@ -33,7 +34,7 @@ const extractPartialQuickActions = (jsonText) => {
|
|
|
33
34
|
: parsed?.actions || parsed?.buttons || parsed?.choices || [];
|
|
34
35
|
if (Array.isArray(rawActions)) {
|
|
35
36
|
rawActions.forEach((a) => {
|
|
36
|
-
if (!a)
|
|
37
|
+
if (!a || !hasQuickActionSubmission(a))
|
|
37
38
|
return;
|
|
38
39
|
const label = a.label || a.text || String(a.value || a.prompt || "");
|
|
39
40
|
if (label) {
|
|
@@ -42,8 +43,6 @@ const extractPartialQuickActions = (jsonText) => {
|
|
|
42
43
|
label,
|
|
43
44
|
prompt: a.prompt,
|
|
44
45
|
value: a.value,
|
|
45
|
-
manualSectionId: a.manualSectionId,
|
|
46
|
-
manualSectionTitle: a.manualSectionTitle,
|
|
47
46
|
style: a.style,
|
|
48
47
|
behavior: a.behavior &&
|
|
49
48
|
(a.behavior === "compose" || a.behavior === "submit")
|
|
@@ -120,6 +119,8 @@ const extractPartialQuickActions = (jsonText) => {
|
|
|
120
119
|
: jsonText.substring(openBrace) + "}"; // Try to close incomplete object
|
|
121
120
|
try {
|
|
122
121
|
const obj = JSON.parse(objStr);
|
|
122
|
+
if (!hasQuickActionSubmission(obj))
|
|
123
|
+
continue;
|
|
123
124
|
const actionLabel = obj.label || obj.text || String(obj.value || obj.prompt || "");
|
|
124
125
|
if (actionLabel) {
|
|
125
126
|
actions.push({
|
|
@@ -127,8 +128,6 @@ const extractPartialQuickActions = (jsonText) => {
|
|
|
127
128
|
label: actionLabel,
|
|
128
129
|
prompt: obj.prompt,
|
|
129
130
|
value: obj.value,
|
|
130
|
-
manualSectionId: obj.manualSectionId,
|
|
131
|
-
manualSectionTitle: obj.manualSectionTitle,
|
|
132
131
|
style: obj.style,
|
|
133
132
|
behavior: obj.behavior &&
|
|
134
133
|
(obj.behavior === "compose" || obj.behavior === "submit")
|
|
@@ -380,15 +379,13 @@ function parseContentSegments(content, hideIncomplete) {
|
|
|
380
379
|
const actions = [];
|
|
381
380
|
if (Array.isArray(rawActions)) {
|
|
382
381
|
rawActions.forEach((a) => {
|
|
383
|
-
if (!a)
|
|
382
|
+
if (!a || !hasQuickActionSubmission(a))
|
|
384
383
|
return;
|
|
385
384
|
const action = {
|
|
386
385
|
id: a.id,
|
|
387
386
|
label: a.label || a.text || String(a.value || a.prompt || ""),
|
|
388
387
|
prompt: a.prompt,
|
|
389
388
|
value: a.value,
|
|
390
|
-
manualSectionId: a.manualSectionId,
|
|
391
|
-
manualSectionTitle: a.manualSectionTitle,
|
|
392
389
|
style: a.style,
|
|
393
390
|
behavior: a.behavior &&
|
|
394
391
|
(a.behavior === "compose" || a.behavior === "submit")
|
|
@@ -503,15 +500,13 @@ function parseContentSegments(content, hideIncomplete) {
|
|
|
503
500
|
const actions = [];
|
|
504
501
|
if (Array.isArray(rawActions)) {
|
|
505
502
|
rawActions.forEach((a) => {
|
|
506
|
-
if (!a)
|
|
503
|
+
if (!a || !hasQuickActionSubmission(a))
|
|
507
504
|
return;
|
|
508
505
|
const action = {
|
|
509
506
|
id: a.id,
|
|
510
507
|
label: a.label || a.text || String(a.value || a.prompt || ""),
|
|
511
508
|
prompt: a.prompt,
|
|
512
509
|
value: a.value,
|
|
513
|
-
manualSectionId: a.manualSectionId,
|
|
514
|
-
manualSectionTitle: a.manualSectionTitle,
|
|
515
510
|
style: a.style,
|
|
516
511
|
behavior: a.behavior &&
|
|
517
512
|
(a.behavior === "compose" || a.behavior === "submit")
|
|
@@ -1031,8 +1026,7 @@ function ThinkingBlock({ text, isStreaming, isCollapsed, thinkingKey, onToggleCo
|
|
|
1031
1026
|
}, [text, isStreaming, isCollapsed]);
|
|
1032
1027
|
return (_jsxs("div", { className: `my-2 flex flex-col gap-1 text-[11px] transition-colors duration-200 ${isStreaming ? "text-neutral-grey-100" : "text-neutral-grey-50"}`, children: [_jsxs("div", { className: "text-neutral-grey-50 hover:text-neutral-grey-100 flex cursor-pointer items-center gap-1.5 p-2 text-[10px] font-medium tracking-wider transition-colors", onClick: onToggleCollapse, children: [isCollapsed ? _jsx(ChevronRight, { size: 12 }) : _jsx(ChevronDown, { size: 12 }), _jsx(Brain, { size: 12, className: isStreaming ? "animate-pulse" : "" }), _jsx("span", { children: "Thinking" }), isStreaming && (_jsx(Loader2, { className: "text-neutral-grey-50 ml-1 h-3 w-3 animate-spin", strokeWidth: 1.5 }))] }), !isCollapsed && (_jsxs("div", { ref: contentRef, className: `prose-sm max-h-[6rem] overflow-y-auto px-2 pb-2 leading-relaxed whitespace-pre-wrap italic ${isStreaming ? "text-neutral-grey-50" : ""}`, children: [text, isStreaming && (_jsx("span", { className: "bg-neutral-grey-50 ml-0.5 inline-block h-3 w-0.5 animate-pulse" }))] }))] }));
|
|
1033
1028
|
}
|
|
1034
|
-
const
|
|
1035
|
-
const getQuickActionSubmittableText = (action) => (action.prompt || action.value || getQuickActionLabel(action) || "").trim();
|
|
1029
|
+
const getQuickActionSubmittableText = (action) => (action.prompt || action.value || "").trim();
|
|
1036
1030
|
// Renders a "Recommended actions" card. Actions whose prompt carries
|
|
1037
1031
|
// {{placeholder}} / <<placeholder>> tokens expand an inline template editor
|
|
1038
1032
|
// directly beneath the button (animated open/close) instead of routing the
|
|
@@ -1050,7 +1044,7 @@ function QuickActionsCard({ headline, actions, message, className, onQuickAction
|
|
|
1050
1044
|
const renderedAction = renderedIndex !== null ? actions[renderedIndex] : undefined;
|
|
1051
1045
|
const isOpen = expandedIndex !== null;
|
|
1052
1046
|
return (_jsxs("div", { className: cn("border-neutral-grey-10 my-3 rounded-2xl border bg-white px-3 py-2.5", className), children: [headline && (_jsx("div", { className: "text-neutral-grey-100 mb-2.5 text-[13px] leading-4 font-medium", children: headline })), _jsx("div", { className: "flex flex-wrap gap-2", children: actions.map((a, aIdx) => {
|
|
1053
|
-
const buttonLabel =
|
|
1047
|
+
const buttonLabel = a.label;
|
|
1054
1048
|
const variant = a.style === "destructive"
|
|
1055
1049
|
? "destructive"
|
|
1056
1050
|
: a.style === "outline"
|
|
@@ -1076,8 +1070,6 @@ function QuickActionsCard({ headline, actions, message, className, onQuickAction
|
|
|
1076
1070
|
label: buttonLabel,
|
|
1077
1071
|
prompt: a.prompt,
|
|
1078
1072
|
value: a.value,
|
|
1079
|
-
manualSectionId: a.manualSectionId,
|
|
1080
|
-
manualSectionTitle: a.manualSectionTitle,
|
|
1081
1073
|
behavior: a.behavior,
|
|
1082
1074
|
placeholder: a.placeholder,
|
|
1083
1075
|
}, message);
|
|
@@ -1091,7 +1083,7 @@ function QuickActionsCard({ headline, actions, message, className, onQuickAction
|
|
|
1091
1083
|
// Submitting the filled template sends the prompt directly,
|
|
1092
1084
|
// regardless of the action's original behavior.
|
|
1093
1085
|
onQuickAction?.({
|
|
1094
|
-
label:
|
|
1086
|
+
label: renderedAction.label,
|
|
1095
1087
|
prompt: filledText,
|
|
1096
1088
|
behavior: "submit",
|
|
1097
1089
|
}, message);
|
|
@@ -1377,27 +1369,6 @@ export function AiResponseMessage({ messages, finished, editOperations, error, o
|
|
|
1377
1369
|
allowableScope: scopeByToolCallId.get(item.toolCallId),
|
|
1378
1370
|
}));
|
|
1379
1371
|
}, [flatItems, allPendingApprovals]);
|
|
1380
|
-
// Check if any reasoning block is currently showing a spinner
|
|
1381
|
-
const isAnyReasoningStreaming = useMemo(() => {
|
|
1382
|
-
if (!isStreaming || allPendingApprovals?.length)
|
|
1383
|
-
return false;
|
|
1384
|
-
// Check if the last item is a reasoning segment that hasn't started output yet
|
|
1385
|
-
const lastItem = flatItems[flatItems.length - 1];
|
|
1386
|
-
if (lastItem?.type === "segment" &&
|
|
1387
|
-
lastItem.segment.kind === "reasoning" &&
|
|
1388
|
-
lastItem.isLastMessage) {
|
|
1389
|
-
const message = lastItem.message;
|
|
1390
|
-
const contentString = (message.content ||
|
|
1391
|
-
message.formattedContent ||
|
|
1392
|
-
"");
|
|
1393
|
-
const hasToolCalls = (message.tool_calls && message.tool_calls.length > 0) ||
|
|
1394
|
-
(preservedToolCalls[message.id] &&
|
|
1395
|
-
preservedToolCalls[message.id].length > 0);
|
|
1396
|
-
const hasStartedOutput = contentString.trim().length > 0 || hasToolCalls;
|
|
1397
|
-
return !hasStartedOutput;
|
|
1398
|
-
}
|
|
1399
|
-
return false;
|
|
1400
|
-
}, [isStreaming, flatItems, allPendingApprovals?.length, preservedToolCalls]);
|
|
1401
1372
|
// Extract copyable text content from all text and reasoning segments
|
|
1402
1373
|
const copyableText = useMemo(() => {
|
|
1403
1374
|
const textParts = [];
|
|
@@ -1540,10 +1511,7 @@ export function AiResponseMessage({ messages, finished, editOperations, error, o
|
|
|
1540
1511
|
return (_jsx(ActivityBlockGroup, { entries: displayItem.entries, isLive: isLive, renderEntry: (entry) => renderFlatItem(entry.item, entry.index) }, displayItem.key));
|
|
1541
1512
|
}
|
|
1542
1513
|
return renderFlatItem(displayItem.entry.item, displayItem.entry.index);
|
|
1543
|
-
}),
|
|
1544
|
-
!error &&
|
|
1545
|
-
!allPendingApprovals?.length &&
|
|
1546
|
-
!isAnyReasoningStreaming && (_jsx("div", { className: "pt-2", "data-testid": "agent-streaming-indicator", children: _jsx("span", { className: "animate-text-shimmer text-xs font-medium", children: "Thinking..." }) })), (copyableText || (finished && editOperations.length > 0)) && (_jsxs("div", { className: "mt-3 flex items-center justify-end gap-2", children: [copyableText && (_jsx(CopyButton, { textToCopy: copyableText, iconOnly: false, className: "text-neutral-grey-50 hover:text-neutral-grey-50 flex cursor-pointer items-center gap-1 p-0 text-xs" })), finished && editOperations.length > 0 && (_jsxs(_Fragment, { children: [canUndo && !changesRejected && !confirmingUndo && (_jsxs("button", { type: "button", title: `Undo ${editOperations.length} change${editOperations.length !== 1 ? "s" : ""}`, className: "tour-ai-response-message-changes text-neutral-grey-50 hover:text-neutral-grey-50 flex cursor-pointer items-center gap-1 text-xs", onClick: (e) => {
|
|
1514
|
+
}), (copyableText || (finished && editOperations.length > 0)) && (_jsxs("div", { className: "mt-3 flex items-center justify-end gap-2", children: [copyableText && (_jsx(CopyButton, { textToCopy: copyableText, iconOnly: false, className: "text-neutral-grey-50 hover:text-neutral-grey-50 flex cursor-pointer items-center gap-1 p-0 text-xs" })), finished && editOperations.length > 0 && (_jsxs(_Fragment, { children: [canUndo && !changesRejected && !confirmingUndo && (_jsxs("button", { type: "button", title: `Undo ${editOperations.length} change${editOperations.length !== 1 ? "s" : ""}`, className: "tour-ai-response-message-changes text-neutral-grey-50 hover:text-neutral-grey-50 flex cursor-pointer items-center gap-1 text-xs", onClick: (e) => {
|
|
1547
1515
|
e.stopPropagation();
|
|
1548
1516
|
setConfirmingUndo(true);
|
|
1549
1517
|
}, children: [_jsx(Undo2, { strokeWidth: 1.5, size: 12 }), " Undo"] })), canUndo && !changesRejected && confirmingUndo && (_jsxs("div", { className: "flex items-center gap-2 text-xs", children: [_jsxs("span", { className: "text-neutral-grey-50", children: ["Undo ", editOperations.length, " change", editOperations.length !== 1 ? "s" : "", "?"] }), _jsx("button", { type: "button", className: "text-feedback-red hover:text-feedback-red cursor-pointer", onClick: async (e) => {
|