@parhelia/core 0.1.12900 → 0.1.12902
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/editor/WorkspaceTitleSwitcher.js +1 -1
- package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -1
- package/dist/editor/ai/terminal/agentContextMerge.d.ts +2 -7
- package/dist/editor/ai/terminal/agentContextMerge.js +26 -9
- package/dist/editor/ai/terminal/agentContextMerge.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +99 -2
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +13 -11
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +3 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.d.ts +4 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +69 -35
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js +2 -0
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentSkillActions.js +10 -4
- package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +4 -0
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +48 -6
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalChrome.d.ts +3 -0
- package/dist/editor/ai/terminal/useAgentTerminalChrome.js +2 -2
- package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +7 -0
- package/dist/editor/ai/terminal/useAgentTerminalController.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/client/EditorShell.js +6 -2
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.js +0 -20
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +18 -18
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +2 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js +7 -2
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/LockedFieldIndicator.js +3 -2
- package/dist/editor/page-editor-chrome/LockedFieldIndicator.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +85 -7
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/insertTargetLabel.d.ts +6 -0
- package/dist/editor/page-editor-chrome/insertTargetLabel.js +21 -0
- package/dist/editor/page-editor-chrome/insertTargetLabel.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/geometry.js +13 -1
- package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +6 -3
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +112 -6
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
- package/dist/editor/page-viewer/PageViewer.js +1 -0
- package/dist/editor/page-viewer/PageViewer.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +55 -1
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +6 -5
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +3 -0
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/ui/PerfectTree.js +1 -1
- package/dist/editor/ui/PerfectTree.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/package.json +1 -1
|
@@ -56,7 +56,7 @@ export function WorkspaceTitleSwitcher({ className, }) {
|
|
|
56
56
|
if (!editContext || !currentWorkspace || workspaces.length <= 1) {
|
|
57
57
|
return null;
|
|
58
58
|
}
|
|
59
|
-
return (_jsxs(DropdownMenu, { open: open, onOpenChange: setOpen, children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs("button", { type: "button", "aria-label": "Workspace switcher", "aria-haspopup": "menu", "aria-expanded": open, "data-testid": "workspace-title-switcher", className: cn("focus-visible:ring-neutral-grey-100 text-neutral-grey-100 flex h-[34px] shrink-0 items-center gap-2 rounded-md bg-white p-2 text-xs shadow-[0_0_6px_0_var(--color-neutral-grey-15)] transition-shadow hover:bg-white focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2", className), children: [_jsx("span", { className: "flex size-6 shrink-0 items-center justify-center", children: renderWorkspaceIcon(currentWorkspace.icon, "size-5") }), _jsx("span", { className: "min-w-0 truncate text-xs
|
|
59
|
+
return (_jsxs(DropdownMenu, { open: open, onOpenChange: setOpen, children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs("button", { type: "button", "aria-label": "Workspace switcher", "aria-haspopup": "menu", "aria-expanded": open, "data-testid": "workspace-title-switcher", className: cn("focus-visible:ring-neutral-grey-100 text-neutral-grey-100 flex h-[34px] shrink-0 items-center gap-2 rounded-md bg-white p-2 text-xs shadow-[0_0_6px_0_var(--color-neutral-grey-15)] transition-shadow hover:bg-white focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2", className), children: [_jsx("span", { className: "flex size-6 shrink-0 items-center justify-center", children: renderWorkspaceIcon(currentWorkspace.icon, "size-5") }), _jsx("span", { className: "min-w-0 truncate text-xs font-semibold", children: currentWorkspace.title }), _jsx(ChevronDown, { className: cn("text-neutral-grey-100 ml-auto size-3.5 shrink-0 transition-transform", open && "rotate-180"), strokeWidth: 1.75 })] }) }), _jsx(DropdownMenuContent, { align: "start", sideOffset: 6, className: "min-w-44 p-1", children: workspaces.map((workspace) => {
|
|
60
60
|
const active = workspace.id === editContext.workspaceId;
|
|
61
61
|
const numberKey = shortcutByWorkspaceId.get(workspace.id);
|
|
62
62
|
return (_jsxs(DropdownMenuItem, { "aria-current": active ? "page" : undefined, "data-testid": `workspace-title-switcher-${workspace.id}`, className: cn("h-8 gap-2 rounded-md px-2 text-xs", active
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceTitleSwitcher.js","sourceRoot":"","sources":["../../src/editor/WorkspaceTitleSwitcher.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WorkspaceTitleSwitcher.js","sourceRoot":"","sources":["../../src/editor/WorkspaceTitleSwitcher.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import type { AgentMetadata } from "../../services/agentService";
|
|
1
|
+
import type { AgentEditorContextSnapshot, AgentMetadata } from "../../services/agentService";
|
|
2
2
|
type ContextItem = NonNullable<AgentMetadata["items"]>[number];
|
|
3
3
|
type ContextComponent = NonNullable<AgentMetadata["components"]>[number];
|
|
4
4
|
export declare function getAgentContextItemKey(item: ContextItem | ContextComponent["pageItem"] | null | undefined): string | null;
|
|
5
5
|
export declare function getAgentContextComponentKey(component: ContextComponent | null | undefined): string | null;
|
|
6
|
-
/**
|
|
7
|
-
* Reads the per-agent "include currently viewed page" flag. The flag is written
|
|
8
|
-
* top-level, but `canonicalizeAgentMetadata` can move keys between top-level and
|
|
9
|
-
* `additionalData`, so accept either shape.
|
|
10
|
-
*/
|
|
11
|
-
export declare function getIncludeViewedContext(meta: AgentMetadata | null | undefined): boolean;
|
|
12
6
|
/**
|
|
13
7
|
* Whether a built editor-context payload actually references something a user is
|
|
14
8
|
* viewing. `buildCurrentContext()` always returns an object (it can carry only
|
|
@@ -16,4 +10,5 @@ export declare function getIncludeViewedContext(meta: AgentMetadata | null | und
|
|
|
16
10
|
*/
|
|
17
11
|
export declare function hasViewedContent(viewed: AgentMetadata | null | undefined): boolean;
|
|
18
12
|
export declare function mergeViewedContext(storedContext: AgentMetadata | null | undefined, liveContext: AgentMetadata | null | undefined): AgentMetadata | null;
|
|
13
|
+
export declare function toEditorContextSnapshot(context: AgentMetadata | null | undefined): AgentEditorContextSnapshot | undefined;
|
|
19
14
|
export {};
|
|
@@ -25,15 +25,6 @@ function mergeByKey(preferred, fallback, getKey) {
|
|
|
25
25
|
}
|
|
26
26
|
return merged;
|
|
27
27
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Reads the per-agent "include currently viewed page" flag. The flag is written
|
|
30
|
-
* top-level, but `canonicalizeAgentMetadata` can move keys between top-level and
|
|
31
|
-
* `additionalData`, so accept either shape.
|
|
32
|
-
*/
|
|
33
|
-
export function getIncludeViewedContext(meta) {
|
|
34
|
-
return !!(meta?.includeViewedContext ??
|
|
35
|
-
meta?.additionalData?.includeViewedContext);
|
|
36
|
-
}
|
|
37
28
|
/**
|
|
38
29
|
* Whether a built editor-context payload actually references something a user is
|
|
39
30
|
* viewing. `buildCurrentContext()` always returns an object (it can carry only
|
|
@@ -85,4 +76,30 @@ export function mergeViewedContext(storedContext, liveContext) {
|
|
|
85
76
|
}
|
|
86
77
|
return merged;
|
|
87
78
|
}
|
|
79
|
+
export function toEditorContextSnapshot(context) {
|
|
80
|
+
if (!hasViewedContent(context)) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
const snapshot = {};
|
|
84
|
+
if (context?.selectedText !== undefined)
|
|
85
|
+
snapshot.selectedText = context.selectedText;
|
|
86
|
+
if (context?.items !== undefined)
|
|
87
|
+
snapshot.items = context.items;
|
|
88
|
+
if (context?.currentItemId !== undefined) {
|
|
89
|
+
snapshot.currentItemId = context.currentItemId;
|
|
90
|
+
}
|
|
91
|
+
if (context?.components !== undefined)
|
|
92
|
+
snapshot.components = context.components;
|
|
93
|
+
if (context?.field !== undefined)
|
|
94
|
+
snapshot.field = context.field;
|
|
95
|
+
if (context?.activeWorkspace !== undefined) {
|
|
96
|
+
snapshot.activeWorkspace = context.activeWorkspace;
|
|
97
|
+
}
|
|
98
|
+
if (context?.hasPageLoaded !== undefined) {
|
|
99
|
+
snapshot.hasPageLoaded = context.hasPageLoaded;
|
|
100
|
+
}
|
|
101
|
+
if (context?.openSidebars !== undefined)
|
|
102
|
+
snapshot.openSidebars = context.openSidebars;
|
|
103
|
+
return snapshot;
|
|
104
|
+
}
|
|
88
105
|
//# sourceMappingURL=agentContextMerge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentContextMerge.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentContextMerge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agentContextMerge.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentContextMerge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo, useState } from "react";
|
|
2
|
+
import { useEffect, useMemo, useState } from "react";
|
|
3
3
|
import { ChevronDown, ChevronRight, ChevronUp, Lightbulb, ListChecks, MessageSquare, } from "lucide-react";
|
|
4
4
|
import { cn } from "../../../../lib/utils";
|
|
5
5
|
import { buildActivityOverview, extractAgentFeedback, } from "../../agentActivitySummary";
|
|
6
6
|
import { useEditContext } from "../../../client/editContext";
|
|
7
7
|
import { OperationItem } from "../../../sidebar/OperationItem";
|
|
8
8
|
import { ActivitySummaryCell } from "./ActivitySummaryCell";
|
|
9
|
+
function leafOfPath(path) {
|
|
10
|
+
if (!path)
|
|
11
|
+
return undefined;
|
|
12
|
+
const parts = path.split(/[\\/]/).filter(Boolean);
|
|
13
|
+
return parts.length ? parts[parts.length - 1] : undefined;
|
|
14
|
+
}
|
|
9
15
|
function ActivityFeedbackRow({ feedback }) {
|
|
10
16
|
const isSuggestion = feedback.kind === "suggested";
|
|
11
17
|
const Icon = isSuggestion ? Lightbulb : MessageSquare;
|
|
@@ -37,12 +43,103 @@ function ActivityItemRow({ summary, expanded, onToggle }) {
|
|
|
37
43
|
}, className: "text-neutral-grey-50 hover:bg-neutral-grey-10 hover:text-neutral-grey-100 -ml-1 shrink-0 rounded p-0.5 transition-colors", "aria-label": expanded ? "Collapse actions" : "Expand actions", "aria-expanded": expanded, "data-testid": "activity-item-expand", children: expanded ? (_jsx(ChevronDown, { className: "h-3.5 w-3.5", strokeWidth: 1.5 })) : (_jsx(ChevronRight, { className: "h-3.5 w-3.5", strokeWidth: 1.5 })) }), _jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-1.5", children: [_jsx("span", { className: cn("text-neutral-grey-100 truncate", summary.idOnly && "text-neutral-grey-50 font-mono"), title: summary.path ?? summary.item.id, children: summary.label }), summary.languages.length > 1 && (_jsxs("span", { className: "bg-neutral-grey-5 text-neutral-grey-50 shrink-0 rounded px-1 py-0.5 text-[10px]", children: ["+", summary.languages.length, " langs"] }))] }), _jsx("div", { className: "shrink-0", children: _jsx(ActivitySummaryCell, { summary: summary }) })] }), expanded && (_jsxs("div", { className: "bg-neutral-grey-5/40", children: [summary.operations.map((operation, index) => (_jsx(OperationItem, { operation: operation, index: index, hidePath: true, showLanguage: true }, operation.id))), summary.feedback.map((feedback) => (_jsx(ActivityFeedbackRow, { feedback: feedback }, feedback.id)))] }))] }));
|
|
38
44
|
}
|
|
39
45
|
export function AgentActivityOverviewPanel({ operations, messages, }) {
|
|
46
|
+
const editContext = useEditContext();
|
|
40
47
|
const overview = useMemo(() => buildActivityOverview(operations, extractAgentFeedback(messages)), [operations, messages]);
|
|
48
|
+
const [resolvedItems, setResolvedItems] = useState({});
|
|
41
49
|
const [isExpanded, setIsExpanded] = useState(false);
|
|
42
50
|
const [expandedItemId, setExpandedItemId] = useState(null);
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
if (!editContext?.itemsRepository)
|
|
53
|
+
return;
|
|
54
|
+
const currentItem = editContext.currentItemDescriptor;
|
|
55
|
+
const rowsToResolve = overview.items.filter((summary) => {
|
|
56
|
+
if (!summary.idOnly || resolvedItems[summary.itemId])
|
|
57
|
+
return false;
|
|
58
|
+
const language = summary.item.language || currentItem?.language;
|
|
59
|
+
return Boolean(summary.item.id && language);
|
|
60
|
+
});
|
|
61
|
+
if (rowsToResolve.length === 0)
|
|
62
|
+
return;
|
|
63
|
+
let cancelled = false;
|
|
64
|
+
void (async () => {
|
|
65
|
+
try {
|
|
66
|
+
const descriptors = rowsToResolve.map((summary) => ({
|
|
67
|
+
...summary.item,
|
|
68
|
+
language: summary.item.language || currentItem?.language || "",
|
|
69
|
+
version: summary.item.version && summary.item.version > 0
|
|
70
|
+
? summary.item.version
|
|
71
|
+
: currentItem?.version || summary.item.version || 0,
|
|
72
|
+
}));
|
|
73
|
+
const stubs = await editContext.itemsRepository.getItemsStubs(descriptors, currentItem);
|
|
74
|
+
if (cancelled || stubs.length === 0)
|
|
75
|
+
return;
|
|
76
|
+
setResolvedItems((current) => {
|
|
77
|
+
let changed = false;
|
|
78
|
+
const next = { ...current };
|
|
79
|
+
for (const stub of stubs) {
|
|
80
|
+
if (!stub?.id)
|
|
81
|
+
continue;
|
|
82
|
+
const label = stub.displayName || stub.name || leafOfPath(stub.path);
|
|
83
|
+
if (!label)
|
|
84
|
+
continue;
|
|
85
|
+
const key = stub.id.toLowerCase();
|
|
86
|
+
const resolved = {
|
|
87
|
+
item: {
|
|
88
|
+
id: stub.id,
|
|
89
|
+
language: stub.language,
|
|
90
|
+
version: stub.version,
|
|
91
|
+
name: stub.name,
|
|
92
|
+
displayName: stub.displayName,
|
|
93
|
+
path: stub.path,
|
|
94
|
+
database: stub.database,
|
|
95
|
+
},
|
|
96
|
+
label,
|
|
97
|
+
path: stub.path,
|
|
98
|
+
};
|
|
99
|
+
const existing = next[key];
|
|
100
|
+
if (existing?.label === resolved.label &&
|
|
101
|
+
existing?.path === resolved.path) {
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
next[key] = resolved;
|
|
105
|
+
changed = true;
|
|
106
|
+
}
|
|
107
|
+
return changed ? next : current;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
console.error("Failed to resolve agent activity item labels", error);
|
|
112
|
+
}
|
|
113
|
+
})();
|
|
114
|
+
return () => {
|
|
115
|
+
cancelled = true;
|
|
116
|
+
};
|
|
117
|
+
}, [
|
|
118
|
+
editContext?.currentItemDescriptor,
|
|
119
|
+
editContext?.itemsRepository,
|
|
120
|
+
overview.items,
|
|
121
|
+
resolvedItems,
|
|
122
|
+
]);
|
|
123
|
+
const items = useMemo(() => overview.items.map((summary) => {
|
|
124
|
+
const resolved = resolvedItems[summary.itemId];
|
|
125
|
+
if (!resolved)
|
|
126
|
+
return summary;
|
|
127
|
+
return {
|
|
128
|
+
...summary,
|
|
129
|
+
item: {
|
|
130
|
+
...summary.item,
|
|
131
|
+
...resolved.item,
|
|
132
|
+
language: resolved.item.language || summary.item.language,
|
|
133
|
+
version: resolved.item.version || summary.item.version,
|
|
134
|
+
},
|
|
135
|
+
path: resolved.path ?? summary.path,
|
|
136
|
+
label: resolved.label,
|
|
137
|
+
idOnly: false,
|
|
138
|
+
};
|
|
139
|
+
}), [overview.items, resolvedItems]);
|
|
43
140
|
if (overview.items.length === 0) {
|
|
44
141
|
return null;
|
|
45
142
|
}
|
|
46
|
-
return (_jsxs("div", { className: "border-border-default border-b", "data-testid": "agent-activity-overview", children: [_jsxs("button", { type: "button", onClick: () => setIsExpanded((value) => !value), className: "hover:bg-neutral-grey-5 flex w-full cursor-pointer items-center justify-between px-4 py-2 text-left transition-colors", "data-testid": "agent-activity-overview-trigger", "aria-expanded": isExpanded, children: [_jsxs("span", { className: "flex items-center gap-2", children: [_jsx(ListChecks, { className: "text-neutral-grey-50 h-4 w-4", strokeWidth: 1.5 }), _jsx("span", { className: "text-neutral-grey-100 text-xs font-normal", children: "Changes" }), _jsxs("span", { className: "text-neutral-grey-50 text-xs", children: ["(", overview.totalItems, ")"] })] }), isExpanded ? (_jsx(ChevronUp, { className: "text-neutral-grey-50 h-4 w-4", strokeWidth: 1.5 })) : (_jsx(ChevronDown, { className: "text-neutral-grey-50 h-4 w-4", strokeWidth: 1.5 }))] }), _jsx("div", { className: cn("grid transition-[grid-template-rows] duration-200 ease-out motion-reduce:transition-none", isExpanded ? "grid-rows-[1fr]" : "grid-rows-[0fr]"), children: _jsx("div", { className: "overflow-hidden", children: _jsx("div", { className: "border-border-default max-h-[40vh] overflow-y-auto border-t", children:
|
|
143
|
+
return (_jsxs("div", { className: "border-border-default border-b", "data-testid": "agent-activity-overview", children: [_jsxs("button", { type: "button", onClick: () => setIsExpanded((value) => !value), className: "hover:bg-neutral-grey-5 flex w-full cursor-pointer items-center justify-between px-4 py-2 text-left transition-colors", "data-testid": "agent-activity-overview-trigger", "aria-expanded": isExpanded, children: [_jsxs("span", { className: "flex items-center gap-2", children: [_jsx(ListChecks, { className: "text-neutral-grey-50 h-4 w-4", strokeWidth: 1.5 }), _jsx("span", { className: "text-neutral-grey-100 text-xs font-normal", children: "Changes" }), _jsxs("span", { className: "text-neutral-grey-50 text-xs", children: ["(", overview.totalItems, ")"] })] }), isExpanded ? (_jsx(ChevronUp, { className: "text-neutral-grey-50 h-4 w-4", strokeWidth: 1.5 })) : (_jsx(ChevronDown, { className: "text-neutral-grey-50 h-4 w-4", strokeWidth: 1.5 }))] }), _jsx("div", { className: cn("grid transition-[grid-template-rows] duration-200 ease-out motion-reduce:transition-none", isExpanded ? "grid-rows-[1fr]" : "grid-rows-[0fr]"), children: _jsx("div", { className: "overflow-hidden", children: _jsx("div", { className: "border-border-default max-h-[40vh] overflow-y-auto border-t", children: items.map((summary) => (_jsx(ActivityItemRow, { summary: summary, expanded: expandedItemId === summary.itemId, onToggle: () => setExpandedItemId((current) => current === summary.itemId ? null : summary.itemId) }, summary.itemId))) }) }) })] }));
|
|
47
144
|
}
|
|
48
145
|
//# sourceMappingURL=AgentActivityOverviewPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentActivityOverviewPanel.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentActivityOverviewPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentActivityOverviewPanel.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentActivityOverviewPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { TodoListPanel } from "./TodoListPanel";
|
|
|
10
10
|
import { computeAgentTodos } from "../../agentTodoExtraction";
|
|
11
11
|
import { useEditContext } from "../../../client/editContext";
|
|
12
12
|
import { cn } from "../../../../lib/utils";
|
|
13
|
-
import {
|
|
13
|
+
import { hasViewedContent, mergeViewedContext } from "../agentContextMerge";
|
|
14
14
|
const FILE_UPLOAD_ACCEPT = ".txt,.md,.pdf,.docx,.xlsx,.pptx,.csv,.json,.xml,.cs,.js,.ts,.tsx,.jsx,.py,.java,.cpp,.c,.h,.hpp,.cshtml,.razor,.vb,.php,.rb,.go,.rs,.swift,.kt,.scala,.sql,.sh,.ps1,.bat,.yaml,.yml,.png,.jpg,.jpeg,.gif,.webp";
|
|
15
15
|
function TrayIcon({ id, title, tooltip, icon: Icon, count, open, onOpenChange, renderBody, tone = "default", }) {
|
|
16
16
|
const isLive = tone === "live";
|
|
@@ -41,13 +41,15 @@ export function AgentPromptTrayPopovers({ contextChrome, agent, activeProfile, d
|
|
|
41
41
|
const makeHandler = (id) => (open) => {
|
|
42
42
|
setOpenPanel(open ? id : null);
|
|
43
43
|
};
|
|
44
|
-
const
|
|
45
|
-
const
|
|
44
|
+
const includeEditorContext = activeProfile?.includeEditorContext === true;
|
|
45
|
+
const includeLiveEditorContext = activeProfile?.includeLiveEditorContext === true;
|
|
46
|
+
const hasLiveViewedContext = includeLiveEditorContext && hasViewedContent(viewedContext);
|
|
47
|
+
const ctx = hasLiveViewedContext
|
|
46
48
|
? mergeViewedContext(agentMetadata, viewedContext)
|
|
47
49
|
: agentMetadata;
|
|
48
|
-
const contextCount = (ctx?.items?.length ?? 0) +
|
|
49
|
-
(ctx?.components?.length ?? 0) +
|
|
50
|
-
(ctx?.field ? 1 : 0) +
|
|
50
|
+
const contextCount = (includeEditorContext ? (ctx?.items?.length ?? 0) : 0) +
|
|
51
|
+
(includeEditorContext ? (ctx?.components?.length ?? 0) : 0) +
|
|
52
|
+
(includeEditorContext && ctx?.field ? 1 : 0) +
|
|
51
53
|
(ctx?.comment ? 1 : 0);
|
|
52
54
|
const spawnedCount = Array.isArray(agentMetadata?.childAgents)
|
|
53
55
|
? agentMetadata.childAgents.length
|
|
@@ -79,13 +81,13 @@ export function AgentPromptTrayPopovers({ contextChrome, agent, activeProfile, d
|
|
|
79
81
|
setAddMenuOpen(false);
|
|
80
82
|
void documentListRef.current?.browseMedia();
|
|
81
83
|
}, children: [_jsx(ImageIcon, { className: "text-neutral-grey-50 h-3.5 w-3.5", strokeWidth: 1.5 }), "Select media"] }))] })] })] })), showContextIcon && (_jsx(TrayIcon, { id: "context", title: "Context", tooltip: contextCount > 0
|
|
82
|
-
? `Context
|
|
83
|
-
: "Context", icon: Target, count: contextCount, open: openPanel === "context", onOpenChange: makeHandler("context"), tone: "default", renderBody: (actionsEl) => (_jsx("div", { className: "max-h-[60vh] overflow-y-auto", children: renderContextNode(actionsEl) })) })), showDocumentsIcon && (_jsx(TrayIcon, { id: "documents", title: "Documents", tooltip: documentCount > 0
|
|
84
|
-
? `Documents
|
|
84
|
+
? `Context - ${contextCount} item${contextCount === 1 ? "" : "s"}`
|
|
85
|
+
: "Context", icon: Target, count: contextCount, open: openPanel === "context", onOpenChange: makeHandler("context"), tone: hasLiveViewedContext ? "live" : "default", renderBody: (actionsEl) => (_jsx("div", { className: "max-h-[60vh] overflow-y-auto", children: renderContextNode(actionsEl) })) })), showDocumentsIcon && (_jsx(TrayIcon, { id: "documents", title: "Documents", tooltip: documentCount > 0
|
|
86
|
+
? `Documents - ${documentCount} uploaded`
|
|
85
87
|
: "Documents", icon: FileText, count: documentCount, open: openPanel === "documents", onOpenChange: makeHandler("documents"), renderBody: (actionsEl) => (_jsx("div", { className: "max-h-[60vh] overflow-y-auto", children: _jsx(AgentDocumentList, { agentId: agent.id, maxFileSizeMB: activeProfile.maxDocumentSizeMB ?? 10, enabled: activeProfile.enableDocumentUpload ?? false, profileId: activeProfile.id, headerless: true, headerActionsContainer: actionsEl, onCountChange: handleDocumentCount, onRequestClose: () => setOpenPanel(null) }, `popover-${agent.id}-${agent.updatedDate || ""}-${activeProfile.id}`) })) })), showTodosIcon && (_jsx(TrayIcon, { id: "todos", title: "Todos", tooltip: todos.length > 0
|
|
86
|
-
? `Todos
|
|
88
|
+
? `Todos - ${todosCompleted}/${todos.length} completed`
|
|
87
89
|
: "Todos", icon: ListTodo, count: todos.length, open: openPanel === "todos", onOpenChange: makeHandler("todos"), renderBody: () => (_jsx("div", { className: "max-h-[60vh] overflow-y-auto", children: _jsx(TodoListPanel, { messages: messages, agentMetadata: agentMetadata, headerless: true }) })) })), showSpawnedIcon && (_jsx(TrayIcon, { id: "spawned", title: "Spawned Agents", tooltip: spawnedCount > 0
|
|
88
|
-
? `Spawned agents
|
|
90
|
+
? `Spawned agents - ${spawnedCount}`
|
|
89
91
|
: "Spawned agents", icon: GitBranch, count: spawnedCount, open: openPanel === "spawned", onOpenChange: makeHandler("spawned"), renderBody: () => (_jsx("div", { className: "max-h-[60vh] overflow-y-auto", children: _jsx(SpawnedAgentsPanel, { agentMetadata: agentMetadata, headerless: true }) })) }))] }));
|
|
90
92
|
}
|
|
91
93
|
//# sourceMappingURL=AgentPromptTrayPopovers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentPromptTrayPopovers.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentPromptTrayPopovers.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,EACN,KAAK,IAAI,SAAS,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAO7D,OAAO,EACL,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"AgentPromptTrayPopovers.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentPromptTrayPopovers.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,9 @@ export interface AgentTerminalContextChromeProps {
|
|
|
10
10
|
resolvedComponentName?: string;
|
|
11
11
|
resolvedFieldName?: string;
|
|
12
12
|
viewedContext?: AgentMetadata | null;
|
|
13
|
+
includeEditorContext?: boolean;
|
|
14
|
+
includeLiveEditorContext?: boolean;
|
|
15
|
+
captureEditorContextOnCreate?: boolean;
|
|
13
16
|
headerless?: boolean;
|
|
14
17
|
headerActionsContainer?: HTMLElement | null;
|
|
15
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentTerminalContextChrome.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentTerminalContextChrome.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentTerminalContextChrome.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentTerminalContextChrome.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAmBlD,MAAM,UAAU,0BAA0B,CACxC,KAAsC;IAEtC,OAAO,KAAC,cAAc,OAAK,KAAK,GAAI,CAAC;AACvC,CAAC;AAOD,MAAM,UAAU,4BAA4B,CAAC,EAC3C,iBAAiB,EACjB,QAAQ,GAC0B;IAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,oBAAoB,IACnB,SAAS,EAAE,iBAAiB,CAAC,SAAS,EACtC,SAAS,EAAE,iBAAiB,CAAC,SAAS,EACtC,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { AgentDetails, AgentMetadata } from "../../../services/agentService";
|
|
3
|
-
export declare function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgent, resolvedPageName, resolvedComponentName, resolvedFieldName, viewedContext, headerless, headerActionsContainer, }: {
|
|
3
|
+
export declare function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgent, resolvedPageName, resolvedComponentName, resolvedFieldName, viewedContext, includeEditorContext, includeLiveEditorContext, captureEditorContextOnCreate, headerless, headerActionsContainer, }: {
|
|
4
4
|
agent: AgentDetails | undefined;
|
|
5
5
|
agentMetadata: AgentMetadata | null;
|
|
6
6
|
setAgentMetadata: React.Dispatch<React.SetStateAction<AgentMetadata | null>>;
|
|
@@ -9,6 +9,9 @@ export declare function ContextInfoBar({ agent, agentMetadata, setAgentMetadata,
|
|
|
9
9
|
resolvedComponentName?: string;
|
|
10
10
|
resolvedFieldName?: string;
|
|
11
11
|
viewedContext?: AgentMetadata | null;
|
|
12
|
+
includeEditorContext?: boolean;
|
|
13
|
+
includeLiveEditorContext?: boolean;
|
|
14
|
+
captureEditorContextOnCreate?: boolean;
|
|
12
15
|
headerless?: boolean;
|
|
13
16
|
headerActionsContainer?: HTMLElement | null;
|
|
14
17
|
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -3,13 +3,12 @@ import React, { useCallback, useState } from "react";
|
|
|
3
3
|
import { createPortal } from "react-dom";
|
|
4
4
|
import { useEditContext } from "../../../client/editContext";
|
|
5
5
|
import { Button } from "../../../../components/ui/button";
|
|
6
|
-
import { Checkbox } from "../../../../components/ui/checkbox";
|
|
7
6
|
import { FileText, Puzzle, Type, Plus, Code2, ChevronDown, ChevronUp, X, Target, ArrowRight, } from "lucide-react";
|
|
8
7
|
import { getComponentById } from "../../../componentTreeHelper";
|
|
9
8
|
import { updateAgentContext, } from "../../../services/agentService";
|
|
10
9
|
import { ContentInspectorPopover } from "../../ContentInspectorPopover";
|
|
11
|
-
import { getAgentContextComponentKey, getAgentContextItemKey,
|
|
12
|
-
export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgent, resolvedPageName, resolvedComponentName, resolvedFieldName, viewedContext, headerless, headerActionsContainer, }) {
|
|
10
|
+
import { getAgentContextComponentKey, getAgentContextItemKey, hasViewedContent, mergeViewedContext, } from "../agentContextMerge";
|
|
11
|
+
export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgent, resolvedPageName, resolvedComponentName, resolvedFieldName, viewedContext, includeEditorContext = false, includeLiveEditorContext = false, captureEditorContextOnCreate = false, headerless, headerActionsContainer, }) {
|
|
13
12
|
const editContext = useEditContext();
|
|
14
13
|
const [isCollapsed, setIsCollapsed] = useState(true);
|
|
15
14
|
const [isDragOver, setIsDragOver] = useState(false);
|
|
@@ -85,21 +84,10 @@ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgen
|
|
|
85
84
|
setAgentMetadata(next);
|
|
86
85
|
setAgent((prev) => prev ? { ...prev, agentContext: JSON.stringify(next) } : prev);
|
|
87
86
|
}, [agent?.id, agent?.status, setAgent, setAgentMetadata]);
|
|
88
|
-
// Opt-in toggle: include the currently viewed page/component/field in the
|
|
89
|
-
// context sent to the AI. Stored top-level so it survives canonicalization.
|
|
90
|
-
const setIncludeViewedContext = useCallback(async (next) => {
|
|
91
|
-
const current = agentMetadata || {};
|
|
92
|
-
try {
|
|
93
|
-
await persistContext({ ...current, includeViewedContext: next });
|
|
94
|
-
}
|
|
95
|
-
catch (e) {
|
|
96
|
-
console.error("Failed to update include-viewed-context flag", e);
|
|
97
|
-
}
|
|
98
|
-
}, [agentMetadata, persistContext]);
|
|
99
87
|
// Pin the current view into the persistent "Added" context so it survives
|
|
100
88
|
// navigating away.
|
|
101
89
|
const pinViewedContext = useCallback(async () => {
|
|
102
|
-
if (!hasViewedContent(viewedContext))
|
|
90
|
+
if (!includeEditorContext || !hasViewedContent(viewedContext))
|
|
103
91
|
return;
|
|
104
92
|
const merged = mergeViewedContext(agentMetadata || null, viewedContext || null);
|
|
105
93
|
if (!merged)
|
|
@@ -110,8 +98,10 @@ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgen
|
|
|
110
98
|
catch (e) {
|
|
111
99
|
console.error("Failed to add currently viewed context", e);
|
|
112
100
|
}
|
|
113
|
-
}, [agentMetadata, persistContext, viewedContext]);
|
|
101
|
+
}, [agentMetadata, includeEditorContext, persistContext, viewedContext]);
|
|
114
102
|
const addComponentIdsToContext = async (ids) => {
|
|
103
|
+
if (!includeEditorContext)
|
|
104
|
+
return;
|
|
115
105
|
if (!agent?.id || !ids?.length)
|
|
116
106
|
return;
|
|
117
107
|
const current = agentMetadata || {};
|
|
@@ -164,6 +154,8 @@ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgen
|
|
|
164
154
|
}
|
|
165
155
|
};
|
|
166
156
|
const addPagesToContextFromItems = async (items) => {
|
|
157
|
+
if (!includeEditorContext)
|
|
158
|
+
return;
|
|
167
159
|
if (!agent?.id || !items?.length)
|
|
168
160
|
return;
|
|
169
161
|
const current = agentMetadata || {};
|
|
@@ -206,6 +198,8 @@ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgen
|
|
|
206
198
|
}
|
|
207
199
|
};
|
|
208
200
|
const handleDragOver = (e) => {
|
|
201
|
+
if (!includeEditorContext)
|
|
202
|
+
return;
|
|
209
203
|
e.preventDefault();
|
|
210
204
|
e.dataTransfer.dropEffect = "copy";
|
|
211
205
|
if (!isDragOver)
|
|
@@ -215,6 +209,8 @@ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgen
|
|
|
215
209
|
setIsDragOver(false);
|
|
216
210
|
};
|
|
217
211
|
const handleDrop = async (e) => {
|
|
212
|
+
if (!includeEditorContext)
|
|
213
|
+
return;
|
|
218
214
|
e.preventDefault();
|
|
219
215
|
setIsDragOver(false);
|
|
220
216
|
try {
|
|
@@ -271,22 +267,56 @@ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgen
|
|
|
271
267
|
}
|
|
272
268
|
};
|
|
273
269
|
const rawCtx = agentMetadata || undefined;
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
270
|
+
const ctx = React.useMemo(() => {
|
|
271
|
+
if (!rawCtx)
|
|
272
|
+
return rawCtx;
|
|
273
|
+
const filtered = { ...rawCtx };
|
|
274
|
+
if (filtered.editorContext) {
|
|
275
|
+
filtered.editorContext = { ...filtered.editorContext };
|
|
276
|
+
}
|
|
277
|
+
if (!includeEditorContext) {
|
|
278
|
+
delete filtered.selectedText;
|
|
279
|
+
delete filtered.items;
|
|
280
|
+
delete filtered.currentItemId;
|
|
281
|
+
delete filtered.components;
|
|
282
|
+
delete filtered.field;
|
|
283
|
+
delete filtered.activeWorkspace;
|
|
284
|
+
delete filtered.hasPageLoaded;
|
|
285
|
+
delete filtered.editorContext;
|
|
286
|
+
return filtered;
|
|
287
|
+
}
|
|
288
|
+
if (!captureEditorContextOnCreate) {
|
|
289
|
+
delete filtered.editorContext?.startedFrom;
|
|
290
|
+
}
|
|
291
|
+
if (!includeLiveEditorContext) {
|
|
292
|
+
delete filtered.editorContext?.currentlyViewing;
|
|
293
|
+
}
|
|
294
|
+
if (filtered.editorContext &&
|
|
295
|
+
!filtered.editorContext.startedFrom &&
|
|
296
|
+
!filtered.editorContext.currentlyViewing) {
|
|
297
|
+
delete filtered.editorContext;
|
|
298
|
+
}
|
|
299
|
+
return filtered;
|
|
300
|
+
}, [
|
|
301
|
+
captureEditorContextOnCreate,
|
|
302
|
+
includeEditorContext,
|
|
303
|
+
includeLiveEditorContext,
|
|
304
|
+
rawCtx,
|
|
305
|
+
]);
|
|
306
|
+
const showViewedSection = includeLiveEditorContext && hasViewedContent(viewedContext);
|
|
278
307
|
// What is actually sent to the AI: stored context, plus the current view when
|
|
279
|
-
// the
|
|
308
|
+
// the profile includes editor context. Surfaced in the raw-context inspector
|
|
309
|
+
// for clarity.
|
|
280
310
|
const effectiveCtx = React.useMemo(() => {
|
|
281
|
-
if (!
|
|
282
|
-
return
|
|
283
|
-
return mergeViewedContext(rawCtx ?? null, viewedContext ?? null) ??
|
|
284
|
-
}, [
|
|
285
|
-
const hasStoredContext = !!
|
|
286
|
-
!!(
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
311
|
+
if (!includeLiveEditorContext || !showViewedSection)
|
|
312
|
+
return ctx;
|
|
313
|
+
return mergeViewedContext(rawCtx ?? null, viewedContext ?? null) ?? ctx;
|
|
314
|
+
}, [ctx, includeLiveEditorContext, showViewedSection, rawCtx, viewedContext]);
|
|
315
|
+
const hasStoredContext = !!ctx &&
|
|
316
|
+
!!(ctx.items?.length ||
|
|
317
|
+
ctx.components?.length ||
|
|
318
|
+
ctx.field ||
|
|
319
|
+
ctx.comment);
|
|
290
320
|
const hasContext = hasStoredContext;
|
|
291
321
|
const rawContextSections = React.useMemo(() => [
|
|
292
322
|
{
|
|
@@ -298,12 +328,12 @@ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgen
|
|
|
298
328
|
content: JSON.stringify(viewedContext ?? null, null, 2),
|
|
299
329
|
},
|
|
300
330
|
{
|
|
301
|
-
title:
|
|
331
|
+
title: includeEditorContext
|
|
302
332
|
? "Effective context (sent to AI)"
|
|
303
|
-
: "Effective context (sent to AI)
|
|
333
|
+
: "Effective context (sent to AI) - editor context disabled",
|
|
304
334
|
content: JSON.stringify(effectiveCtx ?? null, null, 2),
|
|
305
335
|
},
|
|
306
|
-
], [effectiveCtx,
|
|
336
|
+
], [effectiveCtx, includeEditorContext, rawCtx, viewedContext]);
|
|
307
337
|
if (!headerless && !hasContext && !showViewedSection) {
|
|
308
338
|
return null;
|
|
309
339
|
}
|
|
@@ -519,7 +549,7 @@ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgen
|
|
|
519
549
|
}
|
|
520
550
|
if (ctx?.comment?.selectedText) {
|
|
521
551
|
const t = ctx.comment.selectedText || "";
|
|
522
|
-
const trimmed = t.length > 20 ? `${t.slice(0, 20)}
|
|
552
|
+
const trimmed = t.length > 20 ? `${t.slice(0, 20)}...` : t;
|
|
523
553
|
summaryChips.push(_jsx(Chip, { icon: _jsx(Type, { className: "text-neutral-grey-50 h-3 w-3", strokeWidth: 1 }), label: `"${trimmed}"`, onRemove: () => { }, showRemove: false }, "summary-comment"));
|
|
524
554
|
}
|
|
525
555
|
else if (ctx?.comment) {
|
|
@@ -533,7 +563,11 @@ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgen
|
|
|
533
563
|
const useHeaderPortal = headerless && headerActionsContainer;
|
|
534
564
|
const expandedBody = (_jsxs("div", { className: "px-4 pt-3 pb-3", children: [useHeaderPortal && inlineHeaderActions
|
|
535
565
|
? createPortal(inlineHeaderActions, headerActionsContainer)
|
|
536
|
-
: null, _jsxs("div", { className: "flex items-start justify-between gap-2 pb-2", children: [_jsx("div", { className: "flex flex-1 flex-wrap items-center gap-2", children: chips.length > 0 ? (chips) : (_jsx("span", { className: "text-neutral-grey-50 text-xs", children:
|
|
566
|
+
: null, _jsxs("div", { className: "flex items-start justify-between gap-2 pb-2", children: [_jsx("div", { className: "flex flex-1 flex-wrap items-center gap-2", children: chips.length > 0 ? (chips) : (_jsx("span", { className: "text-neutral-grey-50 text-xs", children: !includeEditorContext
|
|
567
|
+
? "Editor context is disabled for this profile."
|
|
568
|
+
: captureEditorContextOnCreate && !includeLiveEditorContext
|
|
569
|
+
? "Editor context will be captured when this agent starts."
|
|
570
|
+
: "No context added yet. Drag items or components here to add them." })) }), !useHeaderPortal && inlineHeaderActions] }), showViewedSection && (_jsxs("div", { className: "border-border-default mt-2 border-t pt-3", children: [_jsxs("div", { className: "flex items-center justify-between gap-2 pb-2", children: [_jsx("span", { className: "text-neutral-grey-100 text-xs", children: "Currently viewing" }), _jsxs(Button, { size: "xs", variant: "outline", onClick: () => void pinViewedContext(), "data-testid": "add-current-item", children: [_jsx(Plus, { className: "mr-1 h-3 w-3", strokeWidth: 1 }), " Add to context"] })] }), _jsx("div", { className: "flex flex-wrap items-center gap-2", children: viewedChips })] }))] }));
|
|
537
571
|
if (headerless) {
|
|
538
572
|
return (_jsx("div", { className: "bg-neutral-grey-5", onDragOver: handleDragOver, onDragEnter: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, children: expandedBody }));
|
|
539
573
|
}
|