@parhelia/core 0.1.11873 → 0.1.11955

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 (247) hide show
  1. package/dist/agents-view/AgentsInbox.d.ts +1 -1
  2. package/dist/agents-view/AgentsInbox.js +15 -2
  3. package/dist/agents-view/AgentsInbox.js.map +1 -1
  4. package/dist/agents-view/AgentsSidebar.d.ts +20 -0
  5. package/dist/agents-view/AgentsSidebar.js +21 -0
  6. package/dist/agents-view/AgentsSidebar.js.map +1 -0
  7. package/dist/agents-view/AgentsView.d.ts +6 -7
  8. package/dist/agents-view/AgentsView.js +63 -25
  9. package/dist/agents-view/AgentsView.js.map +1 -1
  10. package/dist/agents-view/AgentsWorkspaceView.d.ts +2 -6
  11. package/dist/agents-view/AgentsWorkspaceView.js +242 -112
  12. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  13. package/dist/components/ui/context-menu.js +24 -9
  14. package/dist/components/ui/context-menu.js.map +1 -1
  15. package/dist/components/ui/select.js +1 -1
  16. package/dist/components/ui/select.js.map +1 -1
  17. package/dist/config/config.js +15 -11
  18. package/dist/config/config.js.map +1 -1
  19. package/dist/editor/ContentTree.js +2 -2
  20. package/dist/editor/ContentTree.js.map +1 -1
  21. package/dist/editor/ContextMenu.js +11 -5
  22. package/dist/editor/ContextMenu.js.map +1 -1
  23. package/dist/editor/FieldListField.js +1 -1
  24. package/dist/editor/FieldListField.js.map +1 -1
  25. package/dist/editor/MainLayout.js.map +1 -1
  26. package/dist/editor/MobileLayout.js +19 -9
  27. package/dist/editor/MobileLayout.js.map +1 -1
  28. package/dist/editor/ai/AgentStatusBadge.d.ts +1 -1
  29. package/dist/editor/ai/AgentStatusBadge.js +18 -2
  30. package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
  31. package/dist/editor/ai/AgentTerminal.js +342 -55
  32. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  33. package/dist/editor/ai/AiResponseMessage.js +46 -4
  34. package/dist/editor/ai/AiResponseMessage.js.map +1 -1
  35. package/dist/editor/ai/ContextInfoBar.js +151 -5
  36. package/dist/editor/ai/ContextInfoBar.js.map +1 -1
  37. package/dist/editor/ai/EditOperationsPanel.d.ts +2 -1
  38. package/dist/editor/ai/EditOperationsPanel.js +6 -1
  39. package/dist/editor/ai/EditOperationsPanel.js.map +1 -1
  40. package/dist/editor/ai/dialogs/AgentDialogHandler.js +64 -15
  41. package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
  42. package/dist/editor/ai/dialogs/QuestionnaireInline.js +111 -20
  43. package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
  44. package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +24 -0
  45. package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
  46. package/dist/editor/ai/useAgentStatus.d.ts +1 -0
  47. package/dist/editor/ai/useAgentStatus.js +74 -29
  48. package/dist/editor/ai/useAgentStatus.js.map +1 -1
  49. package/dist/editor/client/EditorShell.js +72 -8
  50. package/dist/editor/client/EditorShell.js.map +1 -1
  51. package/dist/editor/client/hooks/useQuota.d.ts +7 -0
  52. package/dist/editor/client/hooks/useQuota.js.map +1 -1
  53. package/dist/editor/client/hooks/useSocketMessageHandler.js +10 -1
  54. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  55. package/dist/editor/client/pageModelBuilder.js +3 -30
  56. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  57. package/dist/editor/client/ui/EditorChrome.js +31 -1
  58. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  59. package/dist/editor/commands/componentCommands.js +106 -6
  60. package/dist/editor/commands/componentCommands.js.map +1 -1
  61. package/dist/editor/commands/itemCommands.d.ts +1 -0
  62. package/dist/editor/commands/itemCommands.js +28 -1
  63. package/dist/editor/commands/itemCommands.js.map +1 -1
  64. package/dist/editor/componentTreeHelper.js +22 -2
  65. package/dist/editor/componentTreeHelper.js.map +1 -1
  66. package/dist/editor/insertMenuItems.d.ts +4 -0
  67. package/dist/editor/insertMenuItems.js +66 -0
  68. package/dist/editor/insertMenuItems.js.map +1 -0
  69. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +1 -1
  70. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  71. package/dist/editor/page-editor-chrome/FrameMenus.js +8 -1
  72. package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
  73. package/dist/editor/page-editor-chrome/InlineEditor.js +25 -11
  74. package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
  75. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +32 -17
  76. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  77. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +17 -11
  78. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  79. package/dist/editor/page-viewer/EditorForm.js +6 -5
  80. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  81. package/dist/editor/page-viewer/PageViewerFrame.js +49 -1
  82. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  83. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +5 -0
  84. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +1 -1
  85. package/dist/editor/pageModel.d.ts +2 -0
  86. package/dist/editor/reviews/CreateReviewConfirmStep.d.ts +16 -0
  87. package/dist/editor/reviews/CreateReviewConfirmStep.js +37 -0
  88. package/dist/editor/reviews/CreateReviewConfirmStep.js.map +1 -0
  89. package/dist/editor/reviews/CreateReviewDetailsStep.d.ts +51 -0
  90. package/dist/editor/reviews/CreateReviewDetailsStep.js +121 -0
  91. package/dist/editor/reviews/CreateReviewDetailsStep.js.map +1 -0
  92. package/dist/editor/reviews/CreateReviewDialog.js +260 -173
  93. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  94. package/dist/editor/reviews/CreateReviewSuccessStep.d.ts +6 -0
  95. package/dist/editor/reviews/CreateReviewSuccessStep.js +8 -0
  96. package/dist/editor/reviews/CreateReviewSuccessStep.js.map +1 -0
  97. package/dist/editor/reviews/DecisionsMatrix.js +96 -25
  98. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  99. package/dist/editor/reviews/MultiReviewManager.js +25 -3
  100. package/dist/editor/reviews/MultiReviewManager.js.map +1 -1
  101. package/dist/editor/reviews/PagesPanel.js +31 -15
  102. package/dist/editor/reviews/PagesPanel.js.map +1 -1
  103. package/dist/editor/reviews/ReviewCard.js +13 -7
  104. package/dist/editor/reviews/ReviewCard.js.map +1 -1
  105. package/dist/editor/reviews/ReviewDetail.js +2 -2
  106. package/dist/editor/reviews/ReviewDetail.js.map +1 -1
  107. package/dist/editor/reviews/ReviewsList.js +7 -3
  108. package/dist/editor/reviews/ReviewsList.js.map +1 -1
  109. package/dist/editor/services/agentService.d.ts +14 -1
  110. package/dist/editor/services/agentService.js +27 -1
  111. package/dist/editor/services/agentService.js.map +1 -1
  112. package/dist/editor/services/aiService.d.ts +39 -1
  113. package/dist/editor/services/aiService.js +12 -2
  114. package/dist/editor/services/aiService.js.map +1 -1
  115. package/dist/editor/services/serviceHelper.d.ts +1 -1
  116. package/dist/editor/services/serviceHelper.js +2 -1
  117. package/dist/editor/services/serviceHelper.js.map +1 -1
  118. package/dist/editor/settings/About.js +1 -1
  119. package/dist/editor/settings/About.js.map +1 -1
  120. package/dist/editor/settings/QuotaInfo.js +202 -4
  121. package/dist/editor/settings/QuotaInfo.js.map +1 -1
  122. package/dist/editor/settings/panels/SearchConfigPanel.js +11 -13
  123. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
  124. package/dist/editor/settings/status/useStartupChecks.js +2 -1
  125. package/dist/editor/settings/status/useStartupChecks.js.map +1 -1
  126. package/dist/editor/sidebar/ComponentTree.js +26 -20
  127. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  128. package/dist/editor/sidebar/MobileWorkspacePopover.d.ts +16 -0
  129. package/dist/editor/sidebar/MobileWorkspacePopover.js +35 -0
  130. package/dist/editor/sidebar/MobileWorkspacePopover.js.map +1 -0
  131. package/dist/editor/sidebar/NavigationSidebar.js +30 -14
  132. package/dist/editor/sidebar/NavigationSidebar.js.map +1 -1
  133. package/dist/editor/ui/ItemNameDialogNew.js +8 -8
  134. package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
  135. package/dist/editor/ui/SharedFolderSelectorDialog.d.ts +11 -0
  136. package/dist/editor/ui/SharedFolderSelectorDialog.js +79 -0
  137. package/dist/editor/ui/SharedFolderSelectorDialog.js.map +1 -0
  138. package/dist/editor/ui/SimpleTabs.js +1 -1
  139. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  140. package/dist/editor/ui/Splitter.js +4 -2
  141. package/dist/editor/ui/Splitter.js.map +1 -1
  142. package/dist/editor/ui/TreeListSelector.d.ts +2 -1
  143. package/dist/editor/ui/TreeListSelector.js +2 -2
  144. package/dist/editor/ui/TreeListSelector.js.map +1 -1
  145. package/dist/editor/utils.js +42 -0
  146. package/dist/editor/utils.js.map +1 -1
  147. package/dist/editor/views/EditorSlot.js +7 -8
  148. package/dist/editor/views/EditorSlot.js.map +1 -1
  149. package/dist/index.d.ts +1 -0
  150. package/dist/index.js +1 -0
  151. package/dist/index.js.map +1 -1
  152. package/dist/revision.d.ts +2 -2
  153. package/dist/revision.js +2 -2
  154. package/dist/setup/wizard/steps/ImportModelDialog.js +24 -22
  155. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  156. package/dist/splash-screen/NewPage.js +2 -2
  157. package/dist/splash-screen/NewPage.js.map +1 -1
  158. package/dist/splash-screen/RecentPages.js +1 -1
  159. package/dist/splash-screen/RecentPages.js.map +1 -1
  160. package/dist/task-board/TaskBoardWorkspace.d.ts +1 -0
  161. package/dist/task-board/TaskBoardWorkspace.js +1094 -0
  162. package/dist/task-board/TaskBoardWorkspace.js.map +1 -0
  163. package/dist/task-board/components/AddDependencyDialog.d.ts +8 -0
  164. package/dist/task-board/components/AddDependencyDialog.js +53 -0
  165. package/dist/task-board/components/AddDependencyDialog.js.map +1 -0
  166. package/dist/task-board/components/AssignAgentDialog.d.ts +7 -0
  167. package/dist/task-board/components/AssignAgentDialog.js +96 -0
  168. package/dist/task-board/components/AssignAgentDialog.js.map +1 -0
  169. package/dist/task-board/components/CommentsList.d.ts +3 -0
  170. package/dist/task-board/components/CommentsList.js +36 -0
  171. package/dist/task-board/components/CommentsList.js.map +1 -0
  172. package/dist/task-board/components/CreateProjectDialog.d.ts +7 -0
  173. package/dist/task-board/components/CreateProjectDialog.js +175 -0
  174. package/dist/task-board/components/CreateProjectDialog.js.map +1 -0
  175. package/dist/task-board/components/CreateTaskDialog.d.ts +7 -0
  176. package/dist/task-board/components/CreateTaskDialog.js +76 -0
  177. package/dist/task-board/components/CreateTaskDialog.js.map +1 -0
  178. package/dist/task-board/components/ProjectAgentsPanel.d.ts +4 -0
  179. package/dist/task-board/components/ProjectAgentsPanel.js +159 -0
  180. package/dist/task-board/components/ProjectAgentsPanel.js.map +1 -0
  181. package/dist/task-board/components/ProjectDashboard.d.ts +25 -0
  182. package/dist/task-board/components/ProjectDashboard.js +91 -0
  183. package/dist/task-board/components/ProjectDashboard.js.map +1 -0
  184. package/dist/task-board/components/ProjectList.d.ts +7 -0
  185. package/dist/task-board/components/ProjectList.js +74 -0
  186. package/dist/task-board/components/ProjectList.js.map +1 -0
  187. package/dist/task-board/components/ProjectSettingsDialog.d.ts +8 -0
  188. package/dist/task-board/components/ProjectSettingsDialog.js +146 -0
  189. package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -0
  190. package/dist/task-board/components/TaskAgentPanel.d.ts +10 -0
  191. package/dist/task-board/components/TaskAgentPanel.js +42 -0
  192. package/dist/task-board/components/TaskAgentPanel.js.map +1 -0
  193. package/dist/task-board/components/TaskAssigneePicker.d.ts +12 -0
  194. package/dist/task-board/components/TaskAssigneePicker.js +115 -0
  195. package/dist/task-board/components/TaskAssigneePicker.js.map +1 -0
  196. package/dist/task-board/components/TaskBoardTitlebar.d.ts +1 -0
  197. package/dist/task-board/components/TaskBoardTitlebar.js +60 -0
  198. package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -0
  199. package/dist/task-board/components/TaskCard.d.ts +9 -0
  200. package/dist/task-board/components/TaskCard.js +24 -0
  201. package/dist/task-board/components/TaskCard.js.map +1 -0
  202. package/dist/task-board/components/TaskDetailDialog.d.ts +11 -0
  203. package/dist/task-board/components/TaskDetailDialog.js +8 -0
  204. package/dist/task-board/components/TaskDetailDialog.js.map +1 -0
  205. package/dist/task-board/components/TaskDetailPanel.d.ts +13 -0
  206. package/dist/task-board/components/TaskDetailPanel.js +322 -0
  207. package/dist/task-board/components/TaskDetailPanel.js.map +1 -0
  208. package/dist/task-board/components/TaskRow.d.ts +9 -0
  209. package/dist/task-board/components/TaskRow.js +25 -0
  210. package/dist/task-board/components/TaskRow.js.map +1 -0
  211. package/dist/task-board/index.d.ts +15 -0
  212. package/dist/task-board/index.js +18 -0
  213. package/dist/task-board/index.js.map +1 -0
  214. package/dist/task-board/services/taskService.d.ts +52 -0
  215. package/dist/task-board/services/taskService.js +74 -0
  216. package/dist/task-board/services/taskService.js.map +1 -0
  217. package/dist/task-board/taskAgentConfig.d.ts +7 -0
  218. package/dist/task-board/taskAgentConfig.js +43 -0
  219. package/dist/task-board/taskAgentConfig.js.map +1 -0
  220. package/dist/task-board/taskAgentLink.d.ts +2 -0
  221. package/dist/task-board/taskAgentLink.js +35 -0
  222. package/dist/task-board/taskAgentLink.js.map +1 -0
  223. package/dist/task-board/taskBoardNavStore.d.ts +35 -0
  224. package/dist/task-board/taskBoardNavStore.js +42 -0
  225. package/dist/task-board/taskBoardNavStore.js.map +1 -0
  226. package/dist/task-board/taskExecutionStatus.d.ts +12 -0
  227. package/dist/task-board/taskExecutionStatus.js +96 -0
  228. package/dist/task-board/taskExecutionStatus.js.map +1 -0
  229. package/dist/task-board/taskStatus.d.ts +2 -0
  230. package/dist/task-board/taskStatus.js +26 -0
  231. package/dist/task-board/taskStatus.js.map +1 -0
  232. package/dist/task-board/types.d.ts +169 -0
  233. package/dist/task-board/types.js +2 -0
  234. package/dist/task-board/types.js.map +1 -0
  235. package/dist/task-board/utils/projectHierarchy.d.ts +13 -0
  236. package/dist/task-board/utils/projectHierarchy.js +34 -0
  237. package/dist/task-board/utils/projectHierarchy.js.map +1 -0
  238. package/dist/task-board/views/KanbanView.d.ts +14 -0
  239. package/dist/task-board/views/KanbanView.js +136 -0
  240. package/dist/task-board/views/KanbanView.js.map +1 -0
  241. package/dist/task-board/views/ListView.d.ts +13 -0
  242. package/dist/task-board/views/ListView.js +74 -0
  243. package/dist/task-board/views/ListView.js.map +1 -0
  244. package/dist/task-board/views/PlanningView.d.ts +7 -0
  245. package/dist/task-board/views/PlanningView.js +112 -0
  246. package/dist/task-board/views/PlanningView.js.map +1 -0
  247. package/package.json +1 -1
