@parhelia/core 0.1.11008 → 0.1.11014
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/README.md +34 -34
- package/dist/components/ui/PlaceholderInput.d.ts +3 -1
- package/dist/components/ui/PlaceholderInput.js +11 -6
- package/dist/components/ui/PlaceholderInput.js.map +1 -1
- package/dist/components/ui/PlaceholderItemSelector.js +4 -4
- package/dist/components/ui/PlaceholderItemSelector.js.map +1 -1
- package/dist/editor/PictureEditor.d.ts +2 -1
- package/dist/editor/PictureEditor.js +5 -1
- package/dist/editor/PictureEditor.js.map +1 -1
- package/dist/editor/ai/AgentDocumentList.js +1 -1
- package/dist/editor/ai/AgentDocumentList.js.map +1 -1
- package/dist/editor/ai/AgentTerminal.js +44 -18
- package/dist/editor/ai/AgentTerminal.js.map +1 -1
- package/dist/editor/ai/ToolCallDisplay.d.ts +3 -0
- package/dist/editor/ai/ToolCallDisplay.js +18 -10
- package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai/types.d.ts +3 -0
- package/dist/editor/control-center/ControlCenterMenu.js +8 -1
- package/dist/editor/control-center/ControlCenterMenu.js.map +1 -1
- package/dist/editor/control-center/IndexOverview.js +214 -130
- package/dist/editor/control-center/IndexOverview.js.map +1 -1
- package/dist/editor/control-center/Setup.js +38 -5
- package/dist/editor/control-center/Setup.js.map +1 -1
- package/dist/editor/control-center/Status.js +8 -1
- package/dist/editor/control-center/Status.js.map +1 -1
- package/dist/editor/control-center/setup-steps/SetupOverview.d.ts +1 -1
- package/dist/editor/control-center/setup-steps/SetupOverview.js +1 -1
- package/dist/editor/media-selector/TreeSelector.js +1 -1
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/page-editor-chrome/PictureEditorOverlay.js +10 -1
- package/dist/editor/page-editor-chrome/PictureEditorOverlay.js.map +1 -1
- package/dist/editor/services/indexService.d.ts +1 -0
- package/dist/editor/services/indexService.js +3 -0
- package/dist/editor/services/indexService.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ParheliaAssistantChat.js +1 -1
- package/dist/splash-screen/ParheliaAssistantChat.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
# @parhelia/core
|
|
2
|
-
|
|
3
|
-
Core components and utilities for the Parhelia visual content editor for Sitecore.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install @parhelia/core
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
import { /* components */ } from '@parhelia/core';
|
|
15
|
-
import '@parhelia/core/styles.css';
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Features
|
|
19
|
-
|
|
20
|
-
- Visual editor components
|
|
21
|
-
- UI component library
|
|
22
|
-
- Content management utilities
|
|
23
|
-
- Agent-based AI assistance
|
|
24
|
-
- Page wizard functionality
|
|
25
|
-
- Field editing capabilities
|
|
26
|
-
|
|
27
|
-
## License
|
|
28
|
-
|
|
29
|
-
See LICENSE file for details.
|
|
30
|
-
|
|
31
|
-
## Documentation
|
|
32
|
-
|
|
33
|
-
For complete documentation, visit [https://parhelia.ai](https://parhelia.ai)
|
|
34
|
-
|
|
1
|
+
# @parhelia/core
|
|
2
|
+
|
|
3
|
+
Core components and utilities for the Parhelia visual content editor for Sitecore.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @parhelia/core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { /* components */ } from '@parhelia/core';
|
|
15
|
+
import '@parhelia/core/styles.css';
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Features
|
|
19
|
+
|
|
20
|
+
- Visual editor components
|
|
21
|
+
- UI component library
|
|
22
|
+
- Content management utilities
|
|
23
|
+
- Agent-based AI assistance
|
|
24
|
+
- Page wizard functionality
|
|
25
|
+
- Field editing capabilities
|
|
26
|
+
|
|
27
|
+
## License
|
|
28
|
+
|
|
29
|
+
See LICENSE file for details.
|
|
30
|
+
|
|
31
|
+
## Documentation
|
|
32
|
+
|
|
33
|
+
For complete documentation, visit [https://parhelia.ai](https://parhelia.ai)
|
|
34
|
+
|
|
@@ -36,6 +36,8 @@ type PlaceholderInputProps = {
|
|
|
36
36
|
onCancel?: () => void;
|
|
37
37
|
className?: string;
|
|
38
38
|
showButtons?: boolean;
|
|
39
|
+
buttonsClassName?: string;
|
|
40
|
+
onFilledChange?: (allFilled: boolean) => void;
|
|
39
41
|
};
|
|
40
|
-
export declare function PlaceholderInput({ text, onComplete, onCancel, className, showButtons, }: PlaceholderInputProps): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
export declare function PlaceholderInput({ text, onComplete, onCancel, className, showButtons, buttonsClassName, onFilledChange, }: PlaceholderInputProps): import("react/jsx-runtime").JSX.Element;
|
|
41
43
|
export {};
|
|
@@ -45,7 +45,7 @@ function parsePlaceholders(text) {
|
|
|
45
45
|
}
|
|
46
46
|
return placeholders;
|
|
47
47
|
}
|
|
48
|
-
export function PlaceholderInput({ text, onComplete, onCancel, className, showButtons = true, }) {
|
|
48
|
+
export function PlaceholderInput({ text, onComplete, onCancel, className, showButtons = true, buttonsClassName, onFilledChange, }) {
|
|
49
49
|
const placeholders = parsePlaceholders(text);
|
|
50
50
|
const [values, setValues] = React.useState({});
|
|
51
51
|
// Create refs for each placeholder using useRef to avoid the null issue
|
|
@@ -59,6 +59,15 @@ export function PlaceholderInput({ text, onComplete, onCancel, className, showBu
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
}, [placeholders.length]);
|
|
62
|
+
// Check if all placeholders are filled
|
|
63
|
+
const allFilled = placeholders.every((_, idx) => {
|
|
64
|
+
const value = values[idx];
|
|
65
|
+
return value !== undefined && value.trim() !== "";
|
|
66
|
+
});
|
|
67
|
+
// Notify parent when filled state changes
|
|
68
|
+
React.useEffect(() => {
|
|
69
|
+
onFilledChange?.(allFilled);
|
|
70
|
+
}, [allFilled, onFilledChange]);
|
|
62
71
|
const handleValueChange = (index, value) => {
|
|
63
72
|
setValues((prev) => ({ ...prev, [index]: value }));
|
|
64
73
|
};
|
|
@@ -151,10 +160,6 @@ export function PlaceholderInput({ text, onComplete, onCancel, className, showBu
|
|
|
151
160
|
if (lastPos < text.length) {
|
|
152
161
|
segments.push(_jsx("span", { className: "whitespace-pre-wrap", children: text.substring(lastPos) }, "text-end"));
|
|
153
162
|
}
|
|
154
|
-
|
|
155
|
-
const value = values[idx];
|
|
156
|
-
return value !== undefined && value.trim() !== "";
|
|
157
|
-
});
|
|
158
|
-
return (_jsxs("div", { className: cn("space-y-2", className), children: [_jsxs("div", { className: cn("relative flex flex-wrap items-baseline gap-1 rounded-lg border border-blue-200 bg-blue-50/50 p-3 text-xs h-[80px] overflow-y-auto", onCancel && "pr-8"), children: [segments, onCancel && (_jsx("button", { onClick: onCancel, className: "absolute right-2 top-2 rounded p-0.5 text-gray-400 hover:bg-blue-100 hover:text-gray-600 transition-colors", title: "Cancel (Esc)", "aria-label": "Cancel", children: _jsx(X, { size: 14, strokeWidth: 2 }) }))] }), showButtons && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { size: "sm", onClick: handleSubmit, disabled: !allFilled, className: "h-7", children: "Submit" }), onCancel && (_jsx(Button, { size: "sm", variant: "ghost", onClick: onCancel, className: "h-7", children: "Cancel" })), !allFilled && (_jsx("span", { className: "text-xs text-gray-500", children: "Fill all fields (use Tab to navigate)" }))] }))] }));
|
|
163
|
+
return (_jsxs("div", { className: cn("space-y-2", className), children: [_jsxs("div", { className: cn("relative flex h-[80px] flex-wrap items-baseline gap-1 overflow-y-auto rounded-lg border border-blue-200 bg-blue-50/50 p-3 text-xs", onCancel && "pr-8"), children: [segments, onCancel && (_jsx("button", { onClick: onCancel, className: "absolute top-2 right-2 rounded p-0.5 text-gray-400 transition-colors hover:bg-blue-100 hover:text-gray-600", title: "Cancel (Esc)", "aria-label": "Cancel", children: _jsx(X, { size: 14, strokeWidth: 2 }) }))] }), showButtons && (_jsxs("div", { className: cn("flex items-center gap-2", buttonsClassName), children: [_jsx(Button, { size: "sm", onClick: handleSubmit, disabled: !allFilled, className: "h-7", children: "Submit" }), onCancel && (_jsx(Button, { size: "sm", variant: "ghost", onClick: onCancel, className: "h-7", children: "Cancel" })), !allFilled && (_jsx("span", { className: "text-xs text-gray-500", children: "Fill all fields (use Tab to navigate)" }))] }))] }));
|
|
159
164
|
}
|
|
160
165
|
//# sourceMappingURL=PlaceholderInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaceholderInput.js","sourceRoot":"","sources":["../../../src/components/ui/PlaceholderInput.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"PlaceholderInput.js","sourceRoot":"","sources":["../../../src/components/ui/PlaceholderInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import { Splitter } from "../../editor/ui/Splitter";
|
|
|
11
11
|
* Item selector component for placeholder inputs
|
|
12
12
|
* Allows selecting a Sitecore item via search or tree browsing
|
|
13
13
|
*/
|
|
14
|
-
export const PlaceholderItemSelector = ({ placeholder, value, onChange, onKeyDown, inputRef, autoFocus
|
|
14
|
+
export const PlaceholderItemSelector = ({ placeholder, value, onChange, onKeyDown, inputRef, autoFocus }) => {
|
|
15
15
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
16
16
|
const [selectedItem, setSelectedItem] = React.useState(null);
|
|
17
17
|
const [rootItemId, setRootItemId] = React.useState(null);
|
|
@@ -124,13 +124,13 @@ export const PlaceholderItemSelector = ({ placeholder, value, onChange, onKeyDow
|
|
|
124
124
|
const displayValue = selectedItem ? selectedItem.path : "";
|
|
125
125
|
// Don't render until root is resolved
|
|
126
126
|
if (isLoadingRoot || !rootItemId) {
|
|
127
|
-
return (_jsx("div", { ref: inputRef, className: "inline-flex
|
|
127
|
+
return (_jsx("div", { ref: inputRef, className: "inline-flex max-w-[300px] min-w-[150px] items-center gap-1 rounded border border-gray-300 bg-gray-50 px-2 py-0.5 text-xs", children: _jsx("span", { className: "flex-1 text-gray-400", children: "Loading..." }) }));
|
|
128
128
|
}
|
|
129
|
-
return (_jsxs(Popover, { open: isOpen, onOpenChange: setIsOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx("div", { ref: inputRef, tabIndex: 0, onKeyDown: onKeyDown, className: cn("inline-flex
|
|
129
|
+
return (_jsxs(Popover, { open: isOpen, onOpenChange: setIsOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx("div", { ref: inputRef, tabIndex: 0, onKeyDown: onKeyDown, className: cn("inline-flex max-w-[300px] min-w-[150px] cursor-pointer items-center gap-1 rounded border border-blue-400 bg-blue-50 px-2 py-0.5 text-xs transition-all outline-none", "hover:border-blue-500 hover:bg-blue-100", "focus:border-blue-600 focus:bg-blue-100 focus:ring-2 focus:ring-blue-500/30"), children: selectedItem ? (_jsxs(_Fragment, { children: [selectedItem.icon && (_jsx("img", { src: selectedItem.icon, alt: "", className: "h-3 w-3 flex-shrink-0" })), _jsx("span", { className: "flex-1 truncate", children: displayValue }), _jsx("button", { onClick: handleClear, className: "rounded p-0.5 hover:bg-blue-200", title: "Clear selection", children: _jsx(X, { size: 12 }) })] })) : (_jsxs(_Fragment, { children: [_jsx("span", { className: "flex-1 text-blue-400", children: placeholder.name }), _jsx(ChevronDown, { size: 12, className: "text-blue-400" })] })) }) }), _jsx(PopoverContent, { className: "w-[700px] p-0", align: "start", onOpenAutoFocus: (e) => e.preventDefault(), children: _jsx("div", { className: "flex h-[450px]", children: _jsx(Splitter, { direction: "horizontal", localStorageKey: "placeholder-item-selector-split", panels: [
|
|
130
130
|
{
|
|
131
131
|
name: "tree",
|
|
132
132
|
defaultSize: 300,
|
|
133
|
-
content: (_jsx("div", { className: "h-full overflow-auto border-r border-gray-200 p-2", children: _jsx(ContentTree, { rootItemIds: [rootItemId], selectionMode: "single", selectedItemIds: selectedItem ? [selectedItem.id] : [], onSelectionChange: (selection) => {
|
|
133
|
+
content: (_jsx("div", { className: "h-full overflow-auto border-r border-gray-200 p-2", children: _jsx(ContentTree, { hideRootNodes: true, rootItemIds: [rootItemId], selectionMode: "single", selectedItemIds: selectedItem ? [selectedItem.id] : [], onSelectionChange: (selection) => {
|
|
134
134
|
const node = selection[0];
|
|
135
135
|
if (node) {
|
|
136
136
|
handleItemSelected({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaceholderItemSelector.js","sourceRoot":"","sources":["../../../src/components/ui/PlaceholderItemSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,UAAU,EAAc,MAAM,4BAA4B,CAAC;AACpE,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"PlaceholderItemSelector.js","sourceRoot":"","sources":["../../../src/components/ui/PlaceholderItemSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { PictureField } from "./fieldTypes";
|
|
2
|
-
export declare function PictureEditor({ field, variantName, style, forwardScrollevents, isPageEditor, onContextMenu, }: {
|
|
2
|
+
export declare function PictureEditor({ field, variantName, style, forwardScrollevents, isPageEditor, onContextMenu, onDialogOpenChange, }: {
|
|
3
3
|
field: PictureField;
|
|
4
4
|
variantName: string;
|
|
5
5
|
style?: React.CSSProperties;
|
|
6
6
|
forwardScrollevents?: boolean;
|
|
7
7
|
isPageEditor?: boolean;
|
|
8
8
|
onContextMenu?: (e: React.MouseEvent<HTMLDivElement>) => void;
|
|
9
|
+
onDialogOpenChange?: (open: boolean) => void;
|
|
9
10
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -7,12 +7,16 @@ import { FieldActionsOverlay, } from "./FieldActionsOverlay";
|
|
|
7
7
|
import { ImageEditButton } from "./ImageEditButton";
|
|
8
8
|
import { MagicEditImageIcon } from "./ui/Icons";
|
|
9
9
|
import { Settings, Zap } from "lucide-react";
|
|
10
|
-
export function PictureEditor({ field, variantName, style, forwardScrollevents, isPageEditor, onContextMenu, }) {
|
|
10
|
+
export function PictureEditor({ field, variantName, style, forwardScrollevents, isPageEditor, onContextMenu, onDialogOpenChange, }) {
|
|
11
11
|
const [showCropper, setShowCropper] = useState(false);
|
|
12
12
|
const [fieldButtons, setFieldButtons] = useState([]);
|
|
13
13
|
const [variantButtons, setVariantButtons] = useState([]);
|
|
14
14
|
const fieldActionsOverlay = useRef(null);
|
|
15
15
|
const editContext = useEditContext();
|
|
16
|
+
// Notify parent when dialog (cropper) opens/closes
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
onDialogOpenChange?.(showCropper);
|
|
19
|
+
}, [showCropper, onDialogOpenChange]);
|
|
16
20
|
// Load field buttons when component mounts
|
|
17
21
|
useEffect(() => {
|
|
18
22
|
const loadButtons = async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PictureEditor.js","sourceRoot":"","sources":["../../src/editor/PictureEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EACL,mBAAmB,GAEpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAc,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,UAAU,aAAa,CAAC,EAC5B,KAAK,EACL,WAAW,EACX,KAAK,EACL,mBAAmB,EACnB,YAAY,EACZ,aAAa,
|
|
1
|
+
{"version":3,"file":"PictureEditor.js","sourceRoot":"","sources":["../../src/editor/PictureEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export function AgentDocumentList({ agentId, maxFileSizeMB = 10, enabled = true,
|
|
|
10
10
|
const [uploading, setUploading] = useState(false);
|
|
11
11
|
const [isDragOver, setIsDragOver] = useState(false);
|
|
12
12
|
const [error, setError] = useState(null);
|
|
13
|
-
const [isExpanded, setIsExpanded] = useState(
|
|
13
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
14
14
|
const [viewingDocument, setViewingDocument] = useState(null);
|
|
15
15
|
// Track the last agentId we loaded documents for
|
|
16
16
|
const lastLoadedAgentIdRef = useRef(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentDocumentList.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentDocumentList.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAK,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,EAEL,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,MAAM,EACN,aAAa,EACb,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AASpC,MAAM,UAAU,iBAAiB,CAAC,EAChC,OAAO,EACP,aAAa,GAAG,EAAE,EAClB,OAAO,GAAG,IAAI,EACd,SAAS,GACc;IACvB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAkB,EAAE,CAAC,CAAC;IAChE,gFAAgF;IAChF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"AgentDocumentList.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentDocumentList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import React, { useEffect, useState, useRef, useCallback, useLayoutEffect, ViewTransition, } from "react";
|
|
3
3
|
import { Send, AlertCircle, Loader2, User, Wand2, Square, Mic, MicOff, ChevronDown, ChevronUp, ListTodo, ExternalLink, } from "lucide-react";
|
|
4
|
-
import { DancingDots } from "./DancingDots";
|
|
5
4
|
import { getAgent, startAgent, updateAgentSettings, updateAgentCostLimit, updateAgentContext, cancelAgent, canonicalizeAgentMetadata, getPendingPrompts, } from "../services/agentService";
|
|
6
5
|
import { useEditContext, useFieldsEditContext } from "../client/editContext";
|
|
7
6
|
import { Textarea } from "../../components/ui/textarea";
|
|
@@ -484,6 +483,11 @@ const convertAgentMessagesToAiFormat = (agentMessages) => {
|
|
|
484
483
|
},
|
|
485
484
|
// Pass through approval info if present on the tool call
|
|
486
485
|
requiresApproval: toolCall.requiresApproval,
|
|
486
|
+
// Pass through isCompleted so ToolCallDisplay knows when to hide spinner
|
|
487
|
+
isCompleted: toolCall.isCompleted,
|
|
488
|
+
// Pass through message IDs for approval/rejection events
|
|
489
|
+
messageId: toolCall.messageId,
|
|
490
|
+
dbMessageId: toolCall.dbMessageId,
|
|
487
491
|
}))
|
|
488
492
|
: [],
|
|
489
493
|
};
|
|
@@ -507,6 +511,7 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
507
511
|
const [isConnecting, setIsConnecting] = useState(false);
|
|
508
512
|
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
509
513
|
const [activePlaceholderInput, setActivePlaceholderInput] = useState(null);
|
|
514
|
+
const [allPlaceholdersFilled, setAllPlaceholdersFilled] = useState(false);
|
|
510
515
|
const [agentMetadata, setAgentMetadata] = useState(null);
|
|
511
516
|
// Generate a stable clientSessionId per component instance for stream deduplication
|
|
512
517
|
const clientSessionIdRef = useRef(null);
|
|
@@ -546,17 +551,12 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
546
551
|
const waiting = isWaitingRef.current;
|
|
547
552
|
const streaming = hasActiveStreaming();
|
|
548
553
|
const pendingApprovals = hasPendingApprovals();
|
|
549
|
-
// Check if agent is waiting for approval
|
|
550
|
-
const currentAgent = agentRef.current;
|
|
551
|
-
const isWaitingForApproval = currentAgent?.status === "waitingForApproval" ||
|
|
552
|
-
currentAgent?.status === 2;
|
|
553
554
|
// Don't show dots if there are pending approvals (waiting for user action)
|
|
554
|
-
// or if the agent status is waitingForApproval
|
|
555
555
|
if (!waiting && !streaming) {
|
|
556
556
|
setShowDots(false);
|
|
557
557
|
return;
|
|
558
558
|
}
|
|
559
|
-
if (pendingApprovals
|
|
559
|
+
if (pendingApprovals) {
|
|
560
560
|
setShowDots(false);
|
|
561
561
|
return;
|
|
562
562
|
}
|
|
@@ -567,12 +567,7 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
567
567
|
const stillWaiting = isWaitingRef.current;
|
|
568
568
|
const stillStreaming = hasActiveStreaming();
|
|
569
569
|
const stillPendingApprovals = hasPendingApprovals();
|
|
570
|
-
|
|
571
|
-
const stillWaitingForApproval = stillCurrentAgent?.status === "waitingForApproval" ||
|
|
572
|
-
stillCurrentAgent?.status === 2;
|
|
573
|
-
setShowDots((stillWaiting || stillStreaming) &&
|
|
574
|
-
!stillPendingApprovals &&
|
|
575
|
-
!stillWaitingForApproval);
|
|
570
|
+
setShowDots((stillWaiting || stillStreaming) && !stillPendingApprovals);
|
|
576
571
|
}, 100);
|
|
577
572
|
}, [hasActiveStreaming, hasPendingApprovals]);
|
|
578
573
|
const [resolvedPageName, setResolvedPageName] = useState(undefined);
|
|
@@ -1243,6 +1238,20 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
1243
1238
|
messagesRef.current = updated;
|
|
1244
1239
|
return updated;
|
|
1245
1240
|
});
|
|
1241
|
+
// After approval/rejection, check if there are any remaining pending approvals
|
|
1242
|
+
// Only set waiting state if all approvals have been resolved
|
|
1243
|
+
const stillHasPendingApprovals = messagesRef.current.some((m) => (m.toolCalls || []).some((tc) => {
|
|
1244
|
+
const hasApprovalMetadata = !!tc.requiresApproval && tc.isCompleted === false;
|
|
1245
|
+
const hasPendingSuffix = (tc.functionName || "").includes("(pending approval)");
|
|
1246
|
+
return hasApprovalMetadata || hasPendingSuffix;
|
|
1247
|
+
}));
|
|
1248
|
+
if (!stillHasPendingApprovals) {
|
|
1249
|
+
// All approvals resolved - agent will continue processing
|
|
1250
|
+
// Set waiting state and show dots to indicate ongoing activity
|
|
1251
|
+
setIsWaitingForResponse(true);
|
|
1252
|
+
isWaitingRef.current = true;
|
|
1253
|
+
resetDotsTimer();
|
|
1254
|
+
}
|
|
1246
1255
|
}
|
|
1247
1256
|
catch (err) {
|
|
1248
1257
|
console.error("❌ Error handling approval resolution:", err);
|
|
@@ -1250,7 +1259,7 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
1250
1259
|
};
|
|
1251
1260
|
window.addEventListener("agent:toolApprovalResolved", onApprovalResolved);
|
|
1252
1261
|
return () => window.removeEventListener("agent:toolApprovalResolved", onApprovalResolved);
|
|
1253
|
-
}, []);
|
|
1262
|
+
}, [resetDotsTimer]);
|
|
1254
1263
|
// Load agent data and messages
|
|
1255
1264
|
const loadAgent = useCallback(async () => {
|
|
1256
1265
|
try {
|
|
@@ -2799,10 +2808,14 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
2799
2808
|
sendQuickMessage(text);
|
|
2800
2809
|
} }, groupIndex));
|
|
2801
2810
|
}
|
|
2802
|
-
}) }), messages.length > 0 &&
|
|
2811
|
+
}) }), messages.length > 0 && !hasActiveStreaming() && (_jsx("div", { className: showDots ? "visible" : "invisible", children: _jsxs("div", { className: "flex gap-3 p-4", children: [_jsx("div", { className: "flex-shrink-0", children: activeProfile?.svgIcon ? (_jsx("div", { className: "flex h-6 w-6 items-center justify-center text-gray-500 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: {
|
|
2812
|
+
__html: activeProfile.svgIcon,
|
|
2813
|
+
} })) : (_jsx(SecretAgentIcon, { size: 24, strokeWidth: 1, className: "text-gray-500" })) }), _jsx("div", { className: "flex min-w-0 flex-1 items-center", children: _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("div", { className: "h-1 w-1 animate-bounce rounded-full bg-gray-400 [animation-delay:-0.3s]" }), _jsx("div", { className: "h-1 w-1 animate-bounce rounded-full bg-gray-400 [animation-delay:-0.15s]" }), _jsx("div", { className: "h-1 w-1 animate-bounce rounded-full bg-gray-400" })] }) })] }) })), renderCostLimitBanner(), _jsx("div", { ref: messagesEndRef })] }), !hideContext && renderContextInfoBar(), !hideContext && agent?.id && activeProfile && (_jsx(AgentDocumentList, { agentId: agent.id, maxFileSizeMB: activeProfile.maxDocumentSizeMB ?? 10, enabled: activeProfile.enableDocumentUpload ?? false, profileId: activeProfile.id }, `${agent.id}-${agent.updatedDate || ""}-${activeProfile.id}`)), !hideContext && (_jsx(TodoListPanel, { messages: messages, agentMetadata: agentMetadata })), queuedPrompts.length > 0 && (_jsx("div", { className: "border-t border-gray-200 bg-amber-50/50", children: _jsxs("div", { className: "px-4 pt-3 pb-2", children: [_jsxs("div", { className: "mb-2 flex items-center gap-2", children: [_jsx("div", { className: "h-2 w-2 animate-pulse rounded-full bg-amber-500" }), _jsxs("span", { className: "text-xs font-semibold text-amber-900", children: ["Queued Messages (", queuedPrompts.length, ")"] })] }), _jsx("div", { className: "space-y-2", children: queuedPrompts.map((qp) => (_jsx("div", { className: "rounded-md border border-amber-200 bg-white p-2.5 text-xs", children: _jsx("div", { className: "flex items-start justify-between gap-2", children: _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "mb-1 flex items-center gap-1.5", children: qp.sourceAgentName ? (_jsxs(_Fragment, { children: [_jsxs("span", { className: "font-medium text-gray-700", children: ["From ", qp.sourceAgentName] }), qp.priority > 5 && (_jsx("span", { className: "rounded bg-red-100 px-1.5 py-0.5 text-[10px] font-medium text-red-700", children: "High Priority" }))] })) : (_jsx("span", { className: "font-medium text-gray-700", children: "From User" })) }), _jsx("div", { className: "break-words whitespace-pre-wrap text-gray-600", children: qp.prompt }), qp.createdDate && (_jsx("div", { className: "mt-1.5 text-[10px] text-gray-400", children: formatTime(new Date(qp.createdDate)) }))] }) }) }, qp.id))) })] }) })), _jsxs("div", { className: "border-t border-gray-200 p-4", children: [activePlaceholderInput ? (
|
|
2803
2814
|
// Placeholder Input (from quick actions)
|
|
2804
|
-
|
|
2815
|
+
// Show buttons when hideBottomControls is true (e.g., splash screen) since normal submit area is hidden
|
|
2816
|
+
_jsx(PlaceholderInput, { text: activePlaceholderInput.text, showButtons: hideBottomControls, buttonsClassName: hideBottomControls ? "justify-end" : "", onFilledChange: setAllPlaceholdersFilled, onComplete: (filledText) => {
|
|
2805
2817
|
setActivePlaceholderInput(null);
|
|
2818
|
+
setAllPlaceholdersFilled(false);
|
|
2806
2819
|
if (activePlaceholderInput.behavior === "compose") {
|
|
2807
2820
|
setPrompt(filledText);
|
|
2808
2821
|
setInputPlaceholder("Review and edit, then press Enter to send");
|
|
@@ -2828,10 +2841,13 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
2828
2841
|
}
|
|
2829
2842
|
}, onCancel: () => {
|
|
2830
2843
|
setActivePlaceholderInput(null);
|
|
2844
|
+
setAllPlaceholdersFilled(false);
|
|
2831
2845
|
} })) : prompt && /\{([^}]+)\}|<([^>]+)>/.test(prompt) ? (
|
|
2832
2846
|
// Template mode: show PlaceholderInput when prompt contains placeholders
|
|
2833
|
-
|
|
2847
|
+
// Show buttons when hideBottomControls is true (e.g., splash screen) since normal submit area is hidden
|
|
2848
|
+
_jsx(PlaceholderInput, { text: prompt, showButtons: hideBottomControls, buttonsClassName: hideBottomControls ? "justify-end" : "", onFilledChange: setAllPlaceholdersFilled, onComplete: (filledText) => {
|
|
2834
2849
|
setPrompt(filledText);
|
|
2850
|
+
setAllPlaceholdersFilled(false);
|
|
2835
2851
|
// Auto-submit after filling placeholders
|
|
2836
2852
|
if (filledText.trim()) {
|
|
2837
2853
|
if (isExecuting) {
|
|
@@ -2844,9 +2860,14 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
2844
2860
|
}
|
|
2845
2861
|
}, onCancel: () => {
|
|
2846
2862
|
setPrompt("");
|
|
2863
|
+
setAllPlaceholdersFilled(false);
|
|
2847
2864
|
setInputPlaceholder("Type your message... (Enter to send, Shift+Enter or Ctrl+Enter for new line)");
|
|
2848
2865
|
} })) : (_jsx("div", { className: "flex items-stretch gap-2", children: _jsx(Textarea, { ref: textareaRef, value: prompt, onChange: (e) => {
|
|
2849
2866
|
setPrompt(e.target.value);
|
|
2867
|
+
// Reset placeholder filled state when prompt changes
|
|
2868
|
+
if (!/\{([^}]+)\}|<([^>]+)>/.test(e.target.value)) {
|
|
2869
|
+
setAllPlaceholdersFilled(false);
|
|
2870
|
+
}
|
|
2850
2871
|
// Reset history index when user starts typing
|
|
2851
2872
|
if (currentHistoryIndex !== -1) {
|
|
2852
2873
|
setCurrentHistoryIndex(-1);
|
|
@@ -2963,7 +2984,12 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
2963
2984
|
setShowPredefined(false);
|
|
2964
2985
|
if (textareaRef.current)
|
|
2965
2986
|
textareaRef.current.focus();
|
|
2966
|
-
}, children: p.title }, index))) }) })] })) : null] }), _jsxs("div", { className: "flex items-center gap-1 self-end", children: [isVoiceSupported ? (_jsx(Button, { onClick: toggleVoice, size: "sm", className: "h-5.5 w-5.5 cursor-pointer rounded-full", title: isListening ? "Stop voice input" : "Start voice input", "aria-label": isListening ? "Stop voice input" : "Start voice input", "aria-pressed": isListening, children: isListening ? (_jsx(MicOff, { className: "size-3", strokeWidth: 1 })) : (_jsx(Mic, { className: "size-3", strokeWidth: 1 })) })) : null, _jsx(Button, { onClick: isExecuting ? handleStop : handleSubmit, disabled: !isExecuting &&
|
|
2987
|
+
}, children: p.title }, index))) }) })] })) : null] }), _jsxs("div", { className: "flex items-center gap-1 self-end", children: [isVoiceSupported ? (_jsx(Button, { onClick: toggleVoice, size: "sm", className: "h-5.5 w-5.5 cursor-pointer rounded-full", title: isListening ? "Stop voice input" : "Start voice input", "aria-label": isListening ? "Stop voice input" : "Start voice input", "aria-pressed": isListening, children: isListening ? (_jsx(MicOff, { className: "size-3", strokeWidth: 1 })) : (_jsx(Mic, { className: "size-3", strokeWidth: 1 })) })) : null, _jsx(Button, { onClick: isExecuting ? handleStop : handleSubmit, disabled: !isExecuting &&
|
|
2988
|
+
((!prompt.trim() && !activePlaceholderInput) ||
|
|
2989
|
+
(!!prompt &&
|
|
2990
|
+
/\{([^}]+)\}|<([^>]+)>/.test(prompt) &&
|
|
2991
|
+
!allPlaceholdersFilled) ||
|
|
2992
|
+
(!!activePlaceholderInput && !allPlaceholdersFilled)), size: "sm", className: "h-5.5 w-5.5 cursor-pointer rounded-full", title: isExecuting ? "Stop" : "Send", "aria-label": isExecuting ? "Stop" : "Send", "data-testid": "agent-send-stop-button", "data-executing": isExecuting ? "true" : "false", children: isExecuting ? (_jsx(Square, { className: "size-3", strokeWidth: 1 })) : (_jsx(Send, { className: "size-3", strokeWidth: 1 })) })] })] }), _jsxs("div", { className: "mt-1 flex items-center gap-2 text-[10px] text-gray-500", children: [_jsx(AgentCostDisplay, { totalTokens: liveTotals
|
|
2967
2993
|
? {
|
|
2968
2994
|
input: liveTotals.input,
|
|
2969
2995
|
output: liveTotals.output,
|