@parhelia/core 0.1.12554 → 0.1.12556

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 (575) hide show
  1. package/dist/agents-view/AgentCard.d.ts +4 -6
  2. package/dist/agents-view/AgentCard.js +24 -143
  3. package/dist/agents-view/AgentCard.js.map +1 -1
  4. package/dist/agents-view/AgentsInbox.d.ts +1 -1
  5. package/dist/agents-view/AgentsInbox.js +92 -7
  6. package/dist/agents-view/AgentsInbox.js.map +1 -1
  7. package/dist/agents-view/AgentsTitlebar.js +2 -3
  8. package/dist/agents-view/AgentsTitlebar.js.map +1 -1
  9. package/dist/agents-view/AgentsView.d.ts +7 -6
  10. package/dist/agents-view/AgentsView.js +98 -187
  11. package/dist/agents-view/AgentsView.js.map +1 -1
  12. package/dist/agents-view/AgentsWorkspaceView.d.ts +6 -2
  13. package/dist/agents-view/AgentsWorkspaceView.js +113 -266
  14. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  15. package/dist/agents-view/ProfileAgentsGroup.d.ts +1 -2
  16. package/dist/agents-view/ProfileAgentsGroup.js +3 -4
  17. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  18. package/dist/components/ActionButton.d.ts +1 -1
  19. package/dist/components/ActionButton.js.map +1 -1
  20. package/dist/components/FilterInput.d.ts +1 -1
  21. package/dist/components/FilterInput.js +1 -1
  22. package/dist/components/FilterInput.js.map +1 -1
  23. package/dist/components/ui/LanguageSelector.js +4 -2
  24. package/dist/components/ui/LanguageSelector.js.map +1 -1
  25. package/dist/components/ui/PlaceholderInput.js +3 -3
  26. package/dist/components/ui/PlaceholderInput.js.map +1 -1
  27. package/dist/components/ui/PlaceholderInputTypes.js +1 -1
  28. package/dist/components/ui/PlaceholderInputTypes.js.map +1 -1
  29. package/dist/components/ui/alert-dialog.d.ts +1 -1
  30. package/dist/components/ui/alert-dialog.js +10 -6
  31. package/dist/components/ui/alert-dialog.js.map +1 -1
  32. package/dist/components/ui/button.d.ts +4 -4
  33. package/dist/components/ui/button.js +1 -4
  34. package/dist/components/ui/button.js.map +1 -1
  35. package/dist/components/ui/context-menu.d.ts +1 -1
  36. package/dist/components/ui/context-menu.js +4 -12
  37. package/dist/components/ui/context-menu.js.map +1 -1
  38. package/dist/components/ui/copy-button.d.ts +1 -2
  39. package/dist/components/ui/copy-button.js +2 -2
  40. package/dist/components/ui/copy-button.js.map +1 -1
  41. package/dist/components/ui/dialog.d.ts +1 -1
  42. package/dist/components/ui/dialog.js +126 -21
  43. package/dist/components/ui/dialog.js.map +1 -1
  44. package/dist/components/ui/input.d.ts +1 -1
  45. package/dist/components/ui/input.js +3 -5
  46. package/dist/components/ui/input.js.map +1 -1
  47. package/dist/components/ui/paste-button.d.ts +1 -2
  48. package/dist/components/ui/paste-button.js +2 -2
  49. package/dist/components/ui/paste-button.js.map +1 -1
  50. package/dist/components/ui/popover.js +9 -1
  51. package/dist/components/ui/popover.js.map +1 -1
  52. package/dist/components/ui/select.js +1 -1
  53. package/dist/components/ui/select.js.map +1 -1
  54. package/dist/components/ui/styled-dialog-title.js +1 -1
  55. package/dist/components/ui/styled-dialog-title.js.map +1 -1
  56. package/dist/components/ui/tabs.d.ts +1 -1
  57. package/dist/components/ui/tabs.js +11 -4
  58. package/dist/components/ui/tabs.js.map +1 -1
  59. package/dist/config/config.d.ts +2 -4
  60. package/dist/config/config.js +70 -250
  61. package/dist/config/config.js.map +1 -1
  62. package/dist/config/types/workspace.d.ts +0 -6
  63. package/dist/config/types.d.ts +12 -63
  64. package/dist/config/types.js.map +1 -1
  65. package/dist/editor/ComponentInfo.d.ts +4 -0
  66. package/dist/editor/ComponentInfo.js +41 -0
  67. package/dist/editor/ComponentInfo.js.map +1 -0
  68. package/dist/editor/ConfirmationDialog.js +4 -20
  69. package/dist/editor/ConfirmationDialog.js.map +1 -1
  70. package/dist/editor/ContentTree.d.ts +1 -2
  71. package/dist/editor/ContentTree.js +32 -93
  72. package/dist/editor/ContentTree.js.map +1 -1
  73. package/dist/editor/Editor.js +22 -87
  74. package/dist/editor/Editor.js.map +1 -1
  75. package/dist/editor/FieldHistory.js +36 -84
  76. package/dist/editor/FieldHistory.js.map +1 -1
  77. package/dist/editor/FieldListField.js +9 -21
  78. package/dist/editor/FieldListField.js.map +1 -1
  79. package/dist/editor/FieldListFieldWithFallbacks.js +2 -23
  80. package/dist/editor/FieldListFieldWithFallbacks.js.map +1 -1
  81. package/dist/editor/GlobalMenuBar.js +2 -29
  82. package/dist/editor/GlobalMenuBar.js.map +1 -1
  83. package/dist/editor/ImageEditor.js +2 -5
  84. package/dist/editor/ImageEditor.js.map +1 -1
  85. package/dist/editor/ItemInfo.js +1 -36
  86. package/dist/editor/ItemInfo.js.map +1 -1
  87. package/dist/editor/LinkEditorDialog.js +0 -3
  88. package/dist/editor/LinkEditorDialog.js.map +1 -1
  89. package/dist/editor/MainLayout.d.ts +2 -0
  90. package/dist/editor/MainLayout.js +8 -65
  91. package/dist/editor/MainLayout.js.map +1 -1
  92. package/dist/editor/MigrationsView.js +5 -29
  93. package/dist/editor/MigrationsView.js.map +1 -1
  94. package/dist/editor/MobileLayout.js +12 -37
  95. package/dist/editor/MobileLayout.js.map +1 -1
  96. package/dist/editor/PictureCropper.js +45 -54
  97. package/dist/editor/PictureCropper.js.map +1 -1
  98. package/dist/editor/PictureEditor.js +15 -17
  99. package/dist/editor/PictureEditor.js.map +1 -1
  100. package/dist/editor/QuickItemSwitcher.js +21 -21
  101. package/dist/editor/QuickItemSwitcher.js.map +1 -1
  102. package/dist/editor/SetupWizard.js +12 -52
  103. package/dist/editor/SetupWizard.js.map +1 -1
  104. package/dist/editor/Titlebar.js +2 -7
  105. package/dist/editor/Titlebar.js.map +1 -1
  106. package/dist/editor/ai/AgentCostDisplay.d.ts +0 -1
  107. package/dist/editor/ai/AgentCostDisplay.js +1 -1
  108. package/dist/editor/ai/AgentCostDisplay.js.map +1 -1
  109. package/dist/editor/ai/AgentDocumentList.js +14 -32
  110. package/dist/editor/ai/AgentDocumentList.js.map +1 -1
  111. package/dist/editor/ai/AgentGreeting.js +2 -3
  112. package/dist/editor/ai/AgentGreeting.js.map +1 -1
  113. package/dist/editor/ai/AgentProfileSelector.js +1 -2
  114. package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
  115. package/dist/editor/ai/AgentStatusBadge.d.ts +5 -0
  116. package/dist/editor/ai/AgentStatusBadge.js +65 -67
  117. package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
  118. package/dist/editor/ai/AgentTerminal.d.ts +2 -14
  119. package/dist/editor/ai/AgentTerminal.js +483 -2377
  120. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  121. package/dist/editor/ai/AgentTerminalStatusBar.d.ts +3 -8
  122. package/dist/editor/ai/AgentTerminalStatusBar.js +56 -460
  123. package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
  124. package/dist/editor/ai/Agents.js +113 -150
  125. package/dist/editor/ai/Agents.js.map +1 -1
  126. package/dist/editor/ai/AiResponseMessage.d.ts +1 -10
  127. package/dist/editor/ai/AiResponseMessage.js +23 -238
  128. package/dist/editor/ai/AiResponseMessage.js.map +1 -1
  129. package/dist/editor/ai/ContextInfoBar.d.ts +3 -2
  130. package/dist/editor/ai/ContextInfoBar.js +7 -64
  131. package/dist/editor/ai/ContextInfoBar.js.map +1 -1
  132. package/dist/editor/ai/GuidanceOverlay.js +11 -17
  133. package/dist/editor/ai/GuidanceOverlay.js.map +1 -1
  134. package/dist/editor/ai/HelpTerminal.d.ts +5 -0
  135. package/dist/editor/ai/HelpTerminal.js +166 -0
  136. package/dist/editor/ai/HelpTerminal.js.map +1 -0
  137. package/dist/editor/ai/InlineAiDialog.d.ts +1 -1
  138. package/dist/editor/ai/InlineAiDialog.js +192 -514
  139. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  140. package/dist/editor/ai/InlineAiTrigger.js +12 -115
  141. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  142. package/dist/editor/ai/MediaImage.js +8 -40
  143. package/dist/editor/ai/MediaImage.js.map +1 -1
  144. package/dist/editor/ai/SpawnedAgentsPanel.js +12 -10
  145. package/dist/editor/ai/SpawnedAgentsPanel.js.map +1 -1
  146. package/dist/editor/ai/ToolCallDisplay.d.ts +2 -22
  147. package/dist/editor/ai/ToolCallDisplay.js +147 -518
  148. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  149. package/dist/editor/ai/dialogs/AgentDialogHandler.d.ts +8 -1
  150. package/dist/editor/ai/dialogs/AgentDialogHandler.js +42 -379
  151. package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
  152. package/dist/editor/ai/dialogs/QuestionnaireInline.d.ts +1 -5
  153. package/dist/editor/ai/dialogs/QuestionnaireInline.js +60 -628
  154. package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
  155. package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +0 -115
  156. package/dist/editor/ai/dialogs/agentDialogTypes.js +0 -2
  157. package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
  158. package/dist/editor/ai/types.d.ts +1 -3
  159. package/dist/editor/ai/useAgentStatus.d.ts +1 -2
  160. package/dist/editor/ai/useAgentStatus.js +99 -86
  161. package/dist/editor/ai/useAgentStatus.js.map +1 -1
  162. package/dist/editor/ai/useInlineAiPosition.js +5 -45
  163. package/dist/editor/ai/useInlineAiPosition.js.map +1 -1
  164. package/dist/editor/client/AboutDialog.js +2 -4
  165. package/dist/editor/client/AboutDialog.js.map +1 -1
  166. package/dist/editor/client/EditorShell.d.ts +1 -4
  167. package/dist/editor/client/EditorShell.js +230 -730
  168. package/dist/editor/client/EditorShell.js.map +1 -1
  169. package/dist/editor/client/editContext.d.ts +19 -33
  170. package/dist/editor/client/editContext.js.map +1 -1
  171. package/dist/editor/client/helpers.js +0 -6
  172. package/dist/editor/client/helpers.js.map +1 -1
  173. package/dist/editor/client/hooks/useEditorUrlSync.js +2 -1
  174. package/dist/editor/client/hooks/useEditorUrlSync.js.map +1 -1
  175. package/dist/editor/client/hooks/useEditorWebSocket.d.ts +0 -10
  176. package/dist/editor/client/hooks/useEditorWebSocket.js +14 -209
  177. package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
  178. package/dist/editor/client/hooks/useQuota.d.ts +0 -8
  179. package/dist/editor/client/hooks/useQuota.js.map +1 -1
  180. package/dist/editor/client/hooks/useSocketMessageHandler.js +7 -68
  181. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  182. package/dist/editor/client/itemsRepository.js +6 -10
  183. package/dist/editor/client/itemsRepository.js.map +1 -1
  184. package/dist/editor/client/operations.d.ts +3 -6
  185. package/dist/editor/client/operations.js +30 -208
  186. package/dist/editor/client/operations.js.map +1 -1
  187. package/dist/editor/client/pageModelBuilder.js +31 -4
  188. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  189. package/dist/editor/client/ui/DevModeIndicator.js +2 -2
  190. package/dist/editor/client/ui/DevModeIndicator.js.map +1 -1
  191. package/dist/editor/client/ui/EditorChrome.d.ts +6 -0
  192. package/dist/editor/client/ui/EditorChrome.js +72 -55
  193. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  194. package/dist/editor/client/ui/FullscreenControls.js +3 -5
  195. package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
  196. package/dist/editor/commands/commands.d.ts +1 -11
  197. package/dist/editor/commands/commands.js +1 -12
  198. package/dist/editor/commands/commands.js.map +1 -1
  199. package/dist/editor/commands/componentCommands.js +55 -109
  200. package/dist/editor/commands/componentCommands.js.map +1 -1
  201. package/dist/editor/commands/customCommandConverter.d.ts +1 -8
  202. package/dist/editor/commands/customCommandConverter.js +5 -35
  203. package/dist/editor/commands/customCommandConverter.js.map +1 -1
  204. package/dist/editor/commands/handlers/agentHandler.js +1 -2
  205. package/dist/editor/commands/handlers/agentHandler.js.map +1 -1
  206. package/dist/editor/commands/itemCommands.d.ts +0 -3
  207. package/dist/editor/commands/itemCommands.js +10 -93
  208. package/dist/editor/commands/itemCommands.js.map +1 -1
  209. package/dist/editor/commands/undo.d.ts +15 -9
  210. package/dist/editor/commands/undo.js +0 -24
  211. package/dist/editor/commands/undo.js.map +1 -1
  212. package/dist/editor/context-menu/InsertMenu.js +39 -83
  213. package/dist/editor/context-menu/InsertMenu.js.map +1 -1
  214. package/dist/editor/field-types/MultiLineText.js +1 -1
  215. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  216. package/dist/editor/field-types/RawEditor.js +1 -1
  217. package/dist/editor/field-types/ReactQuill.d.ts +125 -0
  218. package/dist/editor/field-types/ReactQuill.js +385 -0
  219. package/dist/editor/field-types/ReactQuill.js.map +1 -0
  220. package/dist/editor/field-types/RichTextEditor.js +5 -13
  221. package/dist/editor/field-types/RichTextEditor.js.map +1 -1
  222. package/dist/editor/field-types/RichTextEditorComponent.js +3 -37
  223. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  224. package/dist/editor/field-types/SingleLineText.js +1 -1
  225. package/dist/editor/field-types/TreeListEditor.js +2 -3
  226. package/dist/editor/field-types/TreeListEditor.js.map +1 -1
  227. package/dist/editor/field-types/richtext/components/ReactSlate.css +5 -23
  228. package/dist/editor/field-types/richtext/components/ReactSlate.d.ts +0 -2
  229. package/dist/editor/field-types/richtext/components/ReactSlate.js +4 -28
  230. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  231. package/dist/editor/field-types/richtext/components/ToolbarButton.js +2 -4
  232. package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
  233. package/dist/editor/field-types/richtext/contextMenuFactory.d.ts +0 -13
  234. package/dist/editor/field-types/richtext/contextMenuFactory.js +24 -181
  235. package/dist/editor/field-types/richtext/contextMenuFactory.js.map +1 -1
  236. package/dist/editor/field-types/richtext/types.d.ts +0 -2
  237. package/dist/editor/field-types/richtext/types.js.map +1 -1
  238. package/dist/editor/field-types/richtext/utils/plugins.js +0 -4
  239. package/dist/editor/field-types/richtext/utils/plugins.js.map +1 -1
  240. package/dist/editor/field-types/textContextMenuFactory.js +2 -3
  241. package/dist/editor/field-types/textContextMenuFactory.js.map +1 -1
  242. package/dist/editor/media-selector/AiImageSearchPrompt.js +2 -4
  243. package/dist/editor/media-selector/AiImageSearchPrompt.js.map +1 -1
  244. package/dist/editor/media-selector/MediaFolderBrowser.js +1 -1
  245. package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
  246. package/dist/editor/media-selector/MediaSelector.js +1 -7
  247. package/dist/editor/media-selector/MediaSelector.js.map +1 -1
  248. package/dist/editor/media-selector/TreeSelector.js +35 -40
  249. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  250. package/dist/editor/menubar/ActiveUsers.js +1 -1
  251. package/dist/editor/menubar/ActiveUsers.js.map +1 -1
  252. package/dist/editor/menubar/GenericToolbar.js +2 -4
  253. package/dist/editor/menubar/GenericToolbar.js.map +1 -1
  254. package/dist/editor/menubar/ItemLanguageVersion.js +2 -2
  255. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  256. package/dist/editor/menubar/PageSelector.js +147 -26
  257. package/dist/editor/menubar/PageSelector.js.map +1 -1
  258. package/dist/editor/menubar/Separator.js +1 -1
  259. package/dist/editor/menubar/VersionSelector.js +4 -2
  260. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  261. package/dist/editor/menubar/WorkflowButton.js +12 -39
  262. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  263. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js +38 -16
  264. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js.map +1 -1
  265. package/dist/editor/menubar/toolbar-sections/EditControls.js +3 -3
  266. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  267. package/dist/editor/menubar/toolbar-sections/HelpButton.js +0 -1
  268. package/dist/editor/menubar/toolbar-sections/HelpButton.js.map +1 -1
  269. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +10 -6
  270. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +220 -597
  271. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  272. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +2 -13
  273. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  274. package/dist/editor/page-editor-chrome/CommentHighlighting.js +1 -42
  275. package/dist/editor/page-editor-chrome/CommentHighlighting.js.map +1 -1
  276. package/dist/editor/page-editor-chrome/FrameMenu.js +1 -1
  277. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  278. package/dist/editor/page-editor-chrome/InlineEditor.js +48 -97
  279. package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
  280. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +17 -38
  281. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  282. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +11 -17
  283. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  284. package/dist/editor/page-editor-chrome/useInlineAICompletion.js +301 -301
  285. package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +1 -1
  286. package/dist/editor/page-viewer/DeviceToolbar.js +1 -1
  287. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  288. package/dist/editor/page-viewer/EditorForm.js +11 -69
  289. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  290. package/dist/editor/page-viewer/MiniMap.d.ts +4 -2
  291. package/dist/editor/page-viewer/MiniMap.js +28 -91
  292. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  293. package/dist/editor/page-viewer/PageViewer.d.ts +1 -3
  294. package/dist/editor/page-viewer/PageViewer.js +19 -92
  295. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  296. package/dist/editor/page-viewer/PageViewerFrame.d.ts +1 -2
  297. package/dist/editor/page-viewer/PageViewerFrame.js +115 -348
  298. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  299. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +49 -114
  300. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +1 -1
  301. package/dist/editor/page-viewer/pageViewContext.d.ts +0 -1
  302. package/dist/editor/page-viewer/pageViewContext.js +14 -51
  303. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  304. package/dist/editor/pageModel.d.ts +1 -14
  305. package/dist/editor/reviews/Comment.js +12 -26
  306. package/dist/editor/reviews/Comment.js.map +1 -1
  307. package/dist/editor/reviews/CommentDisplayPopover.js +5 -7
  308. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  309. package/dist/editor/reviews/CommentView.js +4 -19
  310. package/dist/editor/reviews/CommentView.js.map +1 -1
  311. package/dist/editor/reviews/Comments.js +72 -89
  312. package/dist/editor/reviews/Comments.js.map +1 -1
  313. package/dist/editor/reviews/CreateReviewDialog.js +177 -281
  314. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  315. package/dist/editor/reviews/DecisionsMatrix.js +25 -96
  316. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  317. package/dist/editor/reviews/DiffView.js +14 -7
  318. package/dist/editor/reviews/DiffView.js.map +1 -1
  319. package/dist/editor/reviews/EditReviewSettingsDialog.js +4 -6
  320. package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
  321. package/dist/editor/reviews/MultiReviewManager.js +3 -25
  322. package/dist/editor/reviews/MultiReviewManager.js.map +1 -1
  323. package/dist/editor/reviews/PagesPanel.js +15 -31
  324. package/dist/editor/reviews/PagesPanel.js.map +1 -1
  325. package/dist/editor/reviews/PreviewInfo.js +4 -1
  326. package/dist/editor/reviews/PreviewInfo.js.map +1 -1
  327. package/dist/editor/reviews/ReviewCard.js +7 -13
  328. package/dist/editor/reviews/ReviewCard.js.map +1 -1
  329. package/dist/editor/reviews/ReviewDetail.js +2 -3
  330. package/dist/editor/reviews/ReviewDetail.js.map +1 -1
  331. package/dist/editor/reviews/ReviewsList.js +3 -7
  332. package/dist/editor/reviews/ReviewsList.js.map +1 -1
  333. package/dist/editor/reviews/SuggestedEdit.js +3 -34
  334. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  335. package/dist/editor/reviews/SuggestionDisplayPopover.js +5 -31
  336. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  337. package/dist/editor/reviews/commentAi.js +6 -25
  338. package/dist/editor/reviews/commentAi.js.map +1 -1
  339. package/dist/editor/reviews/reviewCommands.js +1 -4
  340. package/dist/editor/reviews/reviewCommands.js.map +1 -1
  341. package/dist/editor/reviews/useMultiReview.js +2 -2
  342. package/dist/editor/reviews/useMultiReview.js.map +1 -1
  343. package/dist/editor/reviews/useReviews.d.ts +2 -2
  344. package/dist/editor/reviews/useReviews.js +30 -12
  345. package/dist/editor/reviews/useReviews.js.map +1 -1
  346. package/dist/editor/services/agentService.d.ts +5 -229
  347. package/dist/editor/services/agentService.js +39 -292
  348. package/dist/editor/services/agentService.js.map +1 -1
  349. package/dist/editor/services/aiService.d.ts +1 -57
  350. package/dist/editor/services/aiService.js +6 -79
  351. package/dist/editor/services/aiService.js.map +1 -1
  352. package/dist/editor/services/contentService.d.ts +3 -6
  353. package/dist/editor/services/contentService.js +12 -13
  354. package/dist/editor/services/contentService.js.map +1 -1
  355. package/dist/editor/services/editService.d.ts +1 -52
  356. package/dist/editor/services/editService.js +2 -94
  357. package/dist/editor/services/editService.js.map +1 -1
  358. package/dist/editor/services/indexService.js +1 -1
  359. package/dist/editor/services/indexService.js.map +1 -1
  360. package/dist/editor/services/reviewsService.d.ts +6 -3
  361. package/dist/editor/services/reviewsService.js +11 -2
  362. package/dist/editor/services/reviewsService.js.map +1 -1
  363. package/dist/editor/services/serviceHelper.d.ts +1 -2
  364. package/dist/editor/services/serviceHelper.js +20 -112
  365. package/dist/editor/services/serviceHelper.js.map +1 -1
  366. package/dist/editor/services/systemService.d.ts +1 -2
  367. package/dist/editor/services/systemService.js +0 -3
  368. package/dist/editor/services/systemService.js.map +1 -1
  369. package/dist/editor/services-server/api.d.ts +2 -1
  370. package/dist/editor/services-server/api.js +6 -11
  371. package/dist/editor/services-server/api.js.map +1 -1
  372. package/dist/editor/services-server/graphQL.d.ts +29 -0
  373. package/dist/editor/services-server/graphQL.js +53 -0
  374. package/dist/editor/services-server/graphQL.js.map +1 -0
  375. package/dist/editor/settings/About.js +3 -317
  376. package/dist/editor/settings/About.js.map +1 -1
  377. package/dist/editor/settings/AllAgentsPanel.d.ts +5 -0
  378. package/dist/editor/settings/AllAgentsPanel.js +139 -0
  379. package/dist/editor/settings/AllAgentsPanel.js.map +1 -0
  380. package/dist/editor/settings/LatestFeedback.d.ts +1 -0
  381. package/dist/editor/settings/LatestFeedback.js +136 -0
  382. package/dist/editor/settings/LatestFeedback.js.map +1 -0
  383. package/dist/editor/settings/QuotaInfo.js +4 -210
  384. package/dist/editor/settings/QuotaInfo.js.map +1 -1
  385. package/dist/editor/settings/SettingsView.js +23 -25
  386. package/dist/editor/settings/SettingsView.js.map +1 -1
  387. package/dist/editor/settings/Setup.d.ts +1 -0
  388. package/dist/editor/settings/Setup.js +211 -0
  389. package/dist/editor/settings/Setup.js.map +1 -0
  390. package/dist/editor/settings/Status.js +6 -7
  391. package/dist/editor/settings/Status.js.map +1 -1
  392. package/dist/editor/settings/index/useIndexStatus.js +22 -20
  393. package/dist/editor/settings/index/useIndexStatus.js.map +1 -1
  394. package/dist/editor/settings/panels/AgentsPanel.d.ts +4 -0
  395. package/dist/editor/settings/panels/AgentsPanel.js +121 -95
  396. package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
  397. package/dist/editor/settings/panels/DatabasePanel.d.ts +6 -0
  398. package/dist/editor/settings/panels/DatabasePanel.js +50 -0
  399. package/dist/editor/settings/panels/DatabasePanel.js.map +1 -0
  400. package/dist/editor/settings/panels/ModelsPanel.js +108 -329
  401. package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
  402. package/dist/editor/settings/panels/ProvidersPanel.d.ts +1 -1
  403. package/dist/editor/settings/panels/ProvidersPanel.js +59 -86
  404. package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
  405. package/dist/editor/settings/panels/SearchConfigPanel.js +4 -4
  406. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
  407. package/dist/editor/settings/panels/index.d.ts +2 -3
  408. package/dist/editor/settings/panels/index.js +2 -3
  409. package/dist/editor/settings/panels/index.js.map +1 -1
  410. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.d.ts +2 -0
  411. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.js +195 -0
  412. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.js.map +1 -0
  413. package/dist/editor/settings/setup-steps/AiSetupStep/index.d.ts +2 -0
  414. package/dist/editor/settings/setup-steps/AiSetupStep/index.js +21 -0
  415. package/dist/editor/settings/setup-steps/AiSetupStep/index.js.map +1 -0
  416. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.d.ts +1 -0
  417. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.js +233 -0
  418. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.js.map +1 -0
  419. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.d.ts +15 -0
  420. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.js +14 -0
  421. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.js.map +1 -0
  422. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.d.ts +1 -0
  423. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js +94 -0
  424. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js.map +1 -0
  425. package/dist/editor/settings/setup-steps/AiSetupStep/types.d.ts +1 -0
  426. package/dist/editor/settings/setup-steps/AiSetupStep/types.js +2 -0
  427. package/dist/editor/settings/setup-steps/AiSetupStep/types.js.map +1 -0
  428. package/dist/editor/settings/setup-steps/AiSetupStep/utils.d.ts +5 -0
  429. package/dist/editor/settings/setup-steps/AiSetupStep/utils.js +44 -0
  430. package/dist/editor/settings/setup-steps/AiSetupStep/utils.js.map +1 -0
  431. package/dist/editor/settings/setup-steps/IndexSetupStep.d.ts +2 -0
  432. package/dist/editor/settings/setup-steps/IndexSetupStep.js +36 -0
  433. package/dist/editor/settings/setup-steps/IndexSetupStep.js.map +1 -0
  434. package/dist/editor/settings/setup-steps/SettingsSetupStep.d.ts +2 -0
  435. package/dist/editor/settings/setup-steps/SettingsSetupStep.js +111 -0
  436. package/dist/editor/settings/setup-steps/SettingsSetupStep.js.map +1 -0
  437. package/dist/editor/settings/setup-steps/SetupOverview.d.ts +14 -0
  438. package/dist/editor/settings/setup-steps/SetupOverview.js +38 -0
  439. package/dist/editor/settings/setup-steps/SetupOverview.js.map +1 -0
  440. package/dist/editor/settings/status/coreStatusChecks.js +19 -124
  441. package/dist/editor/settings/status/coreStatusChecks.js.map +1 -1
  442. package/dist/editor/settings/status/useStartupChecks.d.ts +1 -3
  443. package/dist/editor/settings/status/useStartupChecks.js +5 -9
  444. package/dist/editor/settings/status/useStartupChecks.js.map +1 -1
  445. package/dist/editor/setup-wizard/steps/CompleteStep.d.ts +1 -2
  446. package/dist/editor/setup-wizard/steps/CompleteStep.js +1 -2
  447. package/dist/editor/setup-wizard/steps/CompleteStep.js.map +1 -1
  448. package/dist/editor/sidebar/ComponentPalette.js +1 -2
  449. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  450. package/dist/editor/sidebar/ComponentTree.d.ts +1 -8
  451. package/dist/editor/sidebar/ComponentTree.js +69 -216
  452. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  453. package/dist/editor/sidebar/Debug.d.ts +1 -0
  454. package/dist/editor/sidebar/Debug.js +70 -0
  455. package/dist/editor/sidebar/Debug.js.map +1 -0
  456. package/dist/editor/sidebar/EditHistory.js +46 -22
  457. package/dist/editor/sidebar/EditHistory.js.map +1 -1
  458. package/dist/editor/sidebar/Favorites.js +8 -4
  459. package/dist/editor/sidebar/Favorites.js.map +1 -1
  460. package/dist/editor/sidebar/GraphQL.d.ts +2 -0
  461. package/dist/editor/sidebar/GraphQL.js +234 -0
  462. package/dist/editor/sidebar/GraphQL.js.map +1 -0
  463. package/dist/editor/sidebar/LeftToolbar.d.ts +1 -0
  464. package/dist/editor/sidebar/LeftToolbar.js +12 -0
  465. package/dist/editor/sidebar/LeftToolbar.js.map +1 -0
  466. package/dist/editor/sidebar/MainContentTree.js +3 -4
  467. package/dist/editor/sidebar/MainContentTree.js.map +1 -1
  468. package/dist/editor/sidebar/NavigationSidebar.d.ts +4 -0
  469. package/dist/editor/sidebar/NavigationSidebar.js +254 -0
  470. package/dist/editor/sidebar/NavigationSidebar.js.map +1 -0
  471. package/dist/editor/sidebar/OperationItem.js +7 -21
  472. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  473. package/dist/editor/sidebar/SidebarPanel.d.ts +1 -3
  474. package/dist/editor/sidebar/SidebarPanel.js +12 -44
  475. package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
  476. package/dist/editor/sidebar/SidebarStack.d.ts +1 -2
  477. package/dist/editor/sidebar/SidebarStack.js +3 -4
  478. package/dist/editor/sidebar/SidebarStack.js.map +1 -1
  479. package/dist/editor/sidebar/Validation.js +12 -22
  480. package/dist/editor/sidebar/Validation.js.map +1 -1
  481. package/dist/editor/sidebar/Workbox.js +3 -53
  482. package/dist/editor/sidebar/Workbox.js.map +1 -1
  483. package/dist/editor/sidebar/WorkspaceRail.d.ts +1 -0
  484. package/dist/editor/sidebar/WorkspaceRail.js +167 -56
  485. package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
  486. package/dist/editor/tree-indicators/GutterColumns.d.ts +1 -3
  487. package/dist/editor/tree-indicators/GutterColumns.js +5 -26
  488. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  489. package/dist/editor/tree-indicators/GutterContext.d.ts +0 -4
  490. package/dist/editor/tree-indicators/GutterContext.js +0 -23
  491. package/dist/editor/tree-indicators/GutterContext.js.map +1 -1
  492. package/dist/editor/tree-indicators/GutterSelector.d.ts +5 -0
  493. package/dist/editor/tree-indicators/GutterSelector.js +91 -0
  494. package/dist/editor/tree-indicators/GutterSelector.js.map +1 -0
  495. package/dist/editor/tree-indicators/index.d.ts +1 -0
  496. package/dist/editor/tree-indicators/index.js +1 -0
  497. package/dist/editor/tree-indicators/index.js.map +1 -1
  498. package/dist/editor/tree-indicators/types.d.ts +1 -12
  499. package/dist/editor/ui/CopyMoveTargetSelectorDialog.js +1 -1
  500. package/dist/editor/ui/CopyMoveTargetSelectorDialog.js.map +1 -1
  501. package/dist/editor/ui/Icons.js +1 -1
  502. package/dist/editor/ui/Icons.js.map +1 -1
  503. package/dist/editor/ui/ItemNameDialogNew.d.ts +0 -2
  504. package/dist/editor/ui/ItemNameDialogNew.js +17 -33
  505. package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
  506. package/dist/editor/ui/ItemSearch.js +11 -7
  507. package/dist/editor/ui/ItemSearch.js.map +1 -1
  508. package/dist/editor/ui/SimpleIconButton.js +1 -1
  509. package/dist/editor/ui/SimpleIconButton.js.map +1 -1
  510. package/dist/editor/ui/SimpleTabs.d.ts +0 -1
  511. package/dist/editor/ui/SimpleTabs.js +25 -45
  512. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  513. package/dist/editor/ui/Splitter.d.ts +0 -1
  514. package/dist/editor/ui/Splitter.js +86 -102
  515. package/dist/editor/ui/Splitter.js.map +1 -1
  516. package/dist/editor/ui/TemplateSelectorDialog.js +4 -4
  517. package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
  518. package/dist/editor/ui/TreeListSelector.d.ts +1 -6
  519. package/dist/editor/ui/TreeListSelector.js +2 -2
  520. package/dist/editor/ui/TreeListSelector.js.map +1 -1
  521. package/dist/editor/utils/keyboardNavigation.d.ts +20 -6
  522. package/dist/editor/utils/keyboardNavigation.js +140 -48
  523. package/dist/editor/utils/keyboardNavigation.js.map +1 -1
  524. package/dist/editor/utils.js +9 -19
  525. package/dist/editor/utils.js.map +1 -1
  526. package/dist/editor/views/CompareView.d.ts +1 -3
  527. package/dist/editor/views/CompareView.js +5 -7
  528. package/dist/editor/views/CompareView.js.map +1 -1
  529. package/dist/editor/views/EditView.js +1 -1
  530. package/dist/editor/views/EditView.js.map +1 -1
  531. package/dist/editor/views/EditorSlot.js +34 -27
  532. package/dist/editor/views/EditorSlot.js.map +1 -1
  533. package/dist/editor/views/ItemEditor.js +3 -7
  534. package/dist/editor/views/ItemEditor.js.map +1 -1
  535. package/dist/editor/views/MediaFolderEditView.js +1 -1
  536. package/dist/editor/views/MediaFolderEditView.js.map +1 -1
  537. package/dist/editor/views/ParheliaView.js +6 -5
  538. package/dist/editor/views/ParheliaView.js.map +1 -1
  539. package/dist/editor/views/SingleEditView.d.ts +1 -2
  540. package/dist/editor/views/SingleEditView.js +8 -10
  541. package/dist/editor/views/SingleEditView.js.map +1 -1
  542. package/dist/editor/views/editorSlotContext.js +6 -35
  543. package/dist/editor/views/editorSlotContext.js.map +1 -1
  544. package/dist/index.d.ts +2 -16
  545. package/dist/index.js +0 -11
  546. package/dist/index.js.map +1 -1
  547. package/dist/revision.d.ts +2 -2
  548. package/dist/revision.js +2 -2
  549. package/dist/setup/services/setupWizardService.d.ts +13 -40
  550. package/dist/setup/services/setupWizardService.js +17 -32
  551. package/dist/setup/services/setupWizardService.js.map +1 -1
  552. package/dist/setup/wizard/steps/AddModelDialog.js +3 -12
  553. package/dist/setup/wizard/steps/AddModelDialog.js.map +1 -1
  554. package/dist/setup/wizard/steps/ImportModelDialog.js +22 -39
  555. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  556. package/dist/splash-screen/ModernSplashScreen.js +32 -112
  557. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  558. package/dist/splash-screen/NewPage.js +50 -33
  559. package/dist/splash-screen/NewPage.js.map +1 -1
  560. package/dist/splash-screen/OpenPage.js +6 -2
  561. package/dist/splash-screen/OpenPage.js.map +1 -1
  562. package/dist/splash-screen/ParheliaAssistantChat.js +29 -12
  563. package/dist/splash-screen/ParheliaAssistantChat.js.map +1 -1
  564. package/dist/splash-screen/ParheliaLogo.js +37 -87
  565. package/dist/splash-screen/ParheliaLogo.js.map +1 -1
  566. package/dist/splash-screen/RecentPages.js +3 -3
  567. package/dist/splash-screen/RecentPages.js.map +1 -1
  568. package/dist/tour/Tour.d.ts +1 -2
  569. package/dist/tour/Tour.js +75 -256
  570. package/dist/tour/Tour.js.map +1 -1
  571. package/dist/tour/default-tour.js +96 -222
  572. package/dist/tour/default-tour.js.map +1 -1
  573. package/dist/types.d.ts +29 -63
  574. package/package.json +15 -19
  575. package/styles.css +10 -14