@@ -1,8 +1,194 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useMemo, useState } from "react";
2
3
  import { useEditContext } from "../client/editContext";
4
+ import { loadQuotaUsers, requestQuota, } from "../services/aiService";
5
+ const MONTH_NAMES = [
6
+ "January",
7
+ "February",
8
+ "March",
9
+ "April",
10
+ "May",
11
+ "June",
12
+ "July",
13
+ "August",
14
+ "September",
15
+ "October",
16
+ "November",
17
+ "December",
18
+ ];
19
+ function parseUsageDate(rawDate) {
20
+ if (!rawDate)
21
+ return null;
22
+ const normalized = rawDate.includes("T") ? rawDate : `${rawDate}T00:00:00Z`;
23
+ const parsed = new Date(normalized);
24
+ return isNaN(parsed.getTime()) ? null : parsed;
25
+ }
26
+ function DailyUsageBarChart(props) {
27
+ const { title, unit, colorClass, valueFormatter, points } = props;
28
+ const maxValue = Math.max(1, ...points.map((point) => point.value));
29
+ const hasValues = points.some((point) => point.value > 0);
30
+ return (_jsxs("div", { className: "rounded border border-gray-100 bg-gray-50 p-3", children: [_jsxs("div", { className: "mb-2 flex items-center justify-between", children: [_jsx("p", { className: "text-sm font-medium text-gray-700", children: title }), _jsxs("p", { className: "text-xs text-gray-500", children: ["Max: ", valueFormatter(maxValue), " ", unit] })] }), _jsx("div", { className: "h-36 rounded border border-gray-100 bg-white p-2", children: _jsx("div", { className: "flex h-full items-end gap-[2px]", children: points.map((point) => {
31
+ const heightPercent = point.value <= 0 ? 2 : Math.max(4, (point.value / maxValue) * 100);
32
+ return (_jsx("div", { className: "group relative flex h-full flex-1 items-end", children: _jsx("div", { className: `w-full rounded-t-sm ${colorClass} opacity-90 transition-opacity group-hover:opacity-100`, style: { height: `${heightPercent}%` }, title: `Day ${point.day}: ${valueFormatter(point.value)} ${unit}` }) }, point.day));
33
+ }) }) }), _jsx("div", { className: "mt-2 grid text-[10px] text-gray-500", style: { gridTemplateColumns: `repeat(${points.length}, minmax(0, 1fr))` }, children: points.map((point) => {
34
+ const shouldShowLabel = point.day === 1 ||
35
+ point.day === points.length ||
36
+ point.day % 5 === 0;
37
+ return (_jsx("span", { className: "text-center", children: shouldShowLabel ? point.day : "" }, point.day));
38
+ }) }), !hasValues && (_jsx("p", { className: "mt-2 text-xs text-gray-500", children: "No usage recorded for this period." }))] }));
39
+ }
3
40
  export function QuotaInfo() {
4
41
  const editContext = useEditContext();
5
- const quotaInfo = editContext?.quotaInfo;
42
+ const liveQuotaInfo = editContext?.quotaInfo ?? null;
43
+ const today = new Date();
44
+ const currentYear = today.getFullYear();
45
+ const [selectedMonth, setSelectedMonth] = useState(today.getMonth());
46
+ const [selectedYear, setSelectedYear] = useState(currentYear);
47
+ const isAdministrator = editContext?.user?.isAdministrator === true;
48
+ const currentUserName = editContext?.user?.name ?? "";
49
+ const [selectedScope, setSelectedScope] = useState("me");
50
+ const [selectedUserName, setSelectedUserName] = useState("");
51
+ const [quotaUsers, setQuotaUsers] = useState([]);
52
+ const [scopedQuotaInfo, setScopedQuotaInfo] = useState(null);
53
+ const [isLoadingScopedQuota, setIsLoadingScopedQuota] = useState(false);
54
+ const [scopeError, setScopeError] = useState(null);
55
+ const quotaInfo = isAdministrator && selectedScope !== "me" ? scopedQuotaInfo : liveQuotaInfo;
56
+ useEffect(() => {
57
+ if (selectedUserName || !currentUserName)
58
+ return;
59
+ setSelectedUserName(currentUserName);
60
+ }, [currentUserName, selectedUserName]);
61
+ const availableQuotaUsers = useMemo(() => {
62
+ const withCurrentUser = currentUserName &&
63
+ !quotaUsers.some((user) => user.userName.toLowerCase() === currentUserName.toLowerCase())
64
+ ? [
65
+ ...quotaUsers,
66
+ { userName: currentUserName, displayName: currentUserName },
67
+ ]
68
+ : quotaUsers;
69
+ return [...withCurrentUser].sort((a, b) => a.userName.localeCompare(b.userName, undefined, { sensitivity: "base" }));
70
+ }, [currentUserName, quotaUsers]);
71
+ useEffect(() => {
72
+ if (!isAdministrator)
73
+ return;
74
+ let cancelled = false;
75
+ async function fetchQuotaUsers() {
76
+ const response = await loadQuotaUsers();
77
+ if (cancelled)
78
+ return;
79
+ if (response.type === "success") {
80
+ setQuotaUsers(response.data ?? []);
81
+ setScopeError(null);
82
+ }
83
+ else {
84
+ setScopeError(response.details ?? "Failed to load users");
85
+ }
86
+ }
87
+ void fetchQuotaUsers();
88
+ return () => {
89
+ cancelled = true;
90
+ };
91
+ }, [isAdministrator]);
92
+ const loadScopedQuotaInfo = useCallback(async () => {
93
+ if (!isAdministrator)
94
+ return;
95
+ if (selectedScope === "me") {
96
+ setIsLoadingScopedQuota(false);
97
+ setScopedQuotaInfo(null);
98
+ setScopeError(null);
99
+ return;
100
+ }
101
+ if (selectedScope === "user" && !selectedUserName) {
102
+ setIsLoadingScopedQuota(false);
103
+ setScopedQuotaInfo(null);
104
+ return;
105
+ }
106
+ setIsLoadingScopedQuota(true);
107
+ setScopedQuotaInfo(null);
108
+ const response = await requestQuota({
109
+ scope: selectedScope,
110
+ userName: selectedScope === "user" ? selectedUserName : undefined,
111
+ });
112
+ if (response.type === "success" && response.data) {
113
+ const payload = response.data;
114
+ setScopedQuotaInfo({
115
+ usage: {
116
+ totalTokens: payload.usage.totalTokens,
117
+ totalImages: payload.usage.totalImages,
118
+ dailyTokens: payload.usage.dailyTokens,
119
+ dailyImages: payload.usage.dailyImages,
120
+ totalCost: payload.usage.totalCost,
121
+ dailyCost: payload.usage.dailyCost,
122
+ dailyHistory: payload.usage.dailyHistory ?? [],
123
+ },
124
+ limits: {
125
+ totalTokens: payload.limits.totalTokens,
126
+ dailyTokens: payload.limits.dailyTokens,
127
+ monthlyTokens: -1,
128
+ totalImages: payload.limits.totalImages,
129
+ dailyImages: payload.limits.dailyImages,
130
+ monthlyImages: -1,
131
+ },
132
+ });
133
+ setScopeError(null);
134
+ }
135
+ else {
136
+ setScopedQuotaInfo(null);
137
+ setScopeError(response.details ?? "Failed to load quota");
138
+ }
139
+ setIsLoadingScopedQuota(false);
140
+ }, [isAdministrator, selectedScope, selectedUserName]);
141
+ useEffect(() => {
142
+ if (!isAdministrator)
143
+ return;
144
+ void loadScopedQuotaInfo();
145
+ }, [isAdministrator, loadScopedQuotaInfo]);
146
+ const dailyHistory = useMemo(() => quotaInfo?.usage.dailyHistory ?? [], [quotaInfo?.usage.dailyHistory]);
147
+ const availableYears = useMemo(() => {
148
+ const years = new Set([currentYear]);
149
+ for (const point of dailyHistory) {
150
+ const date = parseUsageDate(point.date);
151
+ if (date)
152
+ years.add(date.getUTCFullYear());
153
+ }
154
+ return Array.from(years).sort((a, b) => b - a);
155
+ }, [dailyHistory, currentYear]);
156
+ useEffect(() => {
157
+ if (availableYears.length === 0)
158
+ return;
159
+ if (!availableYears.includes(selectedYear))
160
+ setSelectedYear(availableYears[0]);
161
+ }, [availableYears, selectedYear]);
162
+ const dailyChartPoints = useMemo(() => {
163
+ const daysInMonth = new Date(selectedYear, selectedMonth + 1, 0).getDate();
164
+ const pointsByDay = new Map();
165
+ for (let day = 1; day <= daysInMonth; day += 1) {
166
+ pointsByDay.set(day, { day, tokens: 0, images: 0, cost: 0 });
167
+ }
168
+ for (const point of dailyHistory) {
169
+ const date = parseUsageDate(point.date);
170
+ if (!date)
171
+ continue;
172
+ const year = date.getUTCFullYear();
173
+ const month = date.getUTCMonth();
174
+ const day = date.getUTCDate();
175
+ if (year !== selectedYear || month !== selectedMonth)
176
+ continue;
177
+ const existing = pointsByDay.get(day);
178
+ if (!existing)
179
+ continue;
180
+ existing.tokens += point.tokens ?? 0;
181
+ existing.images += point.images ?? 0;
182
+ existing.cost += point.cost ?? 0;
183
+ }
184
+ return Array.from(pointsByDay.values()).sort((a, b) => a.day - b.day);
185
+ }, [dailyHistory, selectedMonth, selectedYear]);
186
+ const selectedMonthTotals = useMemo(() => dailyChartPoints.reduce((acc, point) => {
187
+ acc.tokens += point.tokens;
188
+ acc.images += point.images;
189
+ acc.cost += point.cost;
190
+ return acc;
191
+ }, { tokens: 0, images: 0, cost: 0 }), [dailyChartPoints]);
6
192
  const formatQuotaPercentage = (used, limit) => {
7
193
  if (!limit || limit === 0 || limit === -1)
8
194
  return "No limit";
@@ -39,10 +225,13 @@ export function QuotaInfo() {
39
225
  return 0;
40
226
  return Math.min(100, (used / limit) * 100);
41
227
  };
228
+ const adminScopePanel = isAdministrator ? (_jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-4", "data-testid": "quota-admin-scope-panel", children: [_jsx("h3", { className: "mb-3 text-lg font-semibold text-gray-800", children: "Usage Scope" }), _jsxs("div", { className: "grid gap-3 sm:grid-cols-2", children: [_jsxs("div", { children: [_jsx("label", { htmlFor: "quota-scope-select", className: "mb-1 block text-sm font-medium text-gray-500", children: "View" }), _jsxs("select", { id: "quota-scope-select", value: selectedScope, onChange: (event) => setSelectedScope(event.target.value), className: "w-full rounded border border-gray-200 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none", "data-testid": "quota-scope-select", children: [_jsx("option", { value: "me", children: "Me" }), _jsx("option", { value: "all", children: "All users" }), _jsx("option", { value: "user", children: "Select user" })] })] }), selectedScope === "user" && (_jsxs("div", { children: [_jsx("label", { htmlFor: "quota-user-select", className: "mb-1 block text-sm font-medium text-gray-500", children: "User" }), _jsxs("select", { id: "quota-user-select", value: selectedUserName, onChange: (event) => setSelectedUserName(event.target.value), className: "w-full rounded border border-gray-200 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none", "data-testid": "quota-user-select", children: [availableQuotaUsers.length === 0 && (_jsx("option", { value: "", children: "No users available" })), availableQuotaUsers.map((user) => (_jsxs("option", { value: user.userName, children: [user.displayName, " (", user.userName, ")"] }, user.userName)))] })] }))] }), scopeError && (_jsx("p", { className: "mt-3 text-xs text-red-600", "data-testid": "quota-scope-error", children: scopeError }))] })) : null;
42
229
  if (!quotaInfo) {
43
- return (_jsx("div", { className: "space-y-6 p-4", children: _jsx("div", { className: "rounded-lg border border-gray-200 bg-white p-4", children: _jsx("p", { className: "text-gray-600", children: "No quota information available" }) }) }));
230
+ return (_jsxs("div", { className: "space-y-6 p-4", "data-testid": "quota-info-section", children: [adminScopePanel, _jsx("div", { className: "rounded-lg border border-gray-200 bg-white p-4", children: _jsx("p", { className: "text-gray-600", children: isLoadingScopedQuota
231
+ ? "Loading quota information..."
232
+ : "No quota information available" }) })] }));
44
233
  }
45
- return (_jsxs("div", { className: "space-y-6 p-4", children: [_jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-4", children: [_jsx("h3", { className: "mb-3 text-lg font-semibold text-gray-800", children: "Token Usage" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsxs("div", { className: "mb-2 flex items-center justify-between", children: [_jsx("label", { className: "text-sm font-medium text-gray-500", children: "Total Usage" }), _jsxs("span", { className: "text-sm text-gray-600", children: [quotaInfo.usage.totalTokens.toLocaleString(), " /", " ", quotaInfo.limits.totalTokens &&
234
+ return (_jsxs("div", { className: "space-y-6 p-4", "data-testid": "quota-info-section", children: [adminScopePanel, _jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-4", children: [_jsx("h3", { className: "mb-3 text-lg font-semibold text-gray-800", children: "Token Usage" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsxs("div", { className: "mb-2 flex items-center justify-between", children: [_jsx("label", { className: "text-sm font-medium text-gray-500", children: "Total Usage" }), _jsxs("span", { className: "text-sm text-gray-600", children: [quotaInfo.usage.totalTokens.toLocaleString(), " /", " ", quotaInfo.limits.totalTokens &&
46
235
  quotaInfo.limits.totalTokens > 0
47
236
  ? quotaInfo.limits.totalTokens.toLocaleString()
48
237
  : "∞"] })] }), quotaInfo.limits.totalTokens &&
@@ -94,7 +283,16 @@ export function QuotaInfo() {
94
283
  width: `${getProgressWidth(quotaInfo.usage.dailyImages, quotaInfo.limits.dailyImages)}%`,
95
284
  } }) })), _jsx("p", { className: "mt-1 text-xs text-gray-500", children: quotaInfo.limits.dailyImages === -1
96
285
  ? "No daily limit"
97
- : `${formatQuotaPercentage(quotaInfo.usage.dailyImages, quotaInfo.limits.dailyImages)} used today` })] })] })] }), _jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-4", children: [_jsx("h3", { className: "mb-3 text-lg font-semibold text-gray-800", children: "Cost Summary" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("label", { className: "text-sm font-medium text-gray-500", children: "Total (All Time)" }), _jsxs("span", { className: "text-lg font-semibold text-gray-800", children: ["$", (quotaInfo.usage.totalCost ?? 0).toFixed(2)] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("label", { className: "text-sm font-medium text-gray-500", children: "Today" }), _jsxs("span", { className: "text-lg font-semibold text-gray-800", children: ["$", (quotaInfo.usage.dailyCost ?? 0).toFixed(2)] })] })] })] }), _jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-4", children: [_jsx("h4", { className: "mb-2 text-sm font-medium text-gray-700", children: "Quota Status" }), _jsxs("div", { className: "space-y-1 text-sm", children: [editContext?.isQuotaExceeded && (_jsx("p", { className: "font-medium text-red-600", children: "\u26A0\uFE0F Quota limits have been exceeded" })), editContext?.getQuotaWarningMessage &&
286
+ : `${formatQuotaPercentage(quotaInfo.usage.dailyImages, quotaInfo.limits.dailyImages)} used today` })] })] })] }), _jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-4", "data-testid": "quota-daily-usage-chart", children: [_jsxs("div", { className: "mb-3 flex flex-wrap items-center justify-between gap-3", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-lg font-semibold text-gray-800", children: "Daily Usage Chart" }), _jsx("p", { className: "text-xs text-gray-500", children: "Month/year switchable daily usage across tokens, images, and cost." })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { className: "sr-only", htmlFor: "quota-usage-month", children: "Select month" }), _jsx("select", { id: "quota-usage-month", value: selectedMonth, onChange: (event) => setSelectedMonth(Number(event.target.value)), className: "rounded border border-gray-200 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none", "data-testid": "quota-usage-month-select", children: MONTH_NAMES.map((monthName, index) => (_jsx("option", { value: index, children: monthName }, monthName))) }), _jsx("label", { className: "sr-only", htmlFor: "quota-usage-year", children: "Select year" }), _jsx("select", { id: "quota-usage-year", value: selectedYear, onChange: (event) => setSelectedYear(Number(event.target.value)), className: "rounded border border-gray-200 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none", "data-testid": "quota-usage-year-select", children: availableYears.map((year) => (_jsx("option", { value: year, children: year }, year))) })] })] }), _jsxs("div", { className: "mb-4 grid gap-3 sm:grid-cols-3", children: [_jsxs("div", { className: "rounded border border-blue-100 bg-blue-50 p-3", children: [_jsx("p", { className: "text-xs font-medium uppercase tracking-wide text-blue-700", children: "Tokens this month" }), _jsx("p", { className: "mt-1 text-lg font-semibold text-blue-900", children: selectedMonthTotals.tokens.toLocaleString() })] }), _jsxs("div", { className: "rounded border border-purple-100 bg-purple-50 p-3", children: [_jsx("p", { className: "text-xs font-medium uppercase tracking-wide text-purple-700", children: "Images this month" }), _jsx("p", { className: "mt-1 text-lg font-semibold text-purple-900", children: selectedMonthTotals.images.toLocaleString() })] }), _jsxs("div", { className: "rounded border border-emerald-100 bg-emerald-50 p-3", children: [_jsx("p", { className: "text-xs font-medium uppercase tracking-wide text-emerald-700", children: "Cost this month" }), _jsxs("p", { className: "mt-1 text-lg font-semibold text-emerald-900", children: ["$", selectedMonthTotals.cost.toFixed(2)] })] })] }), _jsxs("div", { className: "space-y-3", children: [_jsx(DailyUsageBarChart, { title: "Tokens / day", unit: "tokens", colorClass: "bg-blue-500", valueFormatter: (value) => value.toLocaleString(), points: dailyChartPoints.map((point) => ({
287
+ day: point.day,
288
+ value: point.tokens,
289
+ })) }), _jsx(DailyUsageBarChart, { title: "Images / day", unit: "images", colorClass: "bg-purple-500", valueFormatter: (value) => value.toLocaleString(), points: dailyChartPoints.map((point) => ({
290
+ day: point.day,
291
+ value: point.images,
292
+ })) }), _jsx(DailyUsageBarChart, { title: "Cost / day", unit: "USD", colorClass: "bg-emerald-500", valueFormatter: (value) => value.toFixed(2), points: dailyChartPoints.map((point) => ({
293
+ day: point.day,
294
+ value: point.cost,
295
+ })) })] }), dailyHistory.length === 0 && (_jsx("p", { className: "mt-3 text-xs text-gray-500", children: "No historical usage payload received yet. The chart will populate as daily usage data is sent from the server." }))] }), _jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-4", children: [_jsx("h3", { className: "mb-3 text-lg font-semibold text-gray-800", children: "Cost Summary" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("label", { className: "text-sm font-medium text-gray-500", children: "Total (All Time)" }), _jsxs("span", { className: "text-lg font-semibold text-gray-800", children: ["$", (quotaInfo.usage.totalCost ?? 0).toFixed(2)] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("label", { className: "text-sm font-medium text-gray-500", children: "Today" }), _jsxs("span", { className: "text-lg font-semibold text-gray-800", children: ["$", (quotaInfo.usage.dailyCost ?? 0).toFixed(2)] })] })] })] }), _jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-4", "data-testid": "quota-status-summary", children: [_jsx("h4", { className: "mb-2 text-sm font-medium text-gray-700", children: "Quota Status" }), _jsxs("div", { className: "space-y-1 text-sm", children: [editContext?.isQuotaExceeded && (_jsx("p", { className: "font-medium text-red-600", "data-testid": "quota-exceeded-message", children: "\u26A0\uFE0F Quota limits have been exceeded" })), editContext?.getQuotaWarningMessage &&
98
296
  editContext.getQuotaWarningMessage() &&
99
297
  !editContext.isQuotaExceeded && (_jsxs("p", { className: "text-orange-600", children: ["\u26A0\uFE0F ", editContext.getQuotaWarningMessage()] })), !editContext?.isQuotaExceeded &&
100
298
  !editContext?.getQuotaWarningMessage?.() && (_jsx("p", { className: "text-green-600", children: "\u2705 All quotas are within limits" }))] })] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"QuotaInfo.js","sourceRoot":"","sources":["../../../src/editor/settings/QuotaInfo.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuotaInfo.js","sourceRoot":"","sources":["../../../src/editor/settings/QuotaInfo.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { setupWizardService, } from "../../../setup/services/setupWizardService"
5
5
  import { AlertCircle, RefreshCw, Settings, Plus } from "lucide-react";
6
6
  import { Button } from "../../../components/ui/button";
7
7
  import { Card } from "../../../components/ui/card";
8
- import { useEditContext } from "../../client/editContext";
8
+ import { useMediaQuery } from "../../client/hooks/useMediaQuery";
9
9
  import { Splitter } from "../../ui/Splitter";
10
10
  import { ItemConfigPanel } from "./ItemConfigPanel";
11
11
  /**
@@ -13,7 +13,6 @@ import { ItemConfigPanel } from "./ItemConfigPanel";
13
13
  * Configure search index and embeddings models.
14
14
  */
15
15
  export function SearchConfigPanel() {
16
- const editContext = useEditContext();
17
16
  const [state, setState] = useState("loading");
18
17
  const [embeddingsModels, setEmbeddingsModels] = useState([]);
19
18
  const [searchSettingsExists, setSearchSettingsExists] = useState(false);
@@ -24,6 +23,7 @@ export function SearchConfigPanel() {
24
23
  const [creating, setCreating] = useState(false);
25
24
  const previousModelId = useRef("");
26
25
  const hasLoaded = useRef(false);
26
+ const isMobile = useMediaQuery("(max-width: 768px)");
27
27
  // Sidebar editor state
28
28
  const [showEditor, setShowEditor] = useState(false);
29
29
  const loadData = useCallback(async () => {
@@ -134,16 +134,14 @@ export function SearchConfigPanel() {
134
134
  handleSave,
135
135
  searchSettingsExists,
136
136
  ]);
137
- const handleOpenEditor = useCallback(() => {
138
- setShowEditor(true);
139
- }, []);
140
- const handleCloseEditor = useCallback(() => {
141
- setShowEditor(false);
142
- // Reload data after closing editor in case settings were changed
143
- loadData();
144
- }, [loadData]);
137
+ const handleToggleEditor = () => {
138
+ setShowEditor(!showEditor);
139
+ if (showEditor) {
140
+ loadData();
141
+ }
142
+ };
145
143
  // Build the main content
146
- const mainContent = (_jsx("div", { className: "h-full overflow-auto p-4", children: _jsxs("div", { className: "mx-auto", children: [state === "loading" && (_jsx("div", { className: "flex items-center justify-center py-8", children: _jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-500", children: [_jsx(RefreshCw, { className: "h-4 w-4 animate-spin" }), "Loading..."] }) })), state !== "loading" && !searchSettingsExists && (_jsx(Card, { icon: _jsx(Settings, { strokeWidth: 1, className: "h-5 w-5" }), title: "Search Settings", description: "Create the Search Settings item to configure embeddings model and dimensions.", children: _jsxs("div", { className: "space-y-4", children: [_jsx("p", { className: "text-sm text-gray-600", children: "The Search Settings item contains configuration for the search index, including the embeddings model and vector dimensions." }), _jsx(Button, { onClick: handleCreate, disabled: creating, className: "w-full", children: creating ? (_jsxs(_Fragment, { children: [_jsx(RefreshCw, { strokeWidth: 1, className: "mr-2 h-4 w-4 animate-spin" }), "Creating..."] })) : (_jsxs(_Fragment, { children: [_jsx(Plus, { strokeWidth: 1, className: "mr-2 h-4 w-4" }), "Create Search Settings"] })) }), error && (_jsx("div", { className: "rounded border border-red-200 bg-red-50 p-2 text-xs whitespace-pre-wrap text-red-700", children: error }))] }) })), state !== "loading" && searchSettingsExists && (_jsx("div", { className: "rounded-lg bg-white p-4 md:p-6", children: _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Settings, { strokeWidth: 1, className: "h-5 w-5 text-gray-600" }), _jsx("span", { className: "text-sm font-medium text-gray-700", children: "Search Settings" })] }), searchSettingsItemId && (_jsxs(Button, { size: "sm", variant: showEditor ? "default" : "outline", onClick: handleOpenEditor, className: "shrink-0", children: [_jsx(Settings, { className: "h-4 w-4", strokeWidth: 1.5 }), "Edit Settings"] }))] }), embeddingsModels.length === 0 && (_jsx("div", { className: "rounded border border-yellow-200 bg-yellow-50 p-4", children: _jsxs("div", { className: "flex items-start gap-3", children: [_jsx(AlertCircle, { className: "mt-0.5 h-5 w-5 shrink-0 text-yellow-600" }), _jsxs("div", { className: "flex-1", children: [_jsx("p", { className: "mb-1 text-sm font-medium text-yellow-800", children: "No embeddings models found" }), _jsx("p", { className: "mb-3 text-xs text-yellow-700", children: "Please install embeddings models in the model settings page." })] })] }) })), embeddingsModels.length > 0 && (_jsxs("div", { className: "space-y-2", children: [_jsx("label", { htmlFor: "embeddings-model", className: "mb-1 block text-sm font-medium text-gray-700", children: "Embeddings Model" }), _jsx(Select, { id: "embeddings-model", value: selectedModelId, onValueChange: setSelectedModelId, options: embeddingsModels.map((model) => ({
144
+ const mainContent = (_jsx("div", { className: "h-full overflow-auto p-4", children: _jsxs("div", { className: "mx-auto", children: [state === "loading" && (_jsx("div", { className: "flex items-center justify-center py-8", children: _jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-500", children: [_jsx(RefreshCw, { className: "h-4 w-4 animate-spin" }), "Loading..."] }) })), state !== "loading" && !searchSettingsExists && (_jsx(Card, { icon: _jsx(Settings, { strokeWidth: 1, className: "h-5 w-5" }), title: "Search Settings", description: "Create the Search Settings item to configure embeddings model and dimensions.", children: _jsxs("div", { className: "space-y-4", children: [_jsx("p", { className: "text-sm text-gray-600", children: "The Search Settings item contains configuration for the search index, including the embeddings model and vector dimensions." }), _jsx(Button, { onClick: handleCreate, disabled: creating, className: "w-full", children: creating ? (_jsxs(_Fragment, { children: [_jsx(RefreshCw, { strokeWidth: 1, className: "mr-2 h-4 w-4 animate-spin" }), "Creating..."] })) : (_jsxs(_Fragment, { children: [_jsx(Plus, { strokeWidth: 1, className: "mr-2 h-4 w-4" }), "Create Search Settings"] })) }), error && (_jsx("div", { className: "rounded border border-red-200 bg-red-50 p-2 text-xs whitespace-pre-wrap text-red-700", children: error }))] }) })), state !== "loading" && searchSettingsExists && (_jsx("div", { className: "rounded-lg bg-white p-4 md:p-6", children: _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Settings, { strokeWidth: 1, className: "h-5 w-5 text-gray-600" }), _jsx("span", { className: "text-sm font-medium text-gray-700", children: "Search Settings" })] }), searchSettingsItemId && (_jsxs(Button, { size: "sm", variant: showEditor ? "default" : "outline", onClick: handleToggleEditor, className: "shrink-0", children: [_jsx(Settings, { className: "h-4 w-4", strokeWidth: 1.5 }), "Edit Settings"] }))] }), embeddingsModels.length === 0 && (_jsx("div", { className: "rounded border border-yellow-200 bg-yellow-50 p-4", children: _jsxs("div", { className: "flex items-start gap-3", children: [_jsx(AlertCircle, { className: "mt-0.5 h-5 w-5 shrink-0 text-yellow-600" }), _jsxs("div", { className: "flex-1", children: [_jsx("p", { className: "mb-1 text-sm font-medium text-yellow-800", children: "No embeddings models found" }), _jsx("p", { className: "mb-3 text-xs text-yellow-700", children: "Please install embeddings models in the model settings page." })] })] }) })), embeddingsModels.length > 0 && (_jsxs("div", { className: "space-y-2", children: [_jsx("label", { htmlFor: "embeddings-model", className: "mb-1 block text-sm font-medium text-gray-700", children: "Embeddings Model" }), _jsx(Select, { id: "embeddings-model", value: selectedModelId, onValueChange: setSelectedModelId, options: embeddingsModels.map((model) => ({
147
145
  value: model.id,
148
146
  label: `${model.name}${model.providerName ? ` (${model.providerName})` : ""}`,
149
147
  })), placeholder: "Select...", disabled: saving }), saving && (_jsxs("div", { className: "flex items-center gap-2 text-xs text-gray-500", children: [_jsx(RefreshCw, { className: "h-3 w-3 animate-spin" }), "Saving..."] }))] })), error && (_jsx("div", { className: "rounded border border-red-200 bg-red-50 p-2 text-xs whitespace-pre-wrap text-red-700", children: error }))] }) }))] }) }));
@@ -159,7 +157,7 @@ export function SearchConfigPanel() {
159
157
  {
160
158
  name: "search-settings-editor",
161
159
  defaultSize: 400,
162
- content: (_jsx(ItemConfigPanel, { itemId: searchSettingsItemId, title: "Search Settings", onClose: handleCloseEditor }, searchSettingsItemId)),
160
+ content: (_jsx(ItemConfigPanel, { itemId: searchSettingsItemId, title: "Search Settings", onClose: handleToggleEditor }, searchSettingsItemId)),
163
161
  className: "overflow-hidden",
164
162
  },
165
163
  ]
@@ -171,7 +169,7 @@ export function SearchConfigPanel() {
171
169
  className: "overflow-hidden",
172
170
  },
173
171
  ];
174
- return (_jsx(Splitter, { panels: panels, localStorageKey: "search-config-panel-splitter", direction: "horizontal", className: "h-full" }));
172
+ return (_jsx(Splitter, { panels: panels, localStorageKey: "search-config-panel-splitter", direction: isMobile ? "vertical" : "horizontal", className: "h-full" }));
175
173
  }
