@alpaca-editor/core 1.0.4173 → 1.0.4174

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.
Files changed (34) hide show
  1. package/dist/editor/QuickItemSwitcher.d.ts +3 -3
  2. package/dist/editor/QuickItemSwitcher.js +25 -7
  3. package/dist/editor/QuickItemSwitcher.js.map +1 -1
  4. package/dist/editor/ai/AgentCostDisplay.js +7 -11
  5. package/dist/editor/ai/AgentCostDisplay.js.map +1 -1
  6. package/dist/editor/ai/AgentTerminal.js +192 -718
  7. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  8. package/dist/editor/ai/Agents.js +61 -38
  9. package/dist/editor/ai/Agents.js.map +1 -1
  10. package/dist/editor/client/EditorShell.js +117 -17
  11. package/dist/editor/client/EditorShell.js.map +1 -1
  12. package/dist/editor/client/hooks/useSocketMessageHandler.js +0 -12
  13. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  14. package/dist/editor/services/agentService.d.ts +16 -2
  15. package/dist/editor/services/agentService.js +22 -8
  16. package/dist/editor/services/agentService.js.map +1 -1
  17. package/dist/editor/services/aiService.d.ts +1 -0
  18. package/dist/editor/services/aiService.js +36 -5
  19. package/dist/editor/services/aiService.js.map +1 -1
  20. package/dist/revision.d.ts +2 -2
  21. package/dist/revision.js +2 -2
  22. package/dist/styles.css +6 -3
  23. package/dist/types.d.ts +13 -0
  24. package/package.json +1 -1
  25. package/src/editor/QuickItemSwitcher.tsx +60 -33
  26. package/src/editor/ai/AgentCostDisplay.tsx +59 -60
  27. package/src/editor/ai/AgentTerminal.tsx +213 -741
  28. package/src/editor/ai/Agents.tsx +54 -38
  29. package/src/editor/client/EditorShell.tsx +142 -21
  30. package/src/editor/client/hooks/useSocketMessageHandler.ts +0 -15
  31. package/src/editor/services/agentService.ts +39 -10
  32. package/src/editor/services/aiService.ts +43 -6
  33. package/src/revision.ts +2 -2
  34. package/src/types.ts +15 -0
@@ -1,9 +1,9 @@
1
- import { HistoryEntry } from "../types";
1
+ import { NavigationHistoryEntry } from "../types";
2
2
  export interface QuickItemSwitcherProps {
3
3
  visible: boolean;
4
- items: HistoryEntry[];
4
+ entries: NavigationHistoryEntry[];
5
5
  selectedIndex: number;
6
6
  onSelect: (index: number) => void;
7
7
  onClose: () => void;
8
8
  }
9
- export declare function QuickItemSwitcher({ visible, items, selectedIndex, onSelect, onClose, }: QuickItemSwitcherProps): import("react/jsx-runtime").JSX.Element | null;
9
+ export declare function QuickItemSwitcher({ visible, entries, selectedIndex, onSelect, onClose, }: QuickItemSwitcherProps): import("react/jsx-runtime").JSX.Element | null;
@@ -6,11 +6,19 @@ import { useEditContext } from "./client/editContext";
6
6
  import { SingleEditView } from "./views/SingleEditView";
7
7
  import { usePageViewContext } from "./page-viewer/pageViewContext";
8
8
  import { getAbsoluteIconUrl } from "./utils";