@@ -0,0 +1,234 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import "@uiw/react-textarea-code-editor/dist.css";
3
+ import { Splitter } from "../ui/Splitter";
4
+ import CodeEditor from "@uiw/react-textarea-code-editor";
5
+ import { ActionButton } from "../../components/ActionButton";
6
+ import { useEffect, useState } from "react";
7
+ import { useEditContext } from "../client/editContext";
8
+ import { ObjectInspector } from "react-inspector";
9
+ import { SimpleTabs } from "../ui/SimpleTabs";
10
+ import { createAgentCommand } from "../commands/agentCommands";
11
+ import { RefreshCw } from "lucide-react";
12
+ export function GraphQL() {
13
+ const editContext = useEditContext();
14
+ const [query, setQuery] = useState("");
15
+ const [showSpinner, setShowSpinner] = useState(false);
16
+ const [graphqlResult, setGraphqlResult] = useState({});
17
+ const [schemaResult, setSchemaResult] = useState({});
18
+ const [showSchemaSpinner, setShowSchemaSpinner] = useState(false);
19
+ const [activeTab, setActiveTab] = useState(0);
20
+ const [aiGeneratedQuery, setAiGeneratedQuery] = useState("");
21
+ let item = editContext?.page?.item;
22
+ useEffect(() => {
23
+ setShowSpinner(false);
24
+ }, [editContext?.refreshCompletedFlag]);
25
+ useEffect(() => {
26
+ const graphql_query = item?.fields.find((x) => x.name === "graphql_query")?.rawValue;
27
+ if (graphql_query)
28
+ setQuery(graphql_query || "");
29
+ }, [item]);
30
+ // Auto-fetch schema when Schema tab is activated (now tab index 0)
31
+ useEffect(() => {
32
+ if (activeTab === 0 && !schemaResult?.data && !showSchemaSpinner) {
33
+ fetchSchema();
34
+ }
35
+ }, [activeTab]);
36
+ // Register a context factory for GraphQL so agents can pull structured context without tool reads
37
+ useEffect(() => {
38
+ if (!editContext || !item)
39
+ return;
40
+ const factoryName = "graphql:context:v1";
41
+ const factory = async () => ({
42
+ schema: schemaResult?.data || "",
43
+ currentQuery: query,
44
+ itemContext: {
45
+ id: item.id,
46
+ language: item.language,
47
+ version: item.version,
48
+ },
49
+ });
50
+ editContext.registerContextFactory?.(factoryName, factory);
51
+ return () => editContext.unregisterContextFactory?.(factoryName);
52
+ }, [
53
+ editContext,
54
+ item?.id,
55
+ item?.language,
56
+ item?.version,
57
+ query,
58
+ schemaResult?.data,
59
+ ]);
60
+ // if (item) {
61
+ // const selectedComponents = editContext!.selection
62
+ // .map((x) => getComponentById(x, editContext!.page!))
63
+ // .filter((x) => x) as Component[];
64
+ // if (selectedComponents.length === 1) item = selectedComponents[0];
65
+ // }
66
+ // type JsonType = { [key: string]: any };
67
+ // function findFields(json: JsonType): { [key: string]: Array<JsonValueType> } {
68
+ // let result: { [key: string]: Array<JsonValueType> } = {};
69
+ // for (let key in json) {
70
+ // if (typeof json[key] === "object" && json[key] !== null) {
71
+ // let subResult = findFields(json[key]);
72
+ // for (let subKey in subResult) {
73
+ // if (result[subKey]) {
74
+ // result[subKey] = result[subKey].concat(subResult[subKey]);
75
+ // } else {
76
+ // result[subKey] = subResult[subKey];
77
+ // }
78
+ // }
79
+ // }
80
+ // if (key === "jsonValue" && json[key]) {
81
+ // let groupKey = `${json[key].itemId}_${json[key].language}_${json[key].version}`;
82
+ // if (result[groupKey]) {
83
+ // result[groupKey].push(json[key]);
84
+ // } else {
85
+ // result[groupKey] = [json[key]];
86
+ // }
87
+ // }
88
+ // }
89
+ // return result;
90
+ // }
91
+ //type JsonValueType = { itemId: string; language: string; version: string };
92
+ //const fieldsjsonValues = findFields(graphql);
93
+ // function renderItem(fields: Field[]) {
94
+ // const first = fields[0];
95
+ // const item = first.descriptor.item;
96
+ // if (!item) return null;
97
+ // return (
98
+ // <div key={first.id + item.id + item.language + item.version}>
99
+ // Item: {item.id} {first.id} {item.language} {item.version}
100
+ // <FieldList
101
+ // fields={fields}
102
+ // validators={
103
+ // editContext?.pageValidationResult?.find(
104
+ // (x) =>
105
+ // x.item.id === item.id &&
106
+ // x.item.language === item.language &&
107
+ // x.item.version === item.version
108
+ // )?.results || []
109
+ // }
110
+ // />
111
+ // </div>
112
+ // );
113
+ // }
114
+ if (!item)
115
+ return null;
116
+ async function refresh() {
117
+ if (!item || !query.trim())
118
+ return;
119
+ setShowSpinner(true);
120
+ try {
121
+ const response = await fetch("/alpaca/headless/graphql", {
122
+ method: "POST",
123
+ headers: {
124
+ "Content-Type": "application/json",
125
+ },
126
+ body: JSON.stringify({
127
+ Query: query,
128
+ ItemId: item.id,
129
+ Language: item.language,
130
+ Version: item.version,
131
+ }),
132
+ });
133
+ if (!response.ok) {
134
+ throw new Error(`HTTP error! status: ${response.status}`);
135
+ }
136
+ const result = await response.json();
137
+ if (result.errors) {
138
+ setGraphqlResult({ status: 400, errors: result.errors });
139
+ }
140
+ else {
141
+ setGraphqlResult({ data: result.data, status: response.status });
142
+ }
143
+ }
144
+ catch (error) {
145
+ console.error("GraphQL query error:", error);
146
+ setGraphqlResult({ error: String(error) });
147
+ }
148
+ finally {
149
+ setShowSpinner(false);
150
+ }
151
+ }
152
+ async function fetchSchema() {
153
+ if (!item)
154
+ return;
155
+ setShowSchemaSpinner(true);
156
+ try {
157
+ const response = await fetch("/alpaca/headless/graphql/schema", {
158
+ method: "POST",
159
+ headers: {
160
+ "Content-Type": "application/json",
161
+ },
162
+ body: JSON.stringify({
163
+ ItemId: item.id,
164
+ Language: item.language,
165
+ Version: item.version,
166
+ Schema: "Default", // You may want to make this configurable
167
+ }),
168
+ });
169
+ if (!response.ok) {
170
+ throw new Error(`HTTP error! status: ${response.status}`);
171
+ }
172
+ const result = await response.text(); // Schema returns plain text, not JSON
173
+ setSchemaResult({ data: result, status: response.status });
174
+ }
175
+ catch (error) {
176
+ console.error("Schema fetch error:", error);
177
+ setSchemaResult({ error: String(error) });
178
+ }
179
+ finally {
180
+ setShowSchemaSpinner(false);
181
+ }
182
+ }
183
+ // Function to apply AI-generated query to the editor
184
+ const applyQueryToEditor = (newQuery) => {
185
+ setQuery(newQuery);
186
+ setAiGeneratedQuery(newQuery);
187
+ };
188
+ // Extract GraphQL queries from AI response
189
+ const extractGraphQLFromResponse = (responseText) => {
190
+ const graphqlBlockRegex = /```graphql\s*([\s\S]*?)\s*```/i;
191
+ const match = responseText.match(graphqlBlockRegex);
192
+ return match ? match[1]?.trim() || null : null;
193
+ };
194
+ // removed old AiTerminal context
195
+ // Register a context factory for GraphQL so agents can pull structured context without tool reads
196
+ // (moved useEffect for context factory above to ensure hooks order remains stable)
197
+ return (_jsx(Splitter, { direction: "vertical", className: "h-full", panels: [
198
+ {
199
+ name: "query",
200
+ defaultSize: 850,
201
+ className: "flex flex-col min-h-[500px]",
202
+ content: (_jsxs("div", { className: "flex flex-1 flex-col overflow-hidden", children: [aiGeneratedQuery && aiGeneratedQuery !== query && (_jsxs("div", { className: "flex items-center gap-2 border-b border-yellow-200 bg-yellow-50 p-2 text-xs", children: [_jsx("span", { className: "text-yellow-800", children: "AI generated a new query" }), _jsx(ActionButton, { onClick: () => applyQueryToEditor(aiGeneratedQuery), className: "p-1 text-xs", variant: "outline", children: "Apply" }), _jsx(ActionButton, { onClick: () => setAiGeneratedQuery(""), className: "p-1", variant: "ghost", children: "\u00D7" })] })), _jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "flex flex-1 flex-col border-b border-gray-300", children: [_jsx("div", { className: "border-b border-gray-300 bg-gray-100 px-3 py-2 text-sm font-medium text-gray-700", children: "GraphQL Query" }), _jsx("div", { className: "relative flex-1", children: _jsx("div", { className: "absolute inset-0 overflow-auto", children: _jsx(CodeEditor, { value: query, language: "graphql", placeholder: "Enter your GraphQL query here...", onChange: (evn) => setQuery(evn.target.value), padding: 15, style: {
203
+ fontSize: 12,
204
+ backgroundColor: "#f8f9fa",
205
+ fontFamily: "ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",
206
+ } }) }) })] }), _jsx("div", { className: "flex items-center justify-center border-b border-gray-300 bg-gray-50 py-3", children: _jsxs(ActionButton, { onClick: refresh, disabled: showSpinner, className: "px-4 py-2", variant: "outline", children: [_jsx(RefreshCw, { strokeWidth: 1.5, className: "mr-2 h-4 w-4" }), "Run"] }) }), _jsxs("div", { className: "flex flex-1 flex-col", children: [_jsx("div", { className: "border-b border-gray-300 bg-gray-100 px-3 py-2 text-sm font-medium text-gray-700", children: "JSON Result" }), _jsx("div", { className: "flex-1 overflow-auto p-2", children: _jsx("div", { className: "min-w-0 overflow-x-auto", children: _jsx(ObjectInspector, { data: graphqlResult, expandLevel: 3 }) }) })] })] })] })),
207
+ },
208
+ {
209
+ name: "schema",
210
+ defaultSize: 150,
211
+ className: "flex flex-col text-xs min-h-[150px]",
212
+ content: (_jsxs("div", { className: "flex flex-1 flex-col text-xs", children: [_jsx(SimpleTabs, { className: "border-gray-3 border-b px-2 pt-2", tabs: [
213
+ {
214
+ id: "schema",
215
+ label: "Schema",
216
+ content: (_jsxs("div", { className: "relative h-full overflow-hidden", children: [_jsx("div", { className: "flex items-center gap-2 border-b p-2", children: _jsx(ActionButton, { onClick: fetchSchema, disabled: showSchemaSpinner, variant: "outline", className: "text-sm", children: "\uD83D\uDCE5 Fetch Schema" }) }), _jsx("div", { className: "flex-1 overflow-auto p-2", children: _jsx("div", { className: "min-w-0 overflow-x-auto", children: _jsx(ObjectInspector, { data: schemaResult, expandLevel: 3 }) }) })] })),
217
+ },
218
+ ], activeTab: activeTab, setActiveTab: setActiveTab }), _jsx("div", { className: "border-t border-gray-200 p-2", children: _jsx(ActionButton, { variant: "outline", className: "text-xs", onClick: () => {
219
+ editContext?.executeCommand?.({
220
+ command: createAgentCommand,
221
+ data: {
222
+ profileName: "GraphQL Assistant",
223
+ contextFactory: "graphql:context:v1",
224
+ initialPrompt: "Help with the current GraphQL query and schema.",
225
+ additionalData: {
226
+ source: "GraphQLPanel",
227
+ },
228
+ },
229
+ });
230
+ }, children: "Start GraphQL Agent" }) })] })),
231
+ },
232
+ ] }));
233
+ }
234
+ //# sourceMappingURL=GraphQL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphQL.js","sourceRoot":"","sources":["../../../src/editor/sidebar/GraphQL.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function LeftToolbar(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "../../lib/utils";
3
+ import { useEditContext } from "../client/editContext";
4
+ import { NavigationSidebar } from "./NavigationSidebar";
5
+ export function LeftToolbar() {
6
+ const editContext = useEditContext();
7
+ const showLabels = editContext?.userInfo.preferences?.showLabels ?? editContext?.userInfo.preferences?.showViewNames ?? false;
8
+ return (_jsx("div", { className: cn("border-gray-200 bg-gray-50/50 flex items-center gap-1.5 border-r p-1.5", editContext?.isMobile
9
+ ? "scrollbar-hide flex-row overflow-x-auto"
10
+ : `flex-col ${showLabels ? "w-16" : "w-9"}`), children: _jsx(NavigationSidebar, {}) }));
11
+ }
12
+ //# sourceMappingURL=LeftToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LeftToolbar.js","sourceRoot":"","sources":["../../../src/editor/sidebar/LeftToolbar.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,WAAW;IACzB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,UAAU,GACd,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,UAAU,IAAI,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,aAAa,IAAI,KAAK,CAAC;IAC7G,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CACX,wEAAwE,EACxE,WAAW,EAAE,QAAQ;YACnB,CAAC,CAAC,yCAAyC;YAC3C,CAAC,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAC9C,YAED,KAAC,iBAAiB,KAAG,GACjB,CACP,CAAC;AACJ,CAAC"}
@@ -1,11 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useRef, useState } from "react";
3
3
  import ContentTree from "../ContentTree";