176
174
  export default SearchConfigPanel;
177
175
  //# sourceMappingURL=SearchConfigPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchConfigPanel.js","sourceRoot":"","sources":["../../../../src/editor/settings/panels/SearchConfigPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchConfigPanel.js","sourceRoot":"","sources":["../../../../src/editor/settings/panels/SearchConfigPanel.tsx"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@ import { useState, useEffect, useCallback, useRef } from "react";
4
4
  * Returns the state, any issues found, and a recheck function.
5
5
  */
6
6
  export function useStartupChecks(statusChecks) {
7
- const [state, setState] = useState("idle");
7
+ // Start in loading so the startup spinner appears immediately on first render.
8
+ const [state, setState] = useState("loading");
8
9
  const [issues, setIssues] = useState([]);
9
10
  const hasRun = useRef(false);
10
11
  // Filter to only blocking checks
@@ -1 +1 @@
1
- {"version":3,"file":"useStartupChecks.js","sourceRoot":"","sources":["../../../../src/editor/settings/status/useStartupChecks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAgBjE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAAuC;IAEvC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAoB,MAAM,CAAC,CAAC;IAC9D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7B,iCAAiC;IACjC,MAAM,cAAc,GAAG,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAE/E,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEpB,sCAAsC;QACtC,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACvD,IAAI,CAAC;gBACH,OAAO,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO;oBACL;wBACE,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,QAAQ;wBACvB,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,eAAe;wBACnC,WAAW,EAAE,CAAC,EAAE,OAAO,IAAI,oCAAoC;wBAC/D,QAAQ,EAAE,OAAgB;qBAC3B;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEjC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,kCAAkC;IAClC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IAE9B,OAAO;QACL,KAAK;QACL,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC;QACnE,MAAM;QACN,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useStartupChecks.js","sourceRoot":"","sources":["../../../../src/editor/settings/status/useStartupChecks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAgBjE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAAuC;IAEvC,+EAA+E;IAC/E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAoB,SAAS,CAAC,CAAC;IACjE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7B,iCAAiC;IACjC,MAAM,cAAc,GAAG,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAE/E,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEpB,sCAAsC;QACtC,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACvD,IAAI,CAAC;gBACH,OAAO,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO;oBACL;wBACE,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,QAAQ;wBACvB,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,eAAe;wBACnC,WAAW,EAAE,CAAC,EAAE,OAAO,IAAI,oCAAoC;wBAC/D,QAAQ,EAAE,OAAgB;qBAC3B;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEjC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,kCAAkC;IAClC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IAE9B,OAAO;QACL,KAAK;QACL,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC;QACnE,MAAM;QACN,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC"}
@@ -6,7 +6,7 @@ import { getComponentCommands } from "../commands/componentCommands";
6
6
  import ConfirmationDialog from "../ConfirmationDialog";
7
7
  import { PerfectTree } from "../ui/PerfectTree";
8
8
  import { isValidPlaceholder } from "../componentTreeHelper";
9
- import { getAbsoluteIconUrl } from "../utils";
9
+ import { buildInsertMenuItems, getVisibleInsertOptions, } from "../insertMenuItems";
10
10
  import { Plus, LayoutTemplate, Pentagon, Folder, Square, ChevronRight, Circle, File, Home, } from "lucide-react";
11
11
  import { SimpleIconButton } from "../ui/SimpleIconButton";
12
12
  import { Spinner } from "../ui/Spinner";
@@ -82,11 +82,23 @@ export function ComponentTree({}) {
82
82
  useEffect(() => {
83
83
  if (editContext?.selection && editContext.selection.length > 0) {
84
84
  setSelectedKeys(editContext.selection);
85
+ return;
85
86
  }
86
- else {
87
- setSelectedKeys(["page"]);
88
- }
89
- }, [editContext?.selection]);
87
+ // Keep non-component tree selection (e.g. placeholder) when editor selection is empty.
88
+ // This allows users to click and work with placeholders without being reset to "page".
89
+ setSelectedKeys((prev) => {
90
+ if (prev.length === 1) {
91
+ const current = prev[0];
92
+ if (current) {
93
+ const node = nodeDictionary[current];
94
+ if (node && node.type !== "component") {
95
+ return prev;
96
+ }
97
+ }
98
+ }
99
+ return ["page"];
100
+ });
101
+ }, [editContext?.selection, nodeDictionary]);
90
102
  const selection = editContext?.selection || [];
91
103
  const page = editContext?.page;
92
104
  useEffect(() => {
@@ -417,6 +429,7 @@ export function ComponentTree({}) {
417
429
  else {
418
430
  newKeys = [key];
419
431
  }
432
+ setSelectedKeys(newKeys);
420
433
  const selectedComponentIds = Array.from(new Set(newKeys
421
434
  .filter((k) => nodeDictionary[k]?.type === "component")
422
435
  .map((k) => nodeDictionary[k].componentId)));
@@ -463,28 +476,21 @@ export function ComponentTree({}) {
463
476
  // Check if we have a placeholder to add insert options
464
477
  const placeholder = getPlaceholder(nodeDictionary[node.key] || null);
465
478
  if (placeholder && placeholder.insertOptions) {
466
- const insertOptions = placeholder.insertOptions
467
- .filter((x) => !x.isHidden && !x.isInvalid)
468
- .map((x) => ({
469
- id: x.typeId,
470
- icon: (_jsx("img", { src: getAbsoluteIconUrl(x.icon), width: "16", height: "16", className: "m-1" })),
471
- label: x.name,
472
- command: async () => {
473
- await editContextRef.current?.operations.addComponent(x.typeId, placeholder.key, 0, // Insert at the beginning by default
474
- editContextRef.current?.currentItemDescriptor);
475
- },
476
- }));
477
- if (insertOptions.length > 0) {
479
+ const insertOptions = getVisibleInsertOptions(placeholder.insertOptions);
480
+ const insertMenuItems = buildInsertMenuItems(insertOptions, async (x) => {
481
+ await editContextRef.current?.operations.addComponent(x.typeId, placeholder.key, 0, // Insert at the beginning by default
482
+ editContextRef.current?.currentItemDescriptor);
483
+ });
484
+ if (insertMenuItems.length > 0) {
478
485
  // Add separator if there are existing menu items
479
486
  if (menu.length > 0) {
480
487
  menu.push({ id: "separator-insert", separator: true });
481
488
  }
482
- // Add insert submenu
483
489
  menu.push({
484
490
  id: "insert",
485
491
  label: "Insert",
486
492
  icon: _jsx(Plus, { size: 16 }),
487
- items: insertOptions,
493
+ items: insertMenuItems,
488
494
  });
489
495
  }
490
496
  }
@@ -756,7 +762,7 @@ export function ComponentTree({}) {
756
762
  editContext.mode !== "edit", onClick: toggleInsertMode }) }), _jsx("div", { className: "flex items-center gap-1", children: _jsx(SimpleIconButton, { icon: _jsx(LayoutTemplate, { strokeWidth: 1, className: "h-4 w-4" }), label: editContext?.showLayoutComponents ? "Hide layout" : "Show layout", size: "small", selected: editContext?.showLayoutComponents, "data-testid": "component-tree-toggle-layout", onClick: () => editContext?.setShowLayoutComponents(!editContext.showLayoutComponents) }) })] }), _jsx("div", { className: "flex-1 p-2", ref: treeRef, "data-testid": "component-tree", children: _jsx(PerfectTree, { nodes: rootNodes, isDragging: !!editContext?.dragObject, multiDragNoun: "components", selectedKeys: selectedItems, expandedKeys: expandedItems, onToggleExpand: handleToggle, onSelect: handleTreeSelection, onContextMenu: handleTreeContextMenu, enableDragAndDrop: true, onDragOverZone: handleDragOverZone, isValidDropZone: handleIsValidDropZone, onStartDrag: handleStartDrag, onDragEnd: handleDragEnd, onDrop: handleDropZone, renderNode: (node) => renderNode(node) }) }), _jsx(ConfirmationDialog, { ref: confirmDialogRef })] }));
