@parhelia/core 0.1.12886 → 0.1.12889
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.d.ts +2 -1
- package/dist/agents-view/AgentCard.js +16 -35
- package/dist/agents-view/AgentCard.js.map +1 -1
- package/dist/agents-view/AgentGalleryCard.d.ts +12 -0
- package/dist/agents-view/AgentGalleryCard.js +13 -0
- package/dist/agents-view/AgentGalleryCard.js.map +1 -0
- package/dist/agents-view/AgentGalleryView.d.ts +18 -0
- package/dist/agents-view/AgentGalleryView.js +88 -0
- package/dist/agents-view/AgentGalleryView.js.map +1 -0
- package/dist/agents-view/AgentsView.js +39 -11
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +40 -21
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/agents-view/DateAgentsGroup.d.ts +2 -1
- package/dist/agents-view/DateAgentsGroup.js +2 -2
- package/dist/agents-view/DateAgentsGroup.js.map +1 -1
- package/dist/agents-view/ProfileAgentsGroup.d.ts +2 -1
- package/dist/agents-view/ProfileAgentsGroup.js +5 -5
- package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
- package/dist/agents-view/RenameAgentDialog.d.ts +12 -0
- package/dist/agents-view/RenameAgentDialog.js +40 -0
- package/dist/agents-view/RenameAgentDialog.js.map +1 -0
- package/dist/components/FilterInput.d.ts +2 -0
- package/dist/components/FilterInput.js +4 -2
- package/dist/components/FilterInput.js.map +1 -1
- package/dist/components/ui/alert-dialog.d.ts +1 -1
- package/dist/components/ui/alert-dialog.js +5 -5
- package/dist/components/ui/alert-dialog.js.map +1 -1
- package/dist/components/ui/alert.d.ts +3 -2
- package/dist/components/ui/alert.js +9 -4
- package/dist/components/ui/alert.js.map +1 -1
- package/dist/components/ui/badge.d.ts +1 -1
- package/dist/components/ui/button.d.ts +9 -4
- package/dist/components/ui/button.js +16 -9
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/dialog.d.ts +1 -1
- package/dist/components/ui/dialog.js +4 -3
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/styled-dialog-title.js +1 -1
- package/dist/components/ui/styled-dialog-title.js.map +1 -1
- package/dist/editor/FieldListField.js +6 -2
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/GlobalMenuBar.js +2 -1
- package/dist/editor/GlobalMenuBar.js.map +1 -1
- package/dist/editor/LinkEditorDialog.js +3 -3
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/ai/AgentInlineDialogContent.js +1 -1
- package/dist/editor/ai/AgentInlineDialogContent.js.map +1 -1
- package/dist/editor/ai/Agents.js +2 -2
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.js +1 -1
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +52 -82
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- package/dist/editor/ai/terminal/agentQuestionnaireRecap.d.ts +82 -0
- package/dist/editor/ai/terminal/agentQuestionnaireRecap.js +277 -0
- package/dist/editor/ai/terminal/agentQuestionnaireRecap.js.map +1 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.d.ts +3 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js +3 -3
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionLiveTotals.d.ts +5 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.js +14 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionSnapshot.js +2 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +5 -2
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentProjectProgress.d.ts +12 -0
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js +207 -0
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +4 -3
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +4 -19
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +5 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +33 -2
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +2 -0
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +20 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +11 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +59 -7
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.d.ts +9 -0
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.js +56 -0
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.js.map +1 -0
- package/dist/editor/ai/terminal/contextBreakdown.d.ts +17 -0
- package/dist/editor/ai/terminal/contextBreakdown.js +58 -0
- package/dist/editor/ai/terminal/contextBreakdown.js.map +1 -0
- package/dist/editor/ai/terminal/types.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.d.ts +29 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js +68 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js +8 -3
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentInlineDialogState.d.ts +10 -3
- package/dist/editor/ai/terminal/useAgentInlineDialogState.js +33 -4
- package/dist/editor/ai/terminal/useAgentInlineDialogState.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js +16 -2
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +3 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSession.js +12 -1
- package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.d.ts +3 -0
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js +6 -1
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +48 -4
- 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/ai/terminal/useAgentToolCallHandler.js +13 -1
- package/dist/editor/ai/terminal/useAgentToolCallHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js +31 -7
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js.map +1 -1
- package/dist/editor/bridge/BridgeClient.d.ts +1 -8
- package/dist/editor/bridge/BridgeClient.js +2 -4
- package/dist/editor/bridge/BridgeClient.js.map +1 -1
- package/dist/editor/bridge/protocol.d.ts +517 -0
- package/dist/editor/bridge/protocol.js +188 -0
- package/dist/editor/bridge/protocol.js.map +1 -0
- package/dist/editor/client/AboutDialog.js +15 -4
- package/dist/editor/client/AboutDialog.js.map +1 -1
- package/dist/editor/client/EditorShell.js +36 -6
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +6 -0
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +3 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +57 -25
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/hooks/useWorkbox.d.ts +1 -0
- package/dist/editor/client/hooks/useWorkbox.js +14 -1
- package/dist/editor/client/hooks/useWorkbox.js.map +1 -1
- package/dist/editor/client/operationToasts.d.ts +2 -0
- package/dist/editor/client/operationToasts.js +35 -0
- package/dist/editor/client/operationToasts.js.map +1 -0
- package/dist/editor/client/operations.d.ts +4 -0
- package/dist/editor/client/operations.js +134 -74
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/waitForEditOperationTerminal.d.ts +1 -0
- package/dist/editor/client/waitForEditOperationTerminal.js +1 -1
- package/dist/editor/client/waitForEditOperationTerminal.js.map +1 -1
- package/dist/editor/commands/itemCommands.js +5 -16
- package/dist/editor/commands/itemCommands.js.map +1 -1
- package/dist/editor/field-types/CheckboxEditor.js +3 -1
- package/dist/editor/field-types/CheckboxEditor.js.map +1 -1
- package/dist/editor/field-types/MultiLineText.js +24 -7
- package/dist/editor/field-types/MultiLineText.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +19 -2
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/field-types/useTextCompletion.d.ts +20 -0
- package/dist/editor/field-types/useTextCompletion.js +166 -0
- package/dist/editor/field-types/useTextCompletion.js.map +1 -0
- package/dist/editor/menubar/OperationsIndicator.d.ts +7 -0
- package/dist/editor/menubar/OperationsIndicator.js +87 -0
- package/dist/editor/menubar/OperationsIndicator.js.map +1 -0
- package/dist/editor/menubar/ToolbarFactory.js +4 -1
- package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
- package/dist/editor/menubar/WorkflowButton.js +7 -4
- package/dist/editor/menubar/WorkflowButton.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/EditControls.js +7 -3
- package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +4 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/notifications/NotificationCenter.js +28 -27
- package/dist/editor/notifications/NotificationCenter.js.map +1 -1
- package/dist/editor/notifications/NotificationItem.js +99 -15
- package/dist/editor/notifications/NotificationItem.js.map +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +7 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +3 -10
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +2 -2
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +1 -1
- package/dist/editor/page-viewer/MiniMap.d.ts +21 -0
- package/dist/editor/page-viewer/MiniMap.js +113 -11
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +88 -22
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +1 -2
- package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
- package/dist/editor/page-viewer/pageViewContext.d.ts +1 -1
- package/dist/editor/reviews/DecisionsMatrix.js +5 -1
- package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +12 -2
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/latestFeedbackData.js +7 -1
- package/dist/editor/reviews/latestFeedbackData.js.map +1 -1
- package/dist/editor/reviews/suggestedEditState.d.ts +2 -0
- package/dist/editor/reviews/suggestedEditState.js +20 -0
- package/dist/editor/reviews/suggestedEditState.js.map +1 -1
- package/dist/editor/reviews/suggestionContentChange.d.ts +1 -1
- package/dist/editor/reviews/suggestionContentChange.js +23 -3
- package/dist/editor/reviews/suggestionContentChange.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +6 -0
- package/dist/editor/services/agentService.js +14 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +5 -0
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/settings/About.js +1 -1
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js +1 -0
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentToolsPanel.js +61 -33
- package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js +2 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
- package/dist/editor/settings/panels/StatusPanel.js +10 -7
- package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
- package/dist/editor/sidebar/Completions.js +1 -1
- package/dist/editor/sidebar/Completions.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +1 -1
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/OperationItem.js +1 -1
- package/dist/editor/sidebar/OperationItem.js.map +1 -1
- package/dist/editor/sidebar/Workbox.js +18 -4
- package/dist/editor/sidebar/Workbox.js.map +1 -1
- package/dist/editor/ui/DialogButtons.d.ts +3 -1
- package/dist/editor/ui/DialogButtons.js +3 -2
- package/dist/editor/ui/DialogButtons.js.map +1 -1
- package/dist/editor/ui/ItemCollectionEditor.js +2 -2
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/PublishItemDialog.js +4 -6
- package/dist/editor/ui/PublishItemDialog.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.d.ts +1 -1
- package/dist/editor/workflowFields.d.ts +1 -0
- package/dist/editor/workflowFields.js +16 -0
- package/dist/editor/workflowFields.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/NewPage.js +26 -7
- package/dist/splash-screen/NewPage.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +57 -4
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/TaskBoardHomeView.d.ts +27 -0
- package/dist/task-board/components/TaskBoardHomeView.js +158 -0
- package/dist/task-board/components/TaskBoardHomeView.js.map +1 -0
- package/package.json +1 -2
- package/styles.css +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentSessionLiveTotals.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentSessionLiveTotals.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agentSessionLiveTotals.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentSessionLiveTotals.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { mergeMessagesById } from "../agentMessageGrouping";
|
|
2
|
+
import { parseContextBreakdown } from "./agentSessionLiveTotals";
|
|
2
3
|
function isRunningAgentStatus(status) {
|
|
3
4
|
return status === "running" || status === 1;
|
|
4
5
|
}
|
|
@@ -55,6 +56,7 @@ export function buildLoadedContextWindowStatus(agentData) {
|
|
|
55
56
|
? (agentData.contextUsedTokens / agentData.contextWindowTokens) * 100
|
|
56
57
|
: 0,
|
|
57
58
|
model: agentData.model,
|
|
59
|
+
breakdown: parseContextBreakdown(agentData.contextBreakdown),
|
|
58
60
|
};
|
|
59
61
|
}
|
|
60
62
|
export function parseLoadedAgentMetadata(agentData) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentSessionSnapshot.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentSessionSnapshot.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"agentSessionSnapshot.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentSessionSnapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { MessageSquare, ArrowRight } from "lucide-react";
|
|
3
3
|
import { cn } from "../../../../lib/utils";
|
|
4
|
-
import { sanitizeHtml } from "../../../../lib/sanitize";
|
|
4
|
+
import { sanitizeHtml, sanitizeSvg } from "../../../../lib/sanitize";
|
|
5
|
+
import { ParheliaAgentIcon } from "../../../ui/Icons";
|
|
5
6
|
export function AgentGreeting({ profile, onPromptClick, className, }) {
|
|
6
7
|
const prompts = profile.prompts || [];
|
|
7
|
-
return (_jsxs("div", { className: cn("flex h-full flex-col items-center justify-center p-8 text-center", className), children: [_jsxs("div", { className: "animate-in fade-in slide-in-from-bottom-4 duration-1000", children: [_jsx("
|
|
8
|
+
return (_jsxs("div", { className: cn("flex h-full flex-col items-center justify-center p-8 text-center", className), children: [_jsxs("div", { className: "animate-in fade-in slide-in-from-bottom-4 duration-1000", children: [_jsx("div", { className: "bg-neutral-grey-5 text-neutral-grey-100 mx-auto mb-5 flex size-16 items-center justify-center rounded-2xl", "data-testid": "agent-greeting-icon", children: profile.svgIcon ? (_jsx("div", { className: "size-8 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: {
|
|
9
|
+
__html: sanitizeSvg(profile.svgIcon),
|
|
10
|
+
} })) : (_jsx(ParheliaAgentIcon, { size: 32, strokeWidth: 1.5 })) }), _jsx("h2", { className: "text-neutral-grey-100 mb-3 text-2xl font-semibold tracking-tight", children: profile.agentName || profile.name }), profile.greetingMessage ? (_jsx("div", { className: "prose prose-slate text-neutral-grey-100 mx-auto max-w-xl text-3xl leading-snug font-semibold tracking-tight", dangerouslySetInnerHTML: {
|
|
8
11
|
__html: sanitizeHtml(profile.greetingMessage),
|
|
9
12
|
} })) : (_jsx("p", { className: "text-neutral-grey-50 mx-auto max-w-prose text-lg leading-relaxed", children: profile.description || "How can I help you today?" }))] }), prompts.length > 0 && (_jsx("div", { className: "animate-in fade-in slide-in-from-bottom-6 mt-12 flex w-full max-w-2xl flex-wrap justify-center gap-3 duration-1000 [animation-delay:400ms]", children: prompts.map((prompt, index) => (_jsxs("button", { onClick: () => onPromptClick?.(prompt.prompt), className: "group border-border-default text-neutral-grey-100 hover:border-feedback-blue hover:text-feedback-blue flex items-center gap-3 rounded-2xl border bg-white/50 px-5 py-3 text-xs font-medium backdrop-blur-sm transition-all hover:bg-white hover:shadow-md active:scale-95", children: [_jsx(MessageSquare, { size: 16, className: "text-neutral-grey-50 group-hover:text-feedback-blue transition-colors" }), _jsx("span", { children: prompt.title }), _jsx(ArrowRight, { size: 14, className: "ml-1 -translate-x-2 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100" })] }, index))) }))] }));
|
|
10
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentGreeting.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentGreeting.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentGreeting.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentGreeting.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAQtD,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,aAAa,EACb,SAAS,GACU;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IAEtC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,kEAAkE,EAClE,SAAS,CACV,aAED,eAAK,SAAS,EAAC,yDAAyD,aACtE,cACE,SAAS,EAAC,2GAA2G,iBACzG,qBAAqB,YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CACjB,cACE,SAAS,EAAC,sCAAsC,EAChD,uBAAuB,EAAE;gCACvB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;6BACrC,GACD,CACH,CAAC,CAAC,CAAC,CACF,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,GAAI,CAClD,GACG,EAEN,aAAI,SAAS,EAAC,kEAAkE,YAC7E,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,GAC/B,EAEJ,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CACzB,cACE,SAAS,EAAC,6GAA6G,EACvH,uBAAuB,EAAE;4BACvB,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC;yBAC9C,GACD,CACH,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,kEAAkE,YAC5E,OAAO,CAAC,WAAW,IAAI,2BAA2B,GACjD,CACL,IACG,EAEL,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,cAAK,SAAS,EAAC,4IAA4I,YACxJ,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,kBAEE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7C,SAAS,EAAC,2QAA2Q,aAErR,KAAC,aAAa,IACZ,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,uEAAuE,GACjF,EACF,yBAAO,MAAM,CAAC,KAAK,GAAQ,EAC3B,KAAC,UAAU,IACT,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,gGAAgG,GAC1G,KAZG,KAAK,CAaH,CACV,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Agent, type AgentChatMessage, type AgentMetadata } from "../../../services/agentService";
|
|
2
|
+
/**
|
|
3
|
+
* Progress header for the taskboard project created by this agent (tracked in
|
|
4
|
+
* the agent context as additionalData.createdProjectId). Rendered directly
|
|
5
|
+
* above the prompt composer; the expand button opens the project in the
|
|
6
|
+
* taskboard workspace.
|
|
7
|
+
*/
|
|
8
|
+
export declare function AgentProjectProgress({ agent, agentMetadata, messages, }: {
|
|
9
|
+
agent?: Agent | null;
|
|
10
|
+
agentMetadata: AgentMetadata | null | undefined;
|
|
11
|
+
messages?: AgentChatMessage[];
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
4
|
+
import { ExternalLink } from "lucide-react";
|
|
5
|
+
import { getProject, getTasks, } from "../../../../task-board/services/taskService";
|
|
6
|
+
import { useEditContext } from "../../../client/editContext";
|
|
7
|
+
import { useParheliaSettings } from "../../../hooks/useParheliaSettings";
|
|
8
|
+
import { getAgent as fetchAgent, } from "../../../services/agentService";
|
|
9
|
+
const REFRESH_INTERVAL_MS = 10_000;
|
|
10
|
+
function asRecord(value) {
|
|
11
|
+
return value && typeof value === "object" && !Array.isArray(value)
|
|
12
|
+
? value
|
|
13
|
+
: undefined;
|
|
14
|
+
}
|
|
15
|
+
function getString(record, ...keys) {
|
|
16
|
+
if (!record)
|
|
17
|
+
return undefined;
|
|
18
|
+
for (const key of keys) {
|
|
19
|
+
const value = record[key];
|
|
20
|
+
if (typeof value === "string" && value.trim())
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
function getTrackedProjectFromAdditionalData(additionalData) {
|
|
26
|
+
const data = asRecord(additionalData);
|
|
27
|
+
const projectId = getString(data, "createdProjectId", "CreatedProjectId");
|
|
28
|
+
if (!projectId)
|
|
29
|
+
return null;
|
|
30
|
+
return {
|
|
31
|
+
projectId,
|
|
32
|
+
title: getString(data, "createdProjectTitle", "CreatedProjectTitle"),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function getTrackedProjectFromAgentContext(agentContext) {
|
|
36
|
+
if (!agentContext)
|
|
37
|
+
return null;
|
|
38
|
+
try {
|
|
39
|
+
const context = typeof agentContext === "string"
|
|
40
|
+
? JSON.parse(agentContext)
|
|
41
|
+
: agentContext;
|
|
42
|
+
const record = asRecord(context);
|
|
43
|
+
return getTrackedProjectFromAdditionalData(record?.additionalData ?? record?.AdditionalData);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function getTrackedProjectFromMessages(messages) {
|
|
50
|
+
if (!messages?.length)
|
|
51
|
+
return null;
|
|
52
|
+
for (let messageIndex = messages.length - 1; messageIndex >= 0; messageIndex -= 1) {
|
|
53
|
+
const toolCalls = messages[messageIndex]?.toolCalls;
|
|
54
|
+
if (!toolCalls?.length)
|
|
55
|
+
continue;
|
|
56
|
+
for (let callIndex = toolCalls.length - 1; callIndex >= 0; callIndex -= 1) {
|
|
57
|
+
const toolCall = toolCalls[callIndex];
|
|
58
|
+
if (toolCall?.functionName !== "create-project" ||
|
|
59
|
+
toolCall.functionError ||
|
|
60
|
+
!toolCall.functionResult) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const result = JSON.parse(toolCall.functionResult);
|
|
65
|
+
const record = asRecord(result);
|
|
66
|
+
const projectId = getString(record, "projectId", "ProjectId");
|
|
67
|
+
if (projectId) {
|
|
68
|
+
return {
|
|
69
|
+
projectId,
|
|
70
|
+
title: getString(record, "title", "Title"),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// Ignore non-JSON results; the context fallback can still find the project.
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
function ProjectProgressBar({ done, total, className, }) {
|
|
82
|
+
const percent = total > 0 ? Math.min((done / total) * 100, 100) : 0;
|
|
83
|
+
return (_jsx("div", { className: `bg-neutral-grey-10 h-2 w-full overflow-hidden rounded-full ${className || ""}`, children: _jsx("div", { className: "bg-feedback-green h-full rounded-full transition-all duration-300", style: { width: `${percent}%` } }) }));
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Progress header for the taskboard project created by this agent (tracked in
|
|
87
|
+
* the agent context as additionalData.createdProjectId). Rendered directly
|
|
88
|
+
* above the prompt composer; the expand button opens the project in the
|
|
89
|
+
* taskboard workspace.
|
|
90
|
+
*/
|
|
91
|
+
export function AgentProjectProgress({ agent, agentMetadata, messages, }) {
|
|
92
|
+
const additionalData = agentMetadata?.additionalData;
|
|
93
|
+
const metadataTrackedProject = getTrackedProjectFromAdditionalData(additionalData);
|
|
94
|
+
const messageTrackedProject = useMemo(() => getTrackedProjectFromMessages(messages), [messages]);
|
|
95
|
+
const [loadedTrackedProject, setLoadedTrackedProject] = useState(null);
|
|
96
|
+
const agentId = agent?.id;
|
|
97
|
+
const metadataProjectId = metadataTrackedProject?.projectId;
|
|
98
|
+
const messageProjectId = messageTrackedProject?.projectId;
|
|
99
|
+
const loadedProjectId = loadedTrackedProject?.projectId;
|
|
100
|
+
const projectId = metadataProjectId ?? messageProjectId ?? loadedProjectId;
|
|
101
|
+
const trackedTitle = metadataTrackedProject?.title ??
|
|
102
|
+
messageTrackedProject?.title ??
|
|
103
|
+
loadedTrackedProject?.title;
|
|
104
|
+
const editContext = useEditContext();
|
|
105
|
+
const parheliaSettings = useParheliaSettings();
|
|
106
|
+
const currency = parheliaSettings?.currency || "USD";
|
|
107
|
+
const [project, setProject] = useState(null);
|
|
108
|
+
const [tasks, setTasks] = useState(null);
|
|
109
|
+
useEffect(() => {
|
|
110
|
+
setLoadedTrackedProject(null);
|
|
111
|
+
}, [agentId]);
|
|
112
|
+
useEffect(() => {
|
|
113
|
+
if (projectId || !agentId)
|
|
114
|
+
return;
|
|
115
|
+
let disposed = false;
|
|
116
|
+
const loadTrackedProject = async () => {
|
|
117
|
+
try {
|
|
118
|
+
const details = await fetchAgent(agentId);
|
|
119
|
+
const trackedProject = getTrackedProjectFromAgentContext(details.agentContext) ??
|
|
120
|
+
getTrackedProjectFromMessages(details.messages);
|
|
121
|
+
if (!disposed && trackedProject?.projectId) {
|
|
122
|
+
setLoadedTrackedProject(trackedProject);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// The regular interval will retry; absence of this header is non-fatal.
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
void loadTrackedProject();
|
|
130
|
+
const interval = window.setInterval(() => void loadTrackedProject(), REFRESH_INTERVAL_MS);
|
|
131
|
+
return () => {
|
|
132
|
+
disposed = true;
|
|
133
|
+
window.clearInterval(interval);
|
|
134
|
+
};
|
|
135
|
+
}, [agentId, projectId]);
|
|
136
|
+
const refresh = useCallback(async () => {
|
|
137
|
+
if (!projectId)
|
|
138
|
+
return;
|
|
139
|
+
try {
|
|
140
|
+
const [projectResult, tasksResult] = await Promise.all([
|
|
141
|
+
getProject(projectId),
|
|
142
|
+
getTasks(projectId),
|
|
143
|
+
]);
|
|
144
|
+
if (projectResult.type === "success" && projectResult.data) {
|
|
145
|
+
const data = projectResult.data;
|
|
146
|
+
setProject(data.project ?? data);
|
|
147
|
+
}
|
|
148
|
+
if (tasksResult.type === "success" && Array.isArray(tasksResult.data)) {
|
|
149
|
+
setTasks(tasksResult.data);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
// Keep the last known data; the next poll may succeed again.
|
|
154
|
+
}
|
|
155
|
+
}, [projectId]);
|
|
156
|
+
useEffect(() => {
|
|
157
|
+
setProject(null);
|
|
158
|
+
setTasks(null);
|
|
159
|
+
if (!projectId)
|
|
160
|
+
return;
|
|
161
|
+
void refresh();
|
|
162
|
+
const interval = setInterval(() => void refresh(), REFRESH_INTERVAL_MS);
|
|
163
|
+
return () => clearInterval(interval);
|
|
164
|
+
}, [projectId, refresh]);
|
|
165
|
+
const openInTaskboard = useCallback(() => {
|
|
166
|
+
if (!projectId || typeof window === "undefined")
|
|
167
|
+
return;
|
|
168
|
+
if (editContext?.workspaceId !== "taskboard") {
|
|
169
|
+
editContext?.switchWorkspace?.("taskboard", {
|
|
170
|
+
skipNavigationHistory: true,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
// Mirror the notification-route deep link: workspace + tbProjectId, with
|
|
174
|
+
// editor/task params cleared (see config/notificationRoutes.ts).
|
|
175
|
+
const params = new URLSearchParams(window.location.search);
|
|
176
|
+
params.set("workspace", "taskboard");
|
|
177
|
+
params.set("tbProjectId", projectId);
|
|
178
|
+
for (const key of [
|
|
179
|
+
"tbTaskId",
|
|
180
|
+
"tbView",
|
|
181
|
+
"tbWizard",
|
|
182
|
+
"itemid",
|
|
183
|
+
"lang",
|
|
184
|
+
"language",
|
|
185
|
+
"version",
|
|
186
|
+
"reviewId",
|
|
187
|
+
]) {
|
|
188
|
+
params.delete(key);
|
|
189
|
+
}
|
|
190
|
+
const queryString = params.toString();
|
|
191
|
+
window.history.replaceState(null, "", queryString
|
|
192
|
+
? `${window.location.pathname}?${queryString}`
|
|
193
|
+
: window.location.pathname);
|
|
194
|
+
window.dispatchEvent(new PopStateEvent("popstate"));
|
|
195
|
+
}, [editContext, projectId]);
|
|
196
|
+
if (!projectId)
|
|
197
|
+
return null;
|
|
198
|
+
const title = project?.title || trackedTitle || "Project";
|
|
199
|
+
const total = tasks?.length ?? 0;
|
|
200
|
+
const done = tasks?.filter((t) => t.status === "Done").length ?? 0;
|
|
201
|
+
const costUsed = project?.costUsed ?? null;
|
|
202
|
+
const costLimit = project?.costLimit ?? null;
|
|
203
|
+
return (_jsxs("div", { "data-testid": "agent-project-progress", className: "shrink-0 px-4 pt-3 pb-2", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("span", { className: "text-neutral-grey-100 truncate text-sm font-semibold", title: title, children: title }), costUsed != null && (_jsxs("span", { className: "text-neutral-grey-50 hidden truncate text-xs sm:block", children: ["Current total cost:", " ", _jsxs("span", { className: "font-semibold", children: [costUsed.toFixed(2), " ", currency] }), costLimit != null &&
|
|
204
|
+
costLimit > 0 &&
|
|
205
|
+
` / ${costLimit.toFixed(2)} ${currency}`] })), _jsxs("div", { className: "ml-auto flex shrink-0 items-center gap-1.5", children: [_jsx("span", { "data-testid": "agent-project-progress-counts", className: "bg-neutral-grey-5 text-neutral-grey-100 rounded-md px-2 py-0.5 text-xs font-medium tabular-nums", children: tasks ? `${done}/${total} done` : "..." }), _jsx("button", { type: "button", "data-testid": "agent-project-progress-expand", title: "Open in Taskboard", "aria-label": "Open in Taskboard", onClick: openInTaskboard, className: "text-neutral-grey-50 hover:text-neutral-grey-100 hover:bg-neutral-grey-5 rounded-md p-1.5 transition-colors", children: _jsx(ExternalLink, { className: "h-4 w-4" }) })] })] }), _jsx(ProjectProgressBar, { done: done, total: total, className: "mt-2" })] }));
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=AgentProjectProgress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentProjectProgress.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentProjectProgress.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,10 @@ export interface AgentTerminalFullLayoutProps {
|
|
|
7
7
|
onBackToParent: () => void;
|
|
8
8
|
readOnlyAccessNotice: React.ReactNode;
|
|
9
9
|
upperContent: React.ReactNode;
|
|
10
|
+
/** Inline dialog panel for non-questionnaire dialogs (stacked above the composer). */
|
|
10
11
|
inlineDialog: React.ReactNode;
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
/** Persistent strip rendered directly above the prompt composer (e.g. project progress). */
|
|
13
|
+
aboveComposer?: React.ReactNode;
|
|
13
14
|
promptComposerProps: Omit<AgentPromptComposerProps, "className" | "children">;
|
|
14
15
|
promptControls: React.ReactNode;
|
|
15
16
|
showStatusBar?: boolean;
|
|
@@ -20,4 +21,4 @@ export interface AgentTerminalFullLayoutProps {
|
|
|
20
21
|
attachmentsContent?: React.ReactNode;
|
|
21
22
|
dropHandlers?: AgentPromptComposerProps["dropHandlers"];
|
|
22
23
|
}
|
|
23
|
-
export declare function AgentTerminalFullLayout({ className, parentAgentId, simpleMode, onBackToParent, readOnlyAccessNotice, upperContent, inlineDialog,
|
|
24
|
+
export declare function AgentTerminalFullLayout({ className, parentAgentId, simpleMode, onBackToParent, readOnlyAccessNotice, upperContent, inlineDialog, aboveComposer, promptComposerProps, promptControls, trayOverlay, attachmentsContent, dropHandlers, }: AgentTerminalFullLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,23 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Splitter } from "../../../ui/Splitter";
|
|
1
|
+
import { Fragment as _Fragment, jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
3
2
|
import { AgentParentLink } from "./AgentParentLink";
|
|
4
3
|
import { AgentPromptComposer, } from "./AgentPromptComposer";
|
|
5
|
-
export function AgentTerminalFullLayout({ className, parentAgentId, simpleMode, onBackToParent, readOnlyAccessNotice, upperContent, inlineDialog,
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
{
|
|
9
|
-
name: "conversation",
|
|
10
|
-
defaultSize: 65,
|
|
11
|
-
content: upperContent,
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
name: "questionnaire",
|
|
15
|
-
defaultSize: 35,
|
|
16
|
-
content: inlineDialog,
|
|
17
|
-
},
|
|
18
|
-
], direction: "vertical", localStorageKey: compact
|
|
19
|
-
? "agent-terminal-compact-questionnaire-splitter"
|
|
20
|
-
: "agent-terminal-questionnaire-splitter", className: "min-h-0 flex-1", splitterClassName: "bg-neutral-grey-10 hover:bg-neutral-grey-10" })) : (_jsxs(_Fragment, { children: [upperContent, inlineDialog] }));
|
|
21
|
-
return (_jsxs("div", { className: `flex h-full min-h-0 flex-col ${className || ""}`, children: [_jsx(AgentParentLink, { parentAgentId: parentAgentId, simpleMode: simpleMode, onBack: onBackToParent }), readOnlyAccessNotice, content, _jsx(AgentPromptComposer, { ...promptComposerProps, trayOverlay: trayOverlay, attachmentsContent: attachmentsContent, dropHandlers: dropHandlers, className: simpleMode ? "pb-10" : undefined, children: promptControls })] }));
|
|
4
|
+
export function AgentTerminalFullLayout({ className, parentAgentId, simpleMode, onBackToParent, readOnlyAccessNotice, upperContent, inlineDialog, aboveComposer, promptComposerProps, promptControls, trayOverlay, attachmentsContent, dropHandlers, }) {
|
|
5
|
+
const content = (_jsxs(_Fragment, { children: [upperContent, inlineDialog] }));
|
|
6
|
+
return (_jsxs("div", { className: `flex h-full min-h-0 flex-col ${className || ""}`, children: [_jsx(AgentParentLink, { parentAgentId: parentAgentId, simpleMode: simpleMode, onBack: onBackToParent }), readOnlyAccessNotice, content, aboveComposer, _jsx(AgentPromptComposer, { ...promptComposerProps, trayOverlay: trayOverlay, attachmentsContent: attachmentsContent, dropHandlers: dropHandlers, className: simpleMode ? "pb-10" : undefined, children: promptControls })] }));
|
|
22
7
|
}
|
|
23
8
|
//# sourceMappingURL=AgentTerminalFullLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentTerminalFullLayout.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentTerminalFullLayout.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"AgentTerminalFullLayout.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentTerminalFullLayout.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,mBAAmB,GAEpB,MAAM,uBAAuB,CAAC;AAwB/B,MAAM,UAAU,uBAAuB,CAAC,EACtC,SAAS,EACT,aAAa,EACb,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,YAAY,GACiB;IAC7B,MAAM,OAAO,GAAG,CACd,8BACG,YAAY,EACZ,YAAY,IACZ,CACJ,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,gCAAgC,SAAS,IAAI,EAAE,EAAE,aAC/D,KAAC,eAAe,IACd,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,cAAc,GACtB,EACD,oBAAoB,EACpB,OAAO,EACP,aAAa,EACd,KAAC,mBAAmB,OACd,mBAAmB,EACvB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,YAE1C,cAAc,GACK,IAClB,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -48,5 +48,9 @@ export interface AgentTerminalFullUpperContentProps {
|
|
|
48
48
|
onDeleteQueuedPrompt?: (queuedPrompt: QueuedPrompt) => void | Promise<void>;
|
|
49
49
|
queuePushDisabled?: boolean;
|
|
50
50
|
queueDeleteDisabled?: boolean;
|
|
51
|
+
/** Active questionnaire dialog rendered inline at the end of the conversation. */
|
|
52
|
+
conversationInlineDialog?: React.ReactNode;
|
|
53
|
+
/** Identifier (callbackId) of the active inline dialog; scrolls it into view when it changes. */
|
|
54
|
+
conversationInlineDialogKey?: string;
|
|
51
55
|
}
|
|
52
|
-
export declare function AgentTerminalFullUpperContent({ fixedBrowserClaimBanner, agent, agentStub, error, lastRunStatusReason, messagesContainerRef, onScroll, messages, hideGreeting, isLoading, activeProfile, onGreetingPromptClick, showInitialThinkingSplash, inlineBrowserClaimBanner, operations, isExecuting, defaultCollapseJson, allPendingApprovals, onSwitchToAutonomous, browserCaptureInlinePrompt, readOnly, onQuickAction, shouldShowThinkingDots, simpleMode, costLimitBanner, messagesEndRef, hideContext, isMobile, contextChrome, documentListRef, hasTodoContent, hasSpawnedAgents, hasHistoryContent, agentMetadata, contextPanelsActiveTab, setContextPanelsActiveTab, queuedPrompts, onPushQueuedPrompt, onDeleteQueuedPrompt, queuePushDisabled, queueDeleteDisabled, }: AgentTerminalFullUpperContentProps): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
export declare function AgentTerminalFullUpperContent({ fixedBrowserClaimBanner, agent, agentStub, error, lastRunStatusReason, messagesContainerRef, onScroll, messages, hideGreeting, isLoading, activeProfile, onGreetingPromptClick, showInitialThinkingSplash, inlineBrowserClaimBanner, operations, isExecuting, defaultCollapseJson, allPendingApprovals, onSwitchToAutonomous, browserCaptureInlinePrompt, readOnly, onQuickAction, shouldShowThinkingDots, simpleMode, costLimitBanner, messagesEndRef, hideContext, isMobile, contextChrome, documentListRef, hasTodoContent, hasSpawnedAgents, hasHistoryContent, agentMetadata, contextPanelsActiveTab, setContextPanelsActiveTab, queuedPrompts, onPushQueuedPrompt, onDeleteQueuedPrompt, queuePushDisabled, queueDeleteDisabled, conversationInlineDialog, conversationInlineDialogKey, }: AgentTerminalFullUpperContentProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useLayoutEffect, useRef } from "react";
|
|
2
3
|
import { Loader2 } from "lucide-react";
|
|
3
4
|
import { AgentGreeting } from "./AgentGreeting";
|
|
4
5
|
import { InitialThinkingSplash } from "./InitialThinkingSplash";
|
|
@@ -7,7 +8,37 @@ import { AgentRunStatusBanners } from "./AgentRunStatusBanners";
|
|
|
7
8
|
import { AgentTerminalMessageGroups, } from "./AgentTerminalMessageGroups";
|
|
8
9
|
import { AgentThinkingDots } from "./AgentThinkingDots";
|
|
9
10
|
import { AgentTerminalContextPanels } from "./AgentTerminalContextPanels";
|
|
10
|
-
export function AgentTerminalFullUpperContent({ fixedBrowserClaimBanner, agent, agentStub, error, lastRunStatusReason, messagesContainerRef, onScroll, messages, hideGreeting, isLoading, activeProfile, onGreetingPromptClick, showInitialThinkingSplash, inlineBrowserClaimBanner, operations, isExecuting, defaultCollapseJson, allPendingApprovals, onSwitchToAutonomous, browserCaptureInlinePrompt, readOnly, onQuickAction, shouldShowThinkingDots, simpleMode, costLimitBanner, messagesEndRef, hideContext, isMobile, contextChrome, documentListRef, hasTodoContent, hasSpawnedAgents, hasHistoryContent, agentMetadata, contextPanelsActiveTab, setContextPanelsActiveTab, queuedPrompts, onPushQueuedPrompt, onDeleteQueuedPrompt, queuePushDisabled, queueDeleteDisabled, }) {
|
|
11
|
-
|
|
11
|
+
export function AgentTerminalFullUpperContent({ fixedBrowserClaimBanner, agent, agentStub, error, lastRunStatusReason, messagesContainerRef, onScroll, messages, hideGreeting, isLoading, activeProfile, onGreetingPromptClick, showInitialThinkingSplash, inlineBrowserClaimBanner, operations, isExecuting, defaultCollapseJson, allPendingApprovals, onSwitchToAutonomous, browserCaptureInlinePrompt, readOnly, onQuickAction, shouldShowThinkingDots, simpleMode, costLimitBanner, messagesEndRef, hideContext, isMobile, contextChrome, documentListRef, hasTodoContent, hasSpawnedAgents, hasHistoryContent, agentMetadata, contextPanelsActiveTab, setContextPanelsActiveTab, queuedPrompts, onPushQueuedPrompt, onDeleteQueuedPrompt, queuePushDisabled, queueDeleteDisabled, conversationInlineDialog, conversationInlineDialogKey, }) {
|
|
12
|
+
// Scroll the conversation so the questionnaire's TOP is in view once per
|
|
13
|
+
// dialog (title and first question visible — a tall form scrolled to the
|
|
14
|
+
// bottom would open on its footer). Covers both the live request path and
|
|
15
|
+
// recovery after reload. Re-renders while the same dialog stays open must
|
|
16
|
+
// not yank a user who scrolled away.
|
|
17
|
+
const conversationInlineDialogRef = useRef(null);
|
|
18
|
+
const lastScrolledDialogKeyRef = useRef(null);
|
|
19
|
+
useLayoutEffect(() => {
|
|
20
|
+
if (!conversationInlineDialogKey) {
|
|
21
|
+
lastScrolledDialogKeyRef.current = null;
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (lastScrolledDialogKeyRef.current === conversationInlineDialogKey) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
lastScrolledDialogKeyRef.current = conversationInlineDialogKey;
|
|
28
|
+
const scrollDialogIntoView = () => {
|
|
29
|
+
const container = messagesContainerRef.current;
|
|
30
|
+
const dialogElement = conversationInlineDialogRef.current;
|
|
31
|
+
if (!container || !dialogElement) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const containerRect = container.getBoundingClientRect();
|
|
35
|
+
const dialogRect = dialogElement.getBoundingClientRect();
|
|
36
|
+
container.scrollTop += dialogRect.top - containerRect.top - 8;
|
|
37
|
+
};
|
|
38
|
+
scrollDialogIntoView();
|
|
39
|
+
const animationFrameId = window.requestAnimationFrame(scrollDialogIntoView);
|
|
40
|
+
return () => window.cancelAnimationFrame(animationFrameId);
|
|
41
|
+
}, [conversationInlineDialogKey, messagesContainerRef]);
|
|
42
|
+
return (_jsxs("div", { className: "flex h-full min-h-0 flex-1 flex-col", children: [fixedBrowserClaimBanner, _jsx(AgentRunStatusBanners, { agent: agent, agentStub: agentStub, error: error, lastRunStatusReason: lastRunStatusReason }), _jsxs("div", { ref: messagesContainerRef, className: "flex-1 overflow-y-auto", onScroll: onScroll, children: [messages.length === 0 && !error && !hideGreeting && !isLoading ? (_jsx("div", { className: "flex h-full items-center justify-center", children: !activeProfile ? (_jsx(Loader2, { className: "text-neutral-grey-50 mx-auto h-8 w-8 animate-spin" })) : (_jsx(AgentGreeting, { profile: activeProfile, onPromptClick: onGreetingPromptClick })) })) : null, showInitialThinkingSplash ? _jsx(InitialThinkingSplash, {}) : null, inlineBrowserClaimBanner, _jsxs("div", { className: "space-y-0 select-text", children: [_jsx(AgentTerminalMessageGroups, { messages: messages, operations: operations, isExecuting: isExecuting, defaultCollapseJson: defaultCollapseJson, profile: activeProfile, agentId: agent?.id || agentStub.id, allPendingApprovals: allPendingApprovals, onSwitchToAutonomous: onSwitchToAutonomous, browserCaptureInlinePrompt: browserCaptureInlinePrompt, readOnly: readOnly, onQuickAction: onQuickAction }), shouldShowThinkingDots ? (_jsx(AgentThinkingDots, { profile: activeProfile })) : null] }), conversationInlineDialog ? (_jsx("div", { ref: conversationInlineDialogRef, "data-testid": "agent-conversation-inline-dialog", className: "px-4 py-3", children: conversationInlineDialog })) : null, !simpleMode && costLimitBanner, _jsx("div", { ref: messagesEndRef })] }), _jsx(AgentTerminalContextPanels, { hideContext: hideContext, simpleMode: simpleMode, isMobile: isMobile, contextChrome: contextChrome, agent: agent, activeProfile: activeProfile, documentListRef: documentListRef, hasTodoContent: hasTodoContent, hasSpawnedAgents: hasSpawnedAgents, hasHistoryContent: hasHistoryContent, messages: messages, agentMetadata: agentMetadata, operations: operations, activeTab: contextPanelsActiveTab, setActiveTab: setContextPanelsActiveTab }), !simpleMode ? (_jsx(QueuedPromptsPanel, { queuedPrompts: queuedPrompts, onPushQueuedPrompt: onPushQueuedPrompt, onDeleteQueuedPrompt: onDeleteQueuedPrompt, pushDisabled: queuePushDisabled, deleteDisabled: queueDeleteDisabled })) : null] }));
|
|
12
43
|
}
|
|
13
44
|
//# sourceMappingURL=AgentTerminalFullUpperContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentTerminalFullUpperContent.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentTerminalFullUpperContent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAUvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,0BAA0B,GAE3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentTerminalFullUpperContent.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentTerminalFullUpperContent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAUvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,0BAA0B,GAE3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAmD1E,MAAM,UAAU,6BAA6B,CAAC,EAC5C,uBAAuB,EACvB,KAAK,EACL,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,GACQ;IACnC,yEAAyE;IACzE,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,qCAAqC;IACrC,MAAM,2BAA2B,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACxE,MAAM,wBAAwB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC7D,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACjC,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAC;YACxC,OAAO;QACT,CAAC;QACD,IAAI,wBAAwB,CAAC,OAAO,KAAK,2BAA2B,EAAE,CAAC;YACrE,OAAO;QACT,CAAC;QACD,wBAAwB,CAAC,OAAO,GAAG,2BAA2B,CAAC;QAE/D,MAAM,oBAAoB,GAAG,GAAG,EAAE;YAChC,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC;YAC/C,MAAM,aAAa,GAAG,2BAA2B,CAAC,OAAO,CAAC;YAC1D,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,MAAM,aAAa,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACzD,SAAS,CAAC,SAAS,IAAI,UAAU,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,oBAAoB,EAAE,CAAC;QACvB,MAAM,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC,EAAE,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAExD,OAAO,CACL,eAAK,SAAS,EAAC,qCAAqC,aACjD,uBAAuB,EACxB,KAAC,qBAAqB,IACpB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,mBAAmB,EAAE,mBAAmB,GACxC,EACF,eACE,GAAG,EAAE,oBAAoB,EACzB,SAAS,EAAC,wBAAwB,EAClC,QAAQ,EAAE,QAAQ,aAEjB,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAChE,cAAK,SAAS,EAAC,yCAAyC,YACrD,CAAC,aAAa,CAAC,CAAC,CAAC,CAChB,KAAC,OAAO,IAAC,SAAS,EAAC,mDAAmD,GAAG,CAC1E,CAAC,CAAC,CAAC,CACF,KAAC,aAAa,IACZ,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,qBAAqB,GACpC,CACH,GACG,CACP,CAAC,CAAC,CAAC,IAAI,EACP,yBAAyB,CAAC,CAAC,CAAC,KAAC,qBAAqB,KAAG,CAAC,CAAC,CAAC,IAAI,EAC5D,wBAAwB,EACzB,eAAK,SAAS,EAAC,uBAAuB,aACpC,KAAC,0BAA0B,IACzB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,SAAS,CAAC,EAAE,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,oBAAoB,EAAE,oBAAoB,EAC1C,0BAA0B,EAAE,0BAA0B,EACtD,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,GAC5B,EACD,sBAAsB,CAAC,CAAC,CAAC,CACxB,KAAC,iBAAiB,IAAC,OAAO,EAAE,aAAa,GAAI,CAC9C,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,wBAAwB,CAAC,CAAC,CAAC,CAC1B,cACE,GAAG,EAAE,2BAA2B,iBACpB,kCAAkC,EAC9C,SAAS,EAAC,WAAW,YAEpB,wBAAwB,GACrB,CACP,CAAC,CAAC,CAAC,IAAI,EACP,CAAC,UAAU,IAAI,eAAe,EAC/B,cAAK,GAAG,EAAE,cAAc,GAAI,IACxB,EACN,KAAC,0BAA0B,IACzB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,sBAAsB,EACjC,YAAY,EAAE,yBAAyB,GACvC,EACD,CAAC,UAAU,CAAC,CAAC,CAAC,CACb,KAAC,kBAAkB,IACjB,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,iBAAiB,EAC/B,cAAc,EAAE,mBAAmB,GACnC,CACH,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -10,6 +10,8 @@ export type ContextWindowStatus = {
|
|
|
10
10
|
estimatedInputTokens: number;
|
|
11
11
|
contextUsedPercent: number;
|
|
12
12
|
model?: string;
|
|
13
|
+
/** Estimated split of the used context by category (category key → tokens) */
|
|
14
|
+
breakdown?: Record<string, number>;
|
|
13
15
|
} | null;
|
|
14
16
|
export type LiveTotals = {
|
|
15
17
|
input: number;
|
|
@@ -7,6 +7,7 @@ import { AgentCostDisplay } from "./AgentCostDisplay";
|
|
|
7
7
|
import { ContentInspectorPopover, } from "../../ContentInspectorPopover";
|
|
8
8
|
import { formatAgentDiagnosticsEvent, formatSeqRanges, interpretAgentRunDiagnostics, } from "../../agentDiagnostics";
|
|
9
9
|
import { HeartbeatDiagnosticsPanel } from "../../HeartbeatDiagnosticsPanel";
|
|
10
|
+
import { buildContextBreakdownRows } from "../contextBreakdown";
|
|
10
11
|
function formatDiagnosticTime(value) {
|
|
11
12
|
if (!value)
|
|
12
13
|
return "—";
|
|
@@ -396,6 +397,9 @@ function buildTokensSection(params) {
|
|
|
396
397
|
]),
|
|
397
398
|
},
|
|
398
399
|
]);
|
|
400
|
+
const contextBreakdownLines = contextWindowStatus
|
|
401
|
+
? buildContextBreakdownRows(contextWindowStatus).map((row) => ` ${row.label}: ${formatNumber(Math.round(row.tokens))} tokens (${formatPercent(row.percent)})`)
|
|
402
|
+
: [];
|
|
399
403
|
const contextSection = contextWindowStatus
|
|
400
404
|
? joinSubsections([
|
|
401
405
|
{
|
|
@@ -411,6 +415,8 @@ function buildTokensSection(params) {
|
|
|
411
415
|
agent?.contextWindowTokens != null
|
|
412
416
|
? `Persisted window size: ${formatNumber(agent.contextWindowTokens)}`
|
|
413
417
|
: null,
|
|
418
|
+
contextBreakdownLines.length > 0 ? "Breakdown (estimated):" : null,
|
|
419
|
+
...contextBreakdownLines,
|
|
414
420
|
]),
|
|
415
421
|
},
|
|
416
422
|
])
|
|
@@ -822,17 +828,30 @@ export function AgentTerminalStatusBar({ agent, contextWindowStatus, effectiveMo
|
|
|
822
828
|
: "var(--color-neutral-grey-50)";
|
|
823
829
|
const radius = 15.915;
|
|
824
830
|
const formatTokens = (tokens) => {
|
|
831
|
+
if (tokens >= 1_000_000) {
|
|
832
|
+
return `${(tokens / 1_000_000).toFixed(1)}M`;
|
|
833
|
+
}
|
|
825
834
|
if (tokens >= 1000) {
|
|
826
835
|
return `${(tokens / 1000).toFixed(1)}k`;
|
|
827
836
|
}
|
|
828
837
|
return tokens.toString();
|
|
829
838
|
};
|
|
839
|
+
const breakdownRows = useMemo(() => hasData && contextWindowStatus
|
|
840
|
+
? buildContextBreakdownRows(contextWindowStatus)
|
|
841
|
+
: [], [hasData, contextWindowStatus]);
|
|
830
842
|
const hasAssistantMessages = messages.some((m) => m.role === "assistant");
|
|
831
843
|
const canOpenDiagnostics = Boolean(agent?.id) && agent?.status !== "new";
|
|
832
844
|
return (_jsxs("div", { className: "text-neutral-grey-50 mt-1 flex items-center gap-2 text-[11px]", children: [agent?.id && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("div", { className: "flex cursor-help items-center justify-center", children: _jsxs("svg", { className: "h-3 w-3 shrink-0", viewBox: "0 0 36 36", "aria-hidden": "true", children: [_jsx("circle", { cx: "18", cy: "18", r: radius, fill: "none", stroke: "var(--color-border-default)", strokeWidth: "4" }), hasData && (_jsx("circle", { cx: "18", cy: "18", r: radius, fill: "none", stroke: contextColor, strokeWidth: "4", strokeDasharray: `${percentValue} 100`, strokeLinecap: "round", style: {
|
|
833
845
|
transformOrigin: "center",
|
|
834
846
|
transform: "rotate(-90deg)",
|
|
835
|
-
} })), !hasData && (_jsx("circle", { cx: "18", cy: "18", r: radius, fill: "none", stroke: contextColor, strokeWidth: "4", strokeDasharray: "0 100", strokeLinecap: "round", opacity: 0.5 }))] }) }) }), _jsx(TooltipContent, { side: "top", sideOffset: 6, children: hasData && contextWindowStatus ? (_jsxs("div", { className: "max-w-[320px] space-y-1 text-[11px]", children: [resolvedModelName && (_jsxs("div", { children: [_jsx("span", { className: "font-semibold", children: "Model:" }), " ", resolvedModelName] })), _jsxs("div", { children: [_jsx("span", { className: "font-semibold", children: "Context window:" }), " ", formatTokens(contextWindowStatus.estimatedInputTokens || 0), " ", "/ ", formatTokens(contextWindowStatus.contextWindowTokens), " ", "tokens"] }), _jsxs("div", { children: [_jsx("span", { className: "font-semibold", children: "Used:" }), " ", pct] })
|
|
847
|
+
} })), !hasData && (_jsx("circle", { cx: "18", cy: "18", r: radius, fill: "none", stroke: contextColor, strokeWidth: "4", strokeDasharray: "0 100", strokeLinecap: "round", opacity: 0.5 }))] }) }) }), _jsx(TooltipContent, { side: "top", sideOffset: 6, children: hasData && contextWindowStatus ? (_jsxs("div", { className: "max-w-[320px] space-y-1 text-[11px]", children: [resolvedModelName && (_jsxs("div", { children: [_jsx("span", { className: "font-semibold", children: "Model:" }), " ", resolvedModelName] })), _jsxs("div", { children: [_jsx("span", { className: "font-semibold", children: "Context window:" }), " ", formatTokens(contextWindowStatus.estimatedInputTokens || 0), " ", "/ ", formatTokens(contextWindowStatus.contextWindowTokens), " ", "tokens"] }), _jsxs("div", { children: [_jsx("span", { className: "font-semibold", children: "Used:" }), " ", pct] }), breakdownRows.length > 0 && (_jsx("div", { className: "border-border-default mt-1.5 min-w-44 space-y-0.5 border-t pt-1.5", children: breakdownRows.map((row, index) => (_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: "h-2 w-2 shrink-0 rounded-[2px]", style: row.isFree
|
|
848
|
+
? {
|
|
849
|
+
backgroundColor: "var(--color-border-default)",
|
|
850
|
+
}
|
|
851
|
+
: {
|
|
852
|
+
backgroundColor: "var(--color-highlight-100)",
|
|
853
|
+
opacity: Math.max(0.18, 1 - index * 0.16),
|
|
854
|
+
} }), _jsx("span", { className: "flex-1 pr-3", children: row.label }), _jsxs("span", { className: "tabular-nums whitespace-nowrap", children: [formatTokens(Math.round(row.tokens)), " \u00B7", " ", row.percent.toFixed(1), "%"] })] }, row.key))) }))] })) : (_jsxs("div", { className: "max-w-[320px] space-y-1 text-[11px]", children: [resolvedModelName && (_jsxs("div", { children: [_jsx("span", { className: "font-semibold", children: "Model:" }), " ", resolvedModelName] })), _jsx("div", { children: "Context window usage will appear here when the agent starts processing." })] })) })] })), agent?.compressionMarkerIndex != null && (_jsxs(Popover, { open: showCompressionPopover, onOpenChange: setShowCompressionPopover, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "border-highlight-100/20 bg-highlight-10/50 text-highlight-100 hover:bg-highlight-10 badge-pad-sm flex cursor-pointer items-center rounded border text-[11px] transition-colors", onClick: () => setShowCompressionPopover(!showCompressionPopover), children: "Compressed" }) }), _jsx(PopoverContent, { className: "w-96 p-4", align: "start", side: "top", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-neutral-grey-100 text-[10px] font-semibold", children: "Conversation Compressed" }), _jsxs("p", { className: "text-neutral-grey-50 mt-1 text-[11px]", children: ["First ", agent.compressionMarkerIndex, " messages have been summarized to reduce context usage."] })] }), agent.compressedSummary && (_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "text-neutral-grey-100 text-[11px] font-medium", children: "Summary:" }), _jsx("div", { className: "border-border-default bg-neutral-grey-5 text-neutral-grey-100 max-h-64 overflow-y-auto rounded border p-3 text-[11px] whitespace-pre-wrap", children: agent.compressedSummary })] }))] }) })] })), _jsx(AgentCostDisplay, { totalTokens: liveTotals
|
|
836
855
|
? {
|
|
837
856
|
input: liveTotals.input,
|
|
838
857
|
output: liveTotals.output,
|