4
- import { TreeSettingsMenu } from "../content-tree/TreeSettingsMenu";
5
4
  import { useEditContext } from "../client/editContext";
6
5
  import { getInsertOptionsForCurrentSelection } from "../utils/insertOptions";
7
6
  import ItemSearch from "../ui/ItemSearch";
8
- import { GutterProvider, GutterColumns, useGutterContextSafe, } from "../tree-indicators";
7
+ import { GutterProvider, GutterSelector, GutterColumns, useGutterContextSafe, } from "../tree-indicators";
9
8
  /** Width of each gutter column in pixels */
10
9
  const GUTTER_COLUMN_WIDTH = 18;
11
10
  /**
@@ -49,7 +48,7 @@ function MainContentTreeInner({ mode, rootItemIds, selectedItem, shouldScrollToS
49
48
  language: item.language,
50
49
  version: 0,
51
50
  });
52
- }, showGrabCursorForDraggableNodes: mode === "insert-component", isDraggable: isDraggable, enableContextMenu: mode === "normal", hideRootNodes: hideRootNodes, renderNodePrefix: (node, depth) => showIndicators && node.data?.id ? (_jsx(GutterColumns, { itemId: node.data.id, itemLanguage: currentLanguage, depth: depth })) : null }) }) }) }));
51
+ }, showGrabCursorForDraggableNodes: mode === "insert-component", isDraggable: isDraggable, enableContextMenu: mode === "normal", hideRootNodes: hideRootNodes, renderNodePrefix: (node, depth) => showIndicators && node.data?.id ? (_jsx(GutterColumns, { itemId: node.data.id, depth: depth })) : null }) }) }) }));
53
52
  }
54
53
  export function MainContentTree({ mode, rootItemId, hideRootNodes, }) {
55
54
  const editContext = useEditContext();
@@ -165,6 +164,6 @@ export function MainContentTree({ mode, rootItemId, hideRootNodes, }) {
165
164
  id: item.id,
166
165
  language: item.language,
167
166
  version: 0,
168
- }) }) }), mode !== "insert-component" && _jsx(TreeSettingsMenu, {})] }), _jsx(MainContentTreeInner, { mode: mode, rootItemIds: rootItemIds, selectedItem: selectedItem, shouldScrollToSelected: shouldScrollToSelected, selectedItemIds: selectedItemIds, setShouldScrollToSelected: setShouldScrollToSelected, setSelectedItemIds: setSelectedItemIds, editContext: editContext, isDraggable: isDraggable, hideRootNodes: hideRootNodes, currentLanguage: currentLanguage, onTreeItemClick: handleTreeItemClick })] }) }));
167
+ }) }) }), mode !== "insert-component" && _jsx(GutterSelector, {})] }), _jsx(MainContentTreeInner, { mode: mode, rootItemIds: rootItemIds, selectedItem: selectedItem, shouldScrollToSelected: shouldScrollToSelected, selectedItemIds: selectedItemIds, setShouldScrollToSelected: setShouldScrollToSelected, setSelectedItemIds: setSelectedItemIds, editContext: editContext, isDraggable: isDraggable, hideRootNodes: hideRootNodes, currentLanguage: currentLanguage, onTreeItemClick: handleTreeItemClick })] }) }));
169
168
  }
170
169
  //# sourceMappingURL=MainContentTree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MainContentTree.js","sourceRoot":"","sources":["../../../src/editor/sidebar/MainContentTree.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MainContentTree.js","sourceRoot":"","sources":["../../../src/editor/sidebar/MainContentTree.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ declare function NavigationSidebarComponent(): import("react/jsx-runtime").JSX.Element;
3
+ export declare const NavigationSidebar: React.MemoExoticComponent<typeof NavigationSidebarComponent>;
4
+ export {};
@@ -0,0 +1,254 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import React, { useState, useMemo, useCallback, useRef, useEffect, } from "react";
3
+ import { cn } from "../../lib/utils";
4
+ import { useEditContext } from "../client/editContext";
5
+ import { VerticalDotsIcon, ViewToggleIcon } from "../ui/Icons";
6
+ import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
7
+ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "../../components/ui/tooltip";
8
+ import { ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, } from "../../components/ui/context-menu";
9
+ import { DrawingPinFilledIcon, DrawingPinIcon } from "@radix-ui/react-icons";
10
+ import { Pin, PinOff, X } from "lucide-react";
11
+ function NavigationSidebarComponent() {
12
+ const editContext = useEditContext();
13
+ // Extract sidebar values
14
+ const contextValues = useMemo(() => ({
15
+ // Workspace state (for checking if we're in Editor workspace)
16
+ workspaceId: editContext?.workspaceId ?? "home",
17
+ // Sidebar state (for Editor workspace)
18
+ sidebars: editContext?.availableSidebars ?? [],
19
+ openSidebars: editContext?.openSidebars ?? [],
20
+ pinnedSidebars: editContext?.pinnedSidebars ?? [],
21
+ lockedSidebars: editContext?.lockedSidebars ?? [],
22
+ sidebarStacks: editContext?.sidebarStacks ?? [],
23
+ toggleSidebar: editContext?.toggleSidebar,
24
+ openSidebar: editContext?.openSidebar,
25
+ toggleSidebarPin: editContext?.toggleSidebarPin,
26
+ toggleSidebarLock: editContext?.toggleSidebarLock,
27
+ stackSidebar: editContext?.stackSidebar,
28
+ unstackSidebar: editContext?.unstackSidebar,
29
+ // Display preferences
30
+ showLabels: editContext?.userInfo.preferences?.showLabels ??
31
+ editContext?.userInfo.preferences?.showViewNames ??
32
+ false,
33
+ isMobile: editContext?.isMobile ?? false,
34
+ setUserPreferences: editContext?.setUserPreferences,
35
+ // Workspace state
36
+ visibleWorkspaces: editContext?.visibleWorkspaces ?? [],
37
+ switchWorkspace: editContext?.switchWorkspace,
38
+ }), [
39
+ editContext?.workspaceId,
40
+ editContext?.availableSidebars,
41
+ editContext?.openSidebars,
42
+ editContext?.pinnedSidebars,
43
+ editContext?.lockedSidebars,
44
+ editContext?.toggleSidebar,
45
+ editContext?.openSidebar,
46
+ editContext?.toggleSidebarPin,
47
+ editContext?.toggleSidebarLock,
48
+ editContext?.sidebarStacks,
49
+ editContext?.stackSidebar,
50
+ editContext?.unstackSidebar,
51
+ editContext?.userInfo.preferences?.showLabels,
52
+ editContext?.userInfo.preferences?.showViewNames,
53
+ editContext?.isMobile,
54
+ editContext?.setUserPreferences,
55
+ editContext?.visibleWorkspaces,
56
+ editContext?.switchWorkspace,
57
+ ]);
58
+ const [isSidebarPopoverOpen, setIsSidebarPopoverOpen] = useState(false);
59
+ const [disableTooltip, setDisableTooltip] = useState(false);
60
+ const tooltipReenableTimer = useRef(null);
61
+ useEffect(() => {
62
+ return () => {
63
+ if (tooltipReenableTimer.current) {
64
+ window.clearTimeout(tooltipReenableTimer.current);
65
+ tooltipReenableTimer.current = null;
66
+ }
67
+ };
68
+ }, []);
69
+ // Check if we're in the Editor workspace (which supports sidebars)
70
+ const isEditorWorkspace = contextValues.workspaceId === "editor";
71
+ // Get visible sidebars for the current position
72
+ const leftSidebars = useMemo(() => {
73
+ return contextValues.sidebars
74
+ .filter((s) => s.position === "left" && !s.hidden)
75
+ .sort((a, b) => (a.sortOrder ?? 100) - (b.sortOrder ?? 100));
76
+ }, [contextValues.sidebars]);
77
+ const toggleShowLabels = useCallback(() => {
78
+ const newShowLabels = !contextValues.showLabels;
79
+ contextValues.setUserPreferences?.({ showLabels: newShowLabels });
80
+ }, [contextValues.showLabels, contextValues.setUserPreferences]);
81
+ const mobileWorkspaces = useMemo(() => {
82
+ const base = (contextValues.visibleWorkspaces ?? [])
83
+ .filter((w) => !w.hidden)
84
+ .filter((w) => w.id !== "home")
85
+ .slice()
86
+ .sort((a, b) => (a.sortOrder ?? 100) - (b.sortOrder ?? 100));
87
+ const settingsIndex = base.findIndex((w) => w.id === "settings");
88
+ if (settingsIndex >= 0) {
89
+ const [settings] = base.splice(settingsIndex, 1);
90
+ if (settings)
91
+ base.push(settings);
92
+ }
93
+ return base;
94
+ }, [contextValues.visibleWorkspaces]);
95
+ const handleWorkspaceClick = useCallback((targetWorkspaceId) => {
96
+ if (targetWorkspaceId !== contextValues.workspaceId) {
97
+ contextValues.switchWorkspace?.(targetWorkspaceId);
98
+ }
99
+ }, [contextValues.workspaceId, contextValues.switchWorkspace]);
100
+ const renderIcon = useCallback((icon, additionalClassName) => {
101
+ if (icon && React.isValidElement(icon)) {
102
+ return React.cloneElement(icon, {
103
+ className: cn("w-4 h-4", additionalClassName),
104
+ strokeWidth: 1.5,
105
+ });
106
+ }
107
+ return null;
108
+ }, []);
109
+ const handleSidebarClick = useCallback((sidebarId) => {
110
+ contextValues.toggleSidebar?.(sidebarId);
111
+ }, [contextValues.toggleSidebar]);
112
+ const handleSidebarClickAndClosePopover = useCallback((sidebarId) => {
113
+ contextValues.openSidebar?.(sidebarId);
114
+ if (tooltipReenableTimer.current) {
115
+ window.clearTimeout(tooltipReenableTimer.current);
116
+ }
117
+ setDisableTooltip(true);
118
+ tooltipReenableTimer.current = window.setTimeout(() => {
119
+ setDisableTooltip(false);
120
+ tooltipReenableTimer.current = null;
121
+ }, 800);
122
+ setIsSidebarPopoverOpen(false);
123
+ }, [contextValues.openSidebar]);
124
+ const handlePinClick = useCallback((e, sidebarId) => {
125
+ e.stopPropagation();
126
+ contextValues.toggleSidebarPin?.(sidebarId);
127
+ }, [contextValues.toggleSidebarPin]);
128
+ // Drag state for reordering pinned sidebar icons
129
+ const [dragOverId, setDragOverId] = useState(null);
130
+ const handleIconDragStart = useCallback((e, sidebarId) => {
131
+ e.dataTransfer.setData("text/alpaca-sidebar-icon", sidebarId);
132
+ e.dataTransfer.effectAllowed = "move";
133
+ }, []);
134
+ const handleIconDragOver = useCallback((e, sidebarId) => {
135
+ e.preventDefault();
136
+ e.dataTransfer.dropEffect = "move";
137
+ setDragOverId(sidebarId);
138
+ }, []);
139
+ const handleIconDragLeave = useCallback(() => {
140
+ setDragOverId(null);
141
+ }, []);
142
+ const handleIconDrop = useCallback((e, targetSidebarId) => {
143
+ e.preventDefault();
144
+ setDragOverId(null);
145
+ const sourceSidebarId = e.dataTransfer.getData("text/alpaca-sidebar-icon");
146
+ if (!sourceSidebarId || sourceSidebarId === targetSidebarId) {
147
+ return;
148
+ }
149
+ // Reorder pinned sidebars
150
+ const currentPinned = [...contextValues.pinnedSidebars];
151
+ const sourceIndex = currentPinned.indexOf(sourceSidebarId);
152
+ const targetIndex = currentPinned.indexOf(targetSidebarId);
153
+ if (sourceIndex === -1 || targetIndex === -1) {
154
+ return;
155
+ }
156
+ // Remove source and insert at target position
157
+ currentPinned.splice(sourceIndex, 1);
158
+ const newTargetIndex = currentPinned.indexOf(targetSidebarId);
159
+ const insertIndex = sourceIndex < targetIndex ? newTargetIndex + 1 : newTargetIndex;
160
+ currentPinned.splice(insertIndex, 0, sourceSidebarId);
161
+ editContext?.reorderPinnedSidebars?.(currentPinned);
162
+ }, [contextValues.pinnedSidebars, editContext]);
163
+ // Get the currently visible sidebars in the selector (pinned + open)
164
+ // Order: pinned sidebars first (in their saved order), then open-but-not-pinned
165
+ const visibleSidebarItems = useMemo(() => {
166
+ const pinnedSet = new Set(contextValues.pinnedSidebars);
167
+ const openSet = new Set(contextValues.openSidebars);
168
+ const sidebarMap = new Map(leftSidebars.map((s) => [s.id, s]));
169
+ // Start with pinned sidebars in their saved order
170
+ const result = [];
171
+ for (const id of contextValues.pinnedSidebars) {
172
+ const sidebar = sidebarMap.get(id);
173
+ if (sidebar) {
174
+ result.push(sidebar);
175
+ }
176
+ }
177
+ // Add open-but-not-pinned sidebars (in their sortOrder)
178
+ for (const sidebar of leftSidebars) {
179
+ if (openSet.has(sidebar.id) && !pinnedSet.has(sidebar.id)) {
180
+ result.push(sidebar);
181
+ }
182
+ }
183
+ return result;
184
+ }, [leftSidebars, contextValues.pinnedSidebars, contextValues.openSidebars]);
185
+ return (_jsxs(TooltipProvider, { delayDuration: 500, skipDelayDuration: 0, children: [isEditorWorkspace &&
186
+ visibleSidebarItems.map((sidebar) => {
187
+ const isOpen = contextValues.openSidebars.includes(sidebar.id);
188
+ const isPinned = contextValues.pinnedSidebars.includes(sidebar.id);
189
+ const currentStack = contextValues.sidebarStacks?.find((s) => s.includes(sidebar.id)) ??
190
+ null;
191
+ const isStacked = !!(currentStack && currentStack.length > 1);
192
+ // Check if any sidebar in the stack is locked (stack-level lock)
193
+ const isLocked = currentStack
194
+ ? currentStack.some((id) => contextValues.lockedSidebars?.includes(id))
195
+ : (contextValues.lockedSidebars?.includes(sidebar.id) ?? false);
196
+ const stackCandidates = leftSidebars.filter((s) => s.id !== sidebar.id && contextValues.openSidebars.includes(s.id));
197
+ return (_jsxs(ContextMenu, { children: [_jsx(ContextMenuTrigger, { asChild: true, children: _jsxs(Tooltip, { delayDuration: 500, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsxs("div", { className: cn(
198
+ // Sidebar icons: smaller, subtler appearance
199
+ isOpen
200
+ ? "border-gray-300 bg-gray-100 text-gray-900"
201
+ : "border-transparent text-gray-500 hover:bg-gray-50 hover:text-gray-700", "relative flex cursor-pointer flex-col items-center justify-center rounded border select-none", contextValues.showLabels ? "p-1" : "p-1", contextValues.isMobile ? "shrink-0" : "",
202
+ // Drag-over visual feedback
203
+ dragOverId === sidebar.id && "ring-2 ring-blue-400"), "data-sidebar-id": sidebar.id, "data-testid": `sidebar-icon-${sidebar.id}`, onClick: () => {
204
+ handleSidebarClick(sidebar.id);
205
+ },
206
+ // Drag-and-drop for reordering pinned icons
207
+ draggable: isPinned, onDragStart: (e) => isPinned && handleIconDragStart(e, sidebar.id), onDragOver: (e) => isPinned && handleIconDragOver(e, sidebar.id), onDragLeave: handleIconDragLeave, onDrop: (e) => isPinned && handleIconDrop(e, sidebar.id), children: [_jsxs("div", { className: cn("relative", contextValues.showLabels ? "p-0.5" : ""), children: [renderIcon(sidebar.icon), isStacked && (_jsx("div", { className: "bg-theme-secondary absolute right-0 bottom-0 size-1.5 rounded-full" }))] }), contextValues.showLabels && (_jsx("span", { className: "mt-0.5 max-w-[50px] text-center text-[10px] leading-tight wrap-break-word", children: sidebar.title }))] }) }), _jsx(TooltipContent, { side: "right", children: sidebar.title })] }) }), _jsxs(ContextMenuContent, { children: [isOpen && (_jsx(ContextMenuItem, { onSelect: () => {
208
+ contextValues.toggleSidebarLock?.(sidebar.id);
209
+ }, children: isLocked ? (_jsxs(_Fragment, { children: [_jsx(PinOff, { className: "size-4", strokeWidth: 1 }), isStacked ? "Unpin stack" : "Unpin"] })) : (_jsxs(_Fragment, { children: [_jsx(Pin, { className: "size-4", strokeWidth: 1 }), isStacked ? "Pin stack open" : "Pin open"] })) })), isOpen && stackCandidates.length > 0 && (_jsxs(ContextMenuSub, { children: [_jsx(ContextMenuSubTrigger, { children: "Stack with..." }), _jsx(ContextMenuSubContent, { children: stackCandidates.map((target) => (_jsx(ContextMenuItem, { onSelect: () => {
210
+ contextValues.stackSidebar?.(sidebar.id, target.id, "after");
211
+ }, children: target.title }, `stack-with-${sidebar.id}-${target.id}`))) })] })), isOpen && isStacked && (_jsx(ContextMenuItem, { onSelect: () => {
212
+ contextValues.unstackSidebar?.(sidebar.id);
213
+ }, children: "Unstack" })), _jsx(ContextMenuItem, { onSelect: () => {
214
+ contextValues.toggleSidebarPin?.(sidebar.id);
215
+ }, children: isPinned ? (_jsxs(_Fragment, { children: [_jsx(PinOff, { className: "size-4", strokeWidth: 1 }), "Unpin from toolbar"] })) : (_jsxs(_Fragment, { children: [_jsx(Pin, { className: "size-4", strokeWidth: 1 }), "Pin to toolbar"] })) }), isOpen && (_jsxs(ContextMenuItem, { onSelect: () => {
216
+ contextValues.toggleSidebar?.(sidebar.id, {
217
+ forceClose: true,
218
+ });
219
+ }, children: [_jsx(X, { className: "size-4", strokeWidth: 1 }), "Close"] }))] })] }, `sidebar-${sidebar.id}`));
220
+ }), isEditorWorkspace && leftSidebars.length > 0 && (_jsxs(Popover, { open: isSidebarPopoverOpen, onOpenChange: (open) => {
221
+ setIsSidebarPopoverOpen(open);
222
+ }, children: [_jsxs(Tooltip, { delayDuration: disableTooltip ? 100000 : 500, open: isSidebarPopoverOpen || disableTooltip ? false : undefined, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(PopoverTrigger, { asChild: true, children: _jsx("button", { "data-testid": "more-sidebars-button", className: cn("flex items-center justify-center rounded border border-transparent p-1", "text-gray-400 hover:border-gray-200 hover:bg-gray-50 hover:text-gray-600", contextValues.isMobile ? "shrink-0" : ""), children: _jsx(VerticalDotsIcon, { className: "h-4 w-4" }) }) }) }), _jsx(TooltipContent, { side: "right", children: "More panels" })] }), _jsx(PopoverContent, { className: "w-56 p-2", side: contextValues.isMobile ? "bottom" : "right", align: "start", onInteractOutside: (e) => {
223
+ const target = e.target;
224
+ if (target && target.closest('[data-slot="tooltip-content"]')) {
225
+ e.preventDefault();
226
+ }
227
+ }, onPointerDownOutside: (e) => {
228
+ const target = e.target;
229
+ if (target && target.closest('[data-slot="tooltip-content"]')) {
230
+ e.preventDefault();
231
+ }
232
+ }, onFocusOutside: (e) => {
233
+ const target = e.target;
234
+ if (target && target.closest('[data-slot="tooltip-content"]')) {
235
+ e.preventDefault();
236
+ }
237
+ }, children: _jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "px-2 py-1 text-[9px] font-medium tracking-wider text-gray-600 uppercase", children: "Sidebars" }), leftSidebars.map((sidebar) => {
238
+ const isOpen = contextValues.openSidebars.includes(sidebar.id);
239
+ const isPinned = contextValues.pinnedSidebars.includes(sidebar.id);
240
+ return (_jsxs("div", { className: cn("group flex cursor-pointer items-center justify-between rounded p-2 hover:bg-gray-100", isOpen && "bg-gray-50"), onClick: () => handleSidebarClickAndClosePopover(sidebar.id), "data-testid": `sidebar-${sidebar.id}`, children: [_jsxs("div", { className: "flex flex-1 items-center gap-1.5", children: [renderIcon(sidebar.icon, "w-4 h-4"), _jsx("span", { className: "text-xs", children: sidebar.title })] }), _jsxs(Tooltip, { delayDuration: 500, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "flex h-6 w-6 shrink-0 items-center justify-center rounded hover:bg-gray-200", onClick: (e) => {
241
+ e.stopPropagation();
242
+ e.preventDefault();
243
+ handlePinClick(e, sidebar.id);
244
+ }, onMouseDown: (e) => {
245
+ e.stopPropagation();
246
+ }, children: isPinned ? (_jsx(DrawingPinFilledIcon, { className: "text-theme-secondary h-4 w-4" })) : (_jsx(DrawingPinIcon, { className: "h-4 w-4 text-gray-400" })) }) }), _jsx(TooltipContent, { side: "right", children: isPinned ? "Unpin from toolbar" : "Pin to toolbar" })] })] }, `menu-sidebar-${sidebar.id}`));
247
+ })] }) })] })), _jsx("div", { className: "flex-1" }), contextValues.isMobile && mobileWorkspaces.length > 0 && (_jsxs(_Fragment, { children: [_jsx("div", { className: "mx-1 h-px w-full bg-gray-200" }), mobileWorkspaces.map((workspace) => {
248
+ const active = workspace.id === contextValues.workspaceId;
249
+ return (_jsx("button", { type: "button", "aria-label": workspace.title, "aria-current": active ? "page" : undefined, "data-testid": `workspace-mobile-${workspace.id}`, className: cn("flex items-center justify-center rounded border border-transparent p-1", "text-gray-500 hover:border-gray-200 hover:bg-gray-50 hover:text-gray-800", active && "border-gray-300 bg-gray-100 text-gray-900"), onClick: () => handleWorkspaceClick(workspace.id), children: renderIcon(workspace.icon) }, `workspace-${workspace.id}`));
250
+ })] })), _jsxs(Tooltip, { delayDuration: 500, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { className: cn("flex items-center justify-center rounded border border-transparent p-0.5", "text-gray-400 hover:border-gray-200 hover:bg-gray-50 hover:text-gray-600", contextValues.isMobile ? "shrink-0" : ""), onClick: toggleShowLabels, children: _jsx(ViewToggleIcon, { className: "h-4 w-4" }) }) }), _jsx(TooltipContent, { side: "right", children: contextValues.showLabels ? "Hide labels" : "Show labels" })] })] }));
251
+ }
252
+ // Export memoized component to prevent unnecessary re-renders
253
+ export const NavigationSidebar = React.memo(NavigationSidebarComponent);
254
+ //# sourceMappingURL=NavigationSidebar.js.map