757
763
  }
758
764
  function renderNode(node) {
759
- return (_jsx("div", { className: `component-tree-node ${node.type ? `component-tree-${node.type}` : ""}`, "data-component-node": node.type === "component" ? "true" : undefined, children: _jsxs("div", { className: "flex items-center gap-2 text-[12px] text-gray-600", children: [typeof node.icon === "string" ? (_jsx("i", { className: node.icon })) : (node.icon), _jsx("span", { className: node.className, children: node.label }), node.tags?.map((x) => (_jsx("div", { children: _jsxs("span", { id: `id-${node.key}-${x.id}`, className: "ml-2 flex rounded p-0.5 px-1.5 text-xs text-white", style: {
765
+ return (_jsx("div", { className: `component-tree-node ${node.type ? `component-tree-${node.type}` : ""}`, "data-component-node": node.type === "component" ? "true" : undefined, "data-testid": "component-tree-node", "data-component-key": node.key, "data-component-type": node.type, children: _jsxs("div", { className: "flex items-center gap-2 text-[12px] text-gray-600", children: [typeof node.icon === "string" ? (_jsx("i", { className: node.icon })) : (node.icon), _jsx("span", { className: node.className, "data-testid": "component-tree-node-label", children: node.label }), node.tags?.map((x) => (_jsx("div", { children: _jsxs("span", { id: `id-${node.key}-${x.id}`, className: "ml-2 flex rounded p-0.5 px-1.5 text-xs text-white", style: {
760
766
  backgroundColor: x.color,
761
767
  marginLeft: "8px",
762
768
  fontSize: "10px",