9
- export function QuickItemSwitcher({ visible, items, selectedIndex, onSelect, onClose, }) {
9
+ // Helper to determine if a view shows EditView as main content
10
+ function viewShowsEditView(viewName) {
11
+ // Views that show EditView: page-editor, content-editor, and default item views
12
+ const editViewNames = ["page-editor", "content-editor"];
13
+ return editViewNames.includes(viewName);
14
+ }
15
+ // Skeleton placeholder for non-EditView previews
16
+ const SkeletonPreview = () => (_jsxs("div", { className: "h-full w-full animate-pulse bg-gray-100 p-4", children: [_jsx("div", { className: "mb-2 h-4 rounded bg-gray-300" }), _jsx("div", { className: "mb-2 h-4 w-3/4 rounded bg-gray-300" }), _jsx("div", { className: "h-4 w-1/2 rounded bg-gray-300" })] }));
17
+ export function QuickItemSwitcher({ visible, entries, selectedIndex, onSelect, onClose, }) {
10
18
  const editContext = useEditContext();
11
19
  if (!editContext)
12
20
  return null;
13
- // Scroll selected item into view
21
+ // Scroll selected entry into view
14
22
  useEffect(() => {
15
23
  if (visible && selectedIndex >= 0) {
16
24
  const element = document.querySelector(`[data-switcher-index="${selectedIndex}"]`);
@@ -21,9 +29,9 @@ export function QuickItemSwitcher({ visible, items, selectedIndex, onSelect, onC
21
29
  });
22
30
  }
23
31
  }, [selectedIndex, visible]);
24
- if (!visible || items.length === 0)
32
+ if (!visible || entries.length === 0)
25
33
  return null;
26
- return (_jsx(Dialog, { open: visible, onOpenChange: onClose, children: _jsx(DialogContent, { className: "max-h-[85vh] max-w-[90vw] gap-0 p-0", overlayClassName: "bg-black/60", showCloseButton: false, children: _jsxs("div", { className: "flex flex-col gap-7 p-6", children: [_jsx("div", { className: "text-center text-sm text-gray-600", children: "Recent Items (Live Previews) \u2022 Hold Ctrl+Shift \u2022 Press Shift or Arrow keys to navigate \u2022 Enter or release to select" }), _jsx("div", { className: "grid grid-cols-2 gap-5 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5", children: items.map((item, index) => {
34
+ return (_jsx(Dialog, { open: visible, onOpenChange: onClose, children: _jsx(DialogContent, { className: "max-h-[85vh] max-w-[90vw] gap-0 p-0", overlayClassName: "bg-black/60", showCloseButton: false, children: _jsxs("div", { className: "flex flex-col gap-7 p-6", children: [_jsx("div", { className: "text-center text-sm text-gray-600", children: "Navigation History (Live Previews) \u2022 Hold Ctrl+Shift \u2022 Press Shift or Arrow keys to navigate \u2022 Enter or release to select" }), _jsx("div", { className: "grid grid-cols-2 gap-5 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5", children: entries.map((entry, index) => {
27
35
  const isSelected = index === selectedIndex;
28
36
  return (_jsxs("div", { "data-switcher-index": index, className: cn("flex cursor-pointer flex-col items-center gap-2 rounded-lg border p-3 transition-all", isSelected
29
37
  ? "scale-105 shadow-2xl"
@@ -37,16 +45,26 @@ export function QuickItemSwitcher({ visible, items, selectedIndex, onSelect, onC
37
45
  height: "200px",
38
46
  borderColor: "var(--color-theme-secondary-light)",
39
47
  }
40
- : { height: "200px" }, children: _jsx(CardPreview, { index: index, id: item.id, language: item.language, version: item.version || 0, itemsRepository: editContext.itemsRepository, configuration: editContext.configuration }) }), _jsxs("div", { className: "flex w-full flex-col gap-1", children: [_jsxs("div", { className: "flex w-full items-center gap-2", children: [item.icon && (_jsx("img", { src: getAbsoluteIconUrl(item.icon), alt: "", className: "flex-shrink-0", style: { height: "16px", width: "16px" } })), _jsx("div", { className: cn("flex-1 truncate text-sm font-medium", "text-gray-900"), title: item.name, children: item.name })] }), _jsx("div", { className: cn("w-full truncate text-xs", "text-gray-600"), title: item.path, children: item.path })] })] }, `${item.id}-${item.language}-${index}`));
48
+ : { height: "200px" }, children: _jsx(CardPreview, { index: index, entry: entry, itemsRepository: editContext.itemsRepository, configuration: editContext.configuration }) }), _jsxs("div", { className: "flex w-full flex-col gap-1", children: [_jsxs("div", { className: "flex w-full items-center gap-2", children: [entry.itemIcon && (_jsx("img", { src: getAbsoluteIconUrl(entry.itemIcon), alt: "", className: "flex-shrink-0", style: { height: "16px", width: "16px" } })), _jsx("div", { className: cn("flex-1 truncate text-sm font-medium", "text-gray-900"), title: entry.displayName, children: entry.displayName })] }), entry.itemPath && (_jsx("div", { className: cn("w-full truncate text-xs", "text-gray-600"), title: entry.itemPath, children: entry.itemPath }))] })] }, `${entry.viewName}-${entry.item?.id || "noitem"}-${index}`));
41
49
  }) })] }) }) }));
42
50
  }
43
- const CardPreview = React.memo(function CardPreview({ index, id, language, version, itemsRepository, configuration, }) {
44
- const descriptor = useMemo(() => ({ id, language, version }), [id, language, version]);
51
+ const CardPreview = React.memo(function CardPreview({ index, entry, itemsRepository, configuration, }) {
52
+ const descriptor = useMemo(() => entry.item
53
+ ? {
54
+ id: entry.item.id,
55
+ language: entry.item.language,
56
+ version: entry.item.version,
57
+ }
58
+ : undefined, [entry.item]);
45
59
  const pageView = usePageViewContext({
46
60
  pageItemDescriptor: descriptor,
47
61
  itemsRepository,
48
62
  configuration,
49
63
  });
64
+ // Show skeleton if no item or if view doesn't show EditView
65
+ if (!entry.item || !viewShowsEditView(entry.viewName)) {
66
+ return _jsx(SkeletonPreview, {});
67
+ }
50
68
  return (_jsx("div", { className: "pointer-events-none absolute top-0 left-0 h-full w-full origin-top-left select-none", style: {
51
69
  transform: "scale(0.4)",
52
70
  width: "250%",
@@ -1 +1 @@
1
- {"version":3,"file":"QuickItemSwitcher.js","sourceRoot":"","sources":["../../src/editor/QuickItemSwitcher.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuickItemSwitcher.js","sourceRoot":"","sources":["../../src/editor/QuickItemSwitcher.tsx"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export function AgentCostDisplay({ className = "", response, totalTokens, costLi
8
8
  const costPopoverRef = useRef(null);
9
9
  const editorSettings = useEditorSettings();
10
10
  const currency = editorSettings?.currency || "USD";
11
+ const limit = costLimit != null ? Number(costLimit) : null;
11
12
  // Handle click outside for cost popover
12
13
  useEffect(() => {
13
14
  function handleClickOutside(event) {
@@ -61,13 +62,11 @@ export function AgentCostDisplay({ className = "", response, totalTokens, costLi
61
62
  (totalTokens.input > 0 || totalTokens.output > 0 || totalTokens.cached > 0);
62
63
  const hasCostData = (response && response.totalCost && response.totalCost > 0) ||
63
64
  (totalTokens && totalTokens.totalCost && totalTokens.totalCost > 0);
64
- if (!hasTokenData && !hasTotalData && !hasCostData) {
65
+ if (!hasTokenData && !hasTotalData && !hasCostData && !(limit && limit > 0)) {
65
66
  return null;
66
67
  }
67
68
  // Calculate percentage of limit used
68
- const percentUsed = costLimit && costLimit > 0
69
- ? Math.min((displayTotalCost / costLimit) * 100, 100)
70
- : null;
69
+ const percentUsed = limit && limit > 0 ? Math.min((displayTotalCost / limit) * 100, 100) : null;
71
70
  // Determine color based on usage
72
71
  const getColorClass = () => {
73
72
  if (!percentUsed)
@@ -80,18 +79,15 @@ export function AgentCostDisplay({ className = "", response, totalTokens, costLi
80
79
  return "text-yellow-600";
81
80
  return "text-gray-400";
82
81
  };
83
- return (_jsx("div", { className: `relative ${className}`, ref: costPopoverRef, "data-testid": "agent-cost-display", children: _jsxs(Popover, { open: showCostPopover, onOpenChange: setShowCostPopover, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("div", { className: `cursor-pointer text-right hover:text-gray-600 ${getColorClass()}`, style: { fontSize: "10px" }, onClick: () => setShowCostPopover(!showCostPopover), "data-testid": "agent-cost-display-trigger", children: ["Total Cost: ", displayTotalCost.toFixed(2), " ", currency, costLimit &&
84
- costLimit > 0 &&
85
- ` / ${costLimit.toFixed(2)} ${currency}`] }) }), _jsx(PopoverContent, { className: "w-80 p-4", align: "end", side: "bottom", "data-testid": "agent-cost-display-popover", children: _jsxs("div", { className: "space-y-4", children: [_jsx("div", { className: "border-b pb-2", children: _jsxs("h4", { className: "flex items-center justify-between text-sm font-semibold", children: [_jsx("div", { children: "Cost Breakdown" }), _jsxs("span", { className: "text-sm font-semibold", children: [displayTotalCost.toFixed(2), " ", currency, costLimit && costLimit > 0 && (_jsxs("span", { className: "ml-1 text-xs text-gray-500", children: ["/ ", costLimit.toFixed(2), " ", currency] }))] })] }) }), costLimit && costLimit > 0 && (_jsxs("div", { className: "rounded-md bg-gray-50 p-3", children: [_jsxs("div", { className: "mb-2 flex items-center justify-between text-xs", children: [_jsx("span", { className: "font-medium text-gray-700", children: "Cost Limit Usage" }), _jsxs("span", { className: `font-semibold ${getColorClass()}`, children: [percentUsed?.toFixed(1), "%"] })] }), _jsx("div", { className: "h-2 w-full overflow-hidden rounded-full bg-gray-200", children: _jsx("div", { className: `h-full transition-all ${percentUsed && percentUsed >= 100
82
+ return (_jsx("div", { className: `relative ${className}`, ref: costPopoverRef, "data-testid": "agent-cost-display", children: _jsxs(Popover, { open: showCostPopover, onOpenChange: setShowCostPopover, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("div", { className: `cursor-pointer text-right hover:text-gray-600 ${getColorClass()}`, style: { fontSize: "10px" }, onClick: () => setShowCostPopover(!showCostPopover), "data-testid": "agent-cost-display-trigger", children: ["Total Cost: ", displayTotalCost.toFixed(2), " ", currency, limit && limit > 0 && ` / ${limit.toFixed(2)} ${currency}`] }) }), _jsx(PopoverContent, { className: "w-80 p-4", align: "end", side: "bottom", "data-testid": "agent-cost-display-popover", children: _jsxs("div", { className: "space-y-4", children: [_jsx("div", { className: "border-b pb-2", children: _jsxs("h4", { className: "flex items-center justify-between text-sm font-semibold", children: [_jsx("div", { children: "Cost Breakdown" }), _jsxs("span", { className: "text-sm font-semibold", children: [displayTotalCost.toFixed(2), " ", currency, limit && limit > 0 && (_jsxs("span", { className: "ml-1 text-xs text-gray-500", children: ["/ ", limit.toFixed(2), " ", currency] }))] })] }) }), limit && limit > 0 && (_jsxs("div", { className: "rounded-md bg-gray-50 p-3", children: [_jsxs("div", { className: "mb-2 flex items-center justify-between text-xs", children: [_jsx("span", { className: "font-medium text-gray-700", children: "Cost Limit Usage" }), _jsxs("span", { className: `font-semibold ${getColorClass()}`, children: [percentUsed?.toFixed(1), "%"] })] }), _jsx("div", { className: "h-2 w-full overflow-hidden rounded-full bg-gray-200", children: _jsx("div", { className: `h-full transition-all ${percentUsed && percentUsed >= 100
86
83
  ? "bg-red-500"
87
84
  : percentUsed && percentUsed >= 80
88
85
  ? "bg-orange-500"
89
86
  : percentUsed && percentUsed >= 60
90
87
  ? "bg-yellow-500"
91
- : "bg-blue-500"}`, style: { width: `${Math.min(percentUsed || 0, 100)}%` } }) }), percentUsed && percentUsed >= 90 && (_jsx("p", { className: "mt-2 text-xs text-gray-600", children: percentUsed >= 100
88
+ : "bg-blue-500"}`, style: { width: `${Math.min(percentUsed || 0, 100)}%` } }) }), percentUsed != null && percentUsed >= 90 && (_jsx("p", { className: "mt-2 text-xs text-gray-600", children: percentUsed >= 100
92
89
  ? "Cost limit reached. Execution will stop on next API call."
93
- : "Approaching cost limit. Consider extending if needed." }))] })), _jsx("div", { className: "space-y-3", children: (hasTotalData || hasTokenData) && (_jsx(_Fragment, { children: _jsx("div", { className: "space-y-2", children: hasTotalData ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Input tokens:" }), _jsxs("span", { className: "text-xs", children: [totalTokens.input.toLocaleString(), " (", totalTokens.inputCost.toFixed(2), " ", currency, ")"] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Output tokens:" }), _jsxs("span", { className: "text-xs", children: [totalTokens.output.toLocaleString(), " (", totalTokens.outputCost.toFixed(2), " ", currency, ")"] })] }), totalTokens.cached > 0 && (_jsxs("div", { className: "flex items-center justify-between", "data-testid": "cached-tokens-row", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Cached tokens:" }), _jsxs("span", { className: "text-xs", "data-testid": "cached-tokens-value", children: [totalTokens.cached.toLocaleString(), " (", totalTokens.cachedCost.toFixed(2), " ", currency, ")"] })] })), totalTokens.cacheWrite > 0 && (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Cache write tokens:" }), _jsxs("span", { className: "text-xs", children: [totalTokens.cacheWrite.toLocaleString(), " (", (totalTokens.cacheWriteCost ?? 0).toFixed(2), " ", currency, ")"] })] }))] })) : (response &&
94
- currentCost && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Input tokens:" }), _jsxs("span", { className: "text-xs", children: [response.numInputTokens.toLocaleString(), "(", currentCost.inputCost.toFixed(2), " ", currency, ")"] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Output tokens:" }), _jsxs("span", { className: "text-xs", children: [response.numOutputTokens.toLocaleString(), "(", currentCost.outputCost.toFixed(2), " ", currency, ")"] })] }), response.numCachedTokens > 0 && (_jsxs("div", { className: "flex items-center justify-between", "data-testid": "cached-tokens-row", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Cached tokens:" }), _jsxs("span", { className: "text-xs", "data-testid": "cached-tokens-value", children: [response.numCachedTokens.toLocaleString(), "(", currentCost.cachedCost.toFixed(2), " ", currency, ")"] })] })), response.numCacheWriteTokens &&
95
- response.numCacheWriteTokens > 0 && (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Cache write tokens:" }), _jsxs("span", { className: "text-xs", children: [response.numCacheWriteTokens.toLocaleString(), "(", currentCost.cacheWriteCost.toFixed(2), " ", currency, ")"] })] })), _jsx("div", { className: "mt-2 text-xs text-gray-400", children: "* Estimated costs based on typical Claude 3.5 pricing" })] }))) }) })) })] }) })] }) }));
90
+ : "Approaching cost limit. Consider extending if needed." }))] })), _jsx("div", { className: "space-y-3", children: (hasTotalData || hasTokenData) && (_jsx(_Fragment, { children: _jsx("div", { className: "space-y-2", children: hasTotalData ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Input tokens:" }), _jsxs("span", { className: "text-xs", children: [totalTokens.input.toLocaleString(), " (", totalTokens.inputCost.toFixed(2), " ", currency, ")"] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Output tokens:" }), _jsxs("span", { className: "text-xs", children: [totalTokens.output.toLocaleString(), " (", totalTokens.outputCost.toFixed(2), " ", currency, ")"] })] }), totalTokens.cached > 0 && (_jsxs("div", { className: "flex items-center justify-between", "data-testid": "cached-tokens-row", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Cached tokens:" }), _jsxs("span", { className: "text-xs", "data-testid": "cached-tokens-value", children: [totalTokens.cached.toLocaleString(), " (", totalTokens.cachedCost.toFixed(2), " ", currency, ")"] })] })), totalTokens.cacheWrite > 0 && (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Cache write tokens:" }), _jsxs("span", { className: "text-xs", children: [totalTokens.cacheWrite.toLocaleString(), " (", (totalTokens.cacheWriteCost ?? 0).toFixed(2), " ", currency, ")"] })] }))] })) : (_jsx(_Fragment, { children: response && currentCost && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Input tokens:" }), _jsxs("span", { className: "text-xs", children: [response.numInputTokens.toLocaleString(), "(", currentCost.inputCost.toFixed(2), " ", currency, ")"] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Output tokens:" }), _jsxs("span", { className: "text-xs", children: [response.numOutputTokens.toLocaleString(), "(", currentCost.outputCost.toFixed(2), " ", currency, ")"] })] }), response.numCachedTokens > 0 && (_jsxs("div", { className: "flex items-center justify-between", "data-testid": "cached-tokens-row", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Cached tokens:" }), _jsxs("span", { className: "text-xs", "data-testid": "cached-tokens-value", children: [response.numCachedTokens.toLocaleString(), "(", currentCost.cachedCost.toFixed(2), " ", currency, ")"] })] })), response.numCacheWriteTokens &&
91
+ response.numCacheWriteTokens > 0 && (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-gray-500", children: "Cache write tokens:" }), _jsxs("span", { className: "text-xs", children: [response.numCacheWriteTokens.toLocaleString(), "(", currentCost.cacheWriteCost.toFixed(2), " ", currency, ")"] })] })), _jsx("div", { className: "mt-2 text-xs text-gray-400", children: "* Estimated costs based on typical Claude 3.5 pricing" })] })) })) }) })) })] }) })] }) }));
96
92
  }
97
93
  //# sourceMappingURL=AgentCostDisplay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentCostDisplay.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentCostDisplay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentCostDisplay.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentCostDisplay.tsx"],"names":[],"mappings":"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"}