@parhelia/core 0.1.12888 → 0.1.12890

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 (342) hide show
  1. package/dist/agents-view/AgentCard.d.ts +2 -1
  2. package/dist/agents-view/AgentCard.js +14 -38
  3. package/dist/agents-view/AgentCard.js.map +1 -1
  4. package/dist/agents-view/AgentGalleryCard.d.ts +12 -0
  5. package/dist/agents-view/AgentGalleryCard.js +12 -0
  6. package/dist/agents-view/AgentGalleryCard.js.map +1 -0
  7. package/dist/agents-view/AgentGalleryView.d.ts +18 -0
  8. package/dist/agents-view/AgentGalleryView.js +88 -0
  9. package/dist/agents-view/AgentGalleryView.js.map +1 -0
  10. package/dist/agents-view/AgentProfileIcon.d.ts +9 -0
  11. package/dist/agents-view/AgentProfileIcon.js +28 -0
  12. package/dist/agents-view/AgentProfileIcon.js.map +1 -0
  13. package/dist/agents-view/AgentsView.d.ts +6 -1
  14. package/dist/agents-view/AgentsView.js +40 -12
  15. package/dist/agents-view/AgentsView.js.map +1 -1
  16. package/dist/agents-view/AgentsWorkspaceView.js +40 -21
  17. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  18. package/dist/agents-view/DateAgentsGroup.d.ts +2 -1
  19. package/dist/agents-view/DateAgentsGroup.js +2 -2
  20. package/dist/agents-view/DateAgentsGroup.js.map +1 -1
  21. package/dist/agents-view/ProfileAgentsGroup.d.ts +2 -1
  22. package/dist/agents-view/ProfileAgentsGroup.js +5 -8
  23. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  24. package/dist/agents-view/RenameAgentDialog.d.ts +12 -0
  25. package/dist/agents-view/RenameAgentDialog.js +40 -0
  26. package/dist/agents-view/RenameAgentDialog.js.map +1 -0
  27. package/dist/components/FilterInput.d.ts +2 -0
  28. package/dist/components/FilterInput.js +4 -2
  29. package/dist/components/FilterInput.js.map +1 -1
  30. package/dist/components/ui/alert-dialog.d.ts +1 -1
  31. package/dist/components/ui/alert-dialog.js +5 -5
  32. package/dist/components/ui/alert-dialog.js.map +1 -1
  33. package/dist/components/ui/alert.d.ts +3 -2
  34. package/dist/components/ui/alert.js +9 -4
  35. package/dist/components/ui/alert.js.map +1 -1
  36. package/dist/components/ui/badge.d.ts +1 -1
  37. package/dist/components/ui/button.d.ts +9 -4
  38. package/dist/components/ui/button.js +16 -9
  39. package/dist/components/ui/button.js.map +1 -1
  40. package/dist/components/ui/dialog.d.ts +1 -1
  41. package/dist/components/ui/dialog.js +4 -3
  42. package/dist/components/ui/dialog.js.map +1 -1
  43. package/dist/components/ui/styled-dialog-title.js +1 -1
  44. package/dist/components/ui/styled-dialog-title.js.map +1 -1
  45. package/dist/config/config.js +4 -3
  46. package/dist/config/config.js.map +1 -1
  47. package/dist/editor/FieldListField.js +6 -2
  48. package/dist/editor/FieldListField.js.map +1 -1
  49. package/dist/editor/GlobalMenuBar.js +3 -1
  50. package/dist/editor/GlobalMenuBar.js.map +1 -1
  51. package/dist/editor/LinkEditorDialog.js +3 -3
  52. package/dist/editor/LinkEditorDialog.js.map +1 -1
  53. package/dist/editor/MainLayout.js +11 -9
  54. package/dist/editor/MainLayout.js.map +1 -1
  55. package/dist/editor/WorkspaceTitleSwitcher.d.ts +5 -0
  56. package/dist/editor/WorkspaceTitleSwitcher.js +86 -0
  57. package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -0
  58. package/dist/editor/ai/AgentInlineDialogContent.js +1 -1
  59. package/dist/editor/ai/AgentInlineDialogContent.js.map +1 -1
  60. package/dist/editor/ai/Agents.js +155 -43
  61. package/dist/editor/ai/Agents.js.map +1 -1
  62. package/dist/editor/ai/InlineAiDialog.js +1 -1
  63. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  64. package/dist/editor/ai/dialogs/QuestionnaireInline.js +52 -82
  65. package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
  66. package/dist/editor/ai/terminal/agentQuestionnaireRecap.d.ts +82 -0
  67. package/dist/editor/ai/terminal/agentQuestionnaireRecap.js +277 -0
  68. package/dist/editor/ai/terminal/agentQuestionnaireRecap.js.map +1 -0
  69. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.d.ts +3 -0
  70. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js +3 -3
  71. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js.map +1 -1
  72. package/dist/editor/ai/terminal/agentSessionLiveTotals.d.ts +5 -0
  73. package/dist/editor/ai/terminal/agentSessionLiveTotals.js +14 -0
  74. package/dist/editor/ai/terminal/agentSessionLiveTotals.js.map +1 -1
  75. package/dist/editor/ai/terminal/agentSessionSnapshot.js +2 -0
  76. package/dist/editor/ai/terminal/agentSessionSnapshot.js.map +1 -1
  77. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +1 -1
  78. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
  79. package/dist/editor/ai/terminal/components/AgentGreeting.js +5 -2
  80. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  81. package/dist/editor/ai/terminal/components/AgentProjectProgress.d.ts +12 -0
  82. package/dist/editor/ai/terminal/components/AgentProjectProgress.js +207 -0
  83. package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -0
  84. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +3 -3
  85. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
  86. package/dist/editor/ai/terminal/components/AgentPromptComposer.d.ts +2 -1
  87. package/dist/editor/ai/terminal/components/AgentPromptComposer.js +5 -2
  88. package/dist/editor/ai/terminal/components/AgentPromptComposer.js.map +1 -1
  89. package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -1
  90. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +5 -3
  91. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
  92. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +4 -3
  93. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +6 -19
  94. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
  95. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +5 -1
  96. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +33 -2
  97. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  98. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +2 -0
  99. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +20 -1
  100. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
  101. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +2 -1
  102. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
  103. package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
  104. package/dist/editor/ai/terminal/components/AgentTerminalView.js +11 -2
  105. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  106. package/dist/editor/ai/terminal/components/AiResponseMessage.js +59 -7
  107. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  108. package/dist/editor/ai/terminal/components/QuestionnaireRecap.d.ts +9 -0
  109. package/dist/editor/ai/terminal/components/QuestionnaireRecap.js +56 -0
  110. package/dist/editor/ai/terminal/components/QuestionnaireRecap.js.map +1 -0
  111. package/dist/editor/ai/terminal/contextBreakdown.d.ts +17 -0
  112. package/dist/editor/ai/terminal/contextBreakdown.js +58 -0
  113. package/dist/editor/ai/terminal/contextBreakdown.js.map +1 -0
  114. package/dist/editor/ai/terminal/types.d.ts +2 -0
  115. package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.d.ts +29 -0
  116. package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js +68 -0
  117. package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js.map +1 -0
  118. package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js +8 -3
  119. package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js.map +1 -1
  120. package/dist/editor/ai/terminal/useAgentInlineDialogState.d.ts +10 -3
  121. package/dist/editor/ai/terminal/useAgentInlineDialogState.js +33 -4
  122. package/dist/editor/ai/terminal/useAgentInlineDialogState.js.map +1 -1
  123. package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js +16 -2
  124. package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js.map +1 -1
  125. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +3 -1
  126. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
  127. package/dist/editor/ai/terminal/useAgentSession.js +12 -1
  128. package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
  129. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.d.ts +3 -0
  130. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js +6 -1
  131. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js.map +1 -1
  132. package/dist/editor/ai/terminal/useAgentTerminalController.js +48 -4
  133. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  134. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -0
  135. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -1
  136. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  137. package/dist/editor/ai/terminal/useAgentToolCallHandler.js +13 -1
  138. package/dist/editor/ai/terminal/useAgentToolCallHandler.js.map +1 -1
  139. package/dist/editor/ai/terminal/useAgentToolResultHandler.js +31 -7
  140. package/dist/editor/ai/terminal/useAgentToolResultHandler.js.map +1 -1
  141. package/dist/editor/bridge/BridgeClient.d.ts +1 -8
  142. package/dist/editor/bridge/BridgeClient.js +2 -4
  143. package/dist/editor/bridge/BridgeClient.js.map +1 -1
  144. package/dist/editor/bridge/protocol.d.ts +512 -0
  145. package/dist/editor/bridge/protocol.js +188 -0
  146. package/dist/editor/bridge/protocol.js.map +1 -0
  147. package/dist/editor/client/AboutDialog.js +15 -4
  148. package/dist/editor/client/AboutDialog.js.map +1 -1
  149. package/dist/editor/client/EditorShell.js +50 -13
  150. package/dist/editor/client/EditorShell.js.map +1 -1
  151. package/dist/editor/client/editContext.d.ts +6 -0
  152. package/dist/editor/client/editContext.js.map +1 -1
  153. package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +3 -0
  154. package/dist/editor/client/hooks/useSocketMessageHandler.js +57 -25
  155. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  156. package/dist/editor/client/hooks/useWorkbox.d.ts +1 -0
  157. package/dist/editor/client/hooks/useWorkbox.js +14 -1
  158. package/dist/editor/client/hooks/useWorkbox.js.map +1 -1
  159. package/dist/editor/client/operationToasts.d.ts +2 -0
  160. package/dist/editor/client/operationToasts.js +35 -0
  161. package/dist/editor/client/operationToasts.js.map +1 -0
  162. package/dist/editor/client/operations.d.ts +4 -0
  163. package/dist/editor/client/operations.js +134 -74
  164. package/dist/editor/client/operations.js.map +1 -1
  165. package/dist/editor/client/pageModelBuilder.d.ts +1 -0
  166. package/dist/editor/client/pageModelBuilder.js +22 -13
  167. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  168. package/dist/editor/client/waitForEditOperationTerminal.d.ts +1 -0
  169. package/dist/editor/client/waitForEditOperationTerminal.js +1 -1
  170. package/dist/editor/client/waitForEditOperationTerminal.js.map +1 -1
  171. package/dist/editor/commands/itemCommands.js +5 -16
  172. package/dist/editor/commands/itemCommands.js.map +1 -1
  173. package/dist/editor/content-tree/IndicatorSettings.js +3 -2
  174. package/dist/editor/content-tree/IndicatorSettings.js.map +1 -1
  175. package/dist/editor/field-types/CheckboxEditor.js +3 -1
  176. package/dist/editor/field-types/CheckboxEditor.js.map +1 -1
  177. package/dist/editor/field-types/MultiLineText.js +24 -7
  178. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  179. package/dist/editor/field-types/SingleLineText.js +19 -2
  180. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  181. package/dist/editor/field-types/useTextCompletion.d.ts +20 -0
  182. package/dist/editor/field-types/useTextCompletion.js +166 -0
  183. package/dist/editor/field-types/useTextCompletion.js.map +1 -0
  184. package/dist/editor/menubar/ItemLanguageVersion.js +3 -14
  185. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  186. package/dist/editor/menubar/OperationsIndicator.d.ts +7 -0
  187. package/dist/editor/menubar/OperationsIndicator.js +87 -0
  188. package/dist/editor/menubar/OperationsIndicator.js.map +1 -0
  189. package/dist/editor/menubar/ToolbarFactory.js +4 -1
  190. package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
  191. package/dist/editor/menubar/VersionSelector.d.ts +3 -2
  192. package/dist/editor/menubar/VersionSelector.js +28 -12
  193. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  194. package/dist/editor/menubar/WorkflowButton.js +7 -4
  195. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  196. package/dist/editor/menubar/toolbar-sections/EditControls.js +7 -3
  197. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  198. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +4 -1
  199. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  200. package/dist/editor/notifications/NotificationCenter.js +28 -27
  201. package/dist/editor/notifications/NotificationCenter.js.map +1 -1
  202. package/dist/editor/notifications/NotificationItem.js +100 -15
  203. package/dist/editor/notifications/NotificationItem.js.map +1 -1
  204. package/dist/editor/notifications/watchEventOptions.js +3 -2
  205. package/dist/editor/notifications/watchEventOptions.js.map +1 -1
  206. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +1 -1
  207. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +8 -2
  208. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  209. package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +1 -1
  210. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +7 -1
  211. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  212. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +3 -10
  213. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  214. package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +2 -2
  215. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +1 -1
  216. package/dist/editor/page-viewer/MiniMap.d.ts +21 -0
  217. package/dist/editor/page-viewer/MiniMap.js +113 -11
  218. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  219. package/dist/editor/page-viewer/PageViewerFrame.js +155 -22
  220. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  221. package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +1 -2
  222. package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
  223. package/dist/editor/page-viewer/pageViewContext.d.ts +1 -1
  224. package/dist/editor/reviews/DecisionsMatrix.js +5 -1
  225. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  226. package/dist/editor/reviews/SuggestedEdit.js +12 -2
  227. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  228. package/dist/editor/reviews/latestFeedbackData.js +7 -1
  229. package/dist/editor/reviews/latestFeedbackData.js.map +1 -1
  230. package/dist/editor/reviews/suggestedEditState.d.ts +2 -0
  231. package/dist/editor/reviews/suggestedEditState.js +20 -0
  232. package/dist/editor/reviews/suggestedEditState.js.map +1 -1
  233. package/dist/editor/reviews/suggestionContentChange.d.ts +1 -1
  234. package/dist/editor/reviews/suggestionContentChange.js +23 -3
  235. package/dist/editor/reviews/suggestionContentChange.js.map +1 -1
  236. package/dist/editor/services/agentService.d.ts +6 -0
  237. package/dist/editor/services/agentService.js +14 -0
  238. package/dist/editor/services/agentService.js.map +1 -1
  239. package/dist/editor/services/aiService.d.ts +5 -0
  240. package/dist/editor/services/aiService.js.map +1 -1
  241. package/dist/editor/settings/About.js +1 -1
  242. package/dist/editor/settings/About.js.map +1 -1
  243. package/dist/editor/settings/panels/AgentProfileConfigPanel.js +4 -2
  244. package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
  245. package/dist/editor/settings/panels/AgentToolsPanel.js +61 -33
  246. package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
  247. package/dist/editor/settings/panels/ClusterInstancesPanel.js +2 -1
  248. package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
  249. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +3 -2
  250. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
  251. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +3 -2
  252. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
  253. package/dist/editor/settings/panels/StatusPanel.js +10 -7
  254. package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
  255. package/dist/editor/sidebar/Completions.js +1 -1
  256. package/dist/editor/sidebar/Completions.js.map +1 -1
  257. package/dist/editor/sidebar/ComponentTree.js +1 -1
  258. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  259. package/dist/editor/sidebar/OperationItem.js +1 -1
  260. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  261. package/dist/editor/sidebar/Workbox.js +18 -4
  262. package/dist/editor/sidebar/Workbox.js.map +1 -1
  263. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +3 -2
  264. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js.map +1 -1
  265. package/dist/editor/tree-indicators/GutterColumns.js +3 -2
  266. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  267. package/dist/editor/ui/DialogButtons.d.ts +3 -1
  268. package/dist/editor/ui/DialogButtons.js +3 -2
  269. package/dist/editor/ui/DialogButtons.js.map +1 -1
  270. package/dist/editor/ui/Icons.js +1 -1
  271. package/dist/editor/ui/Icons.js.map +1 -1
  272. package/dist/editor/ui/ItemCollectionEditor.js +2 -2
  273. package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
  274. package/dist/editor/ui/PublishItemDialog.js +4 -6
  275. package/dist/editor/ui/PublishItemDialog.js.map +1 -1
  276. package/dist/editor/ui/SimpleTabs.d.ts +2 -1
  277. package/dist/editor/ui/SimpleTabs.js +23 -5
  278. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  279. package/dist/editor/ui/Splitter.js +120 -3
  280. package/dist/editor/ui/Splitter.js.map +1 -1
  281. package/dist/editor/ui/splitterResizeEvent.d.ts +7 -0
  282. package/dist/editor/ui/splitterResizeEvent.js +6 -0
  283. package/dist/editor/ui/splitterResizeEvent.js.map +1 -1
  284. package/dist/editor/version-diff/versionDiffTargets.d.ts +1 -1
  285. package/dist/editor/workflowFields.d.ts +1 -0
  286. package/dist/editor/workflowFields.js +16 -0
  287. package/dist/editor/workflowFields.js.map +1 -0
  288. package/dist/index.d.ts +4 -2
  289. package/dist/index.js +3 -2
  290. package/dist/index.js.map +1 -1
  291. package/dist/revision.d.ts +2 -2
  292. package/dist/revision.js +2 -2
  293. package/dist/splash-screen/ModernSplashScreen.js +20 -11
  294. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  295. package/dist/splash-screen/NewPage.js +26 -7
  296. package/dist/splash-screen/NewPage.js.map +1 -1
  297. package/dist/task-board/TaskBoardWorkspace.js +154 -121
  298. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  299. package/dist/task-board/components/CreateTaskDialog.js +1 -1
  300. package/dist/task-board/components/CreateTaskDialog.js.map +1 -1
  301. package/dist/task-board/components/ProjectDashboard.d.ts +12 -22
  302. package/dist/task-board/components/ProjectDashboard.js +120 -108
  303. package/dist/task-board/components/ProjectDashboard.js.map +1 -1
  304. package/dist/task-board/components/ProjectOverviewContent.js +3 -0
  305. package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
  306. package/dist/task-board/components/ProjectPropertiesPanel.d.ts +2 -0
  307. package/dist/task-board/components/ProjectPropertiesPanel.js +7 -4
  308. package/dist/task-board/components/ProjectPropertiesPanel.js.map +1 -1
  309. package/dist/task-board/components/ProjectSettingsDialog.d.ts +16 -0
  310. package/dist/task-board/components/ProjectSettingsDialog.js +55 -47
  311. package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
  312. package/dist/task-board/components/TaskAgentPanel.js +6 -5
  313. package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
  314. package/dist/task-board/components/TaskAssigneePicker.js +3 -2
  315. package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
  316. package/dist/task-board/components/TaskAttachmentsSection.js +1 -1
  317. package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
  318. package/dist/task-board/components/TaskBoardHomeView.d.ts +7 -0
  319. package/dist/task-board/components/TaskBoardHomeView.js +21 -0
  320. package/dist/task-board/components/TaskBoardHomeView.js.map +1 -0
  321. package/dist/task-board/components/TaskBoardProjectListSidebar.js +74 -12
  322. package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
  323. package/dist/task-board/components/TaskBoardTitlebar.js +9 -52
  324. package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
  325. package/dist/task-board/components/TaskCard.js +5 -13
  326. package/dist/task-board/components/TaskCard.js.map +1 -1
  327. package/dist/task-board/components/TaskRow.js +3 -2
  328. package/dist/task-board/components/TaskRow.js.map +1 -1
  329. package/dist/task-board/taskBoardNavStore.d.ts +0 -2
  330. package/dist/task-board/taskBoardNavStore.js +0 -2
  331. package/dist/task-board/taskBoardNavStore.js.map +1 -1
  332. package/dist/task-board/views/DependencyGraphView.js +3 -2
  333. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  334. package/dist/task-board/views/KanbanView.js +161 -38
  335. package/dist/task-board/views/KanbanView.js.map +1 -1
  336. package/dist/task-board/views/ListView.js +1 -2
  337. package/dist/task-board/views/ListView.js.map +1 -1
  338. package/dist/task-board/views/WizardView.d.ts +2 -0
  339. package/dist/task-board/views/WizardView.js +7 -4
  340. package/dist/task-board/views/WizardView.js.map +1 -1
  341. package/package.json +1 -2
  342. package/styles.css +4 -3
@@ -0,0 +1,82 @@
1
+ import type { AgentChatMessage } from "../../services/agentService";
2
+ import type { QuestionnaireParameters, QuestionnaireQuestion, QuestionnaireResult } from "../dialogs/agentDialogTypes";
3
+ import type { AgentSessionToolResultMessageApply } from "./agentSessionState";
4
+ export type QuestionnaireRecapStatus = "success" | "cancelled";
5
+ export interface QuestionnaireRecapOption {
6
+ id: string;
7
+ label: string;
8
+ }
9
+ export interface QuestionnaireRecapItem {
10
+ id?: string;
11
+ name?: string;
12
+ path?: string;
13
+ includeSubitems?: boolean;
14
+ }
15
+ export interface QuestionnaireRecapDocument {
16
+ fileName: string;
17
+ fileSize?: number;
18
+ contentType?: string;
19
+ }
20
+ export interface QuestionnaireRecapRow {
21
+ id: string;
22
+ prompt: string;
23
+ type: NonNullable<QuestionnaireQuestion["type"]>;
24
+ optional: boolean;
25
+ answered: boolean;
26
+ selectedOptions: QuestionnaireRecapOption[];
27
+ selectedItems: QuestionnaireRecapItem[];
28
+ uploadedDocuments: QuestionnaireRecapDocument[];
29
+ freetext?: string;
30
+ }
31
+ export interface QuestionnaireRecapData {
32
+ title: string;
33
+ description?: string;
34
+ status: QuestionnaireRecapStatus;
35
+ rows: QuestionnaireRecapRow[];
36
+ }
37
+ /**
38
+ * Builds the read-only recap data for a completed (or cancelled)
39
+ * ask-questionnaire tool call.
40
+ *
41
+ * The persisted functionResult is the bare QuestionnaireSuccessResult JSON
42
+ * ({status, answerCount, answers: [{questionId, question, selectedOptions:
43
+ * [{id,label}], selectedItems, uploadedDocuments, freetext}]}) with question
44
+ * prompts and option labels already denormalized by the backend. The question
45
+ * list (incl. skipped optional questions) comes from functionArguments;
46
+ * when arguments are unparsable the rows are synthesized from the answers.
47
+ *
48
+ * Returns null when the tool call is not an ask-questionnaire call or has no
49
+ * parsable result (e.g. validation errors surface via functionError only).
50
+ */
51
+ export declare function parseQuestionnaireRecap(input: {
52
+ functionName?: string;
53
+ functionArguments?: unknown;
54
+ functionResult?: unknown;
55
+ functionError?: unknown;
56
+ }): QuestionnaireRecapData | null;
57
+ /**
58
+ * Frontend mirror of the backend QuestionnaireAnswerSummaryBuilder: turns the
59
+ * just-submitted QuestionnaireResult into the same QuestionnaireSuccessResult
60
+ * JSON the backend persists as the tool call's functionResult. Used to bridge
61
+ * the gap between submitting a questionnaire and the backend's toolResult
62
+ * frame arriving, so the recap renders immediately.
63
+ */
64
+ export declare function buildOptimisticQuestionnaireResultJson(parameters: QuestionnaireParameters | undefined, result: QuestionnaireResult | null): string;
65
+ /**
66
+ * Builds the transcript apply payload for an optimistic questionnaire tool
67
+ * result, or null when nothing should be applied: synthetic dialogs without a
68
+ * toolCallId, no matching transcript tool call, or a call that already carries
69
+ * a real result. Tool calls listed in reapplyToolCallIds hold a PRIOR
70
+ * optimistic result and may be overwritten by a newer resolution (a replayed
71
+ * dialog after a failed submit POST resolves a second time).
72
+ */
73
+ export declare function buildOptimisticQuestionnaireToolResultApply(input: {
74
+ transcript: AgentChatMessage[];
75
+ request: {
76
+ dialogType: string;
77
+ toolCallId?: string;
78
+ parameters?: unknown;
79
+ };
80
+ result: unknown | null;
81
+ reapplyToolCallIds?: ReadonlySet<string>;
82
+ }): AgentSessionToolResultMessageApply | null;
@@ -0,0 +1,277 @@
1
+ import { parseToolResultValue } from "../agentMessageConversion";
2
+ import { normalizeToolName, parseJsonObject, stringOrNull, } from "./agentQuestionnaireTranscriptRecovery";
3
+ const QUESTION_TYPES = [
4
+ "options",
5
+ "item-picker",
6
+ "item-collection",
7
+ "file-upload",
8
+ ];
9
+ function normalizeQuestionType(value) {
10
+ return QUESTION_TYPES.find((type) => type === value) ?? "options";
11
+ }
12
+ function toRecapOptions(value) {
13
+ if (!Array.isArray(value)) {
14
+ return [];
15
+ }
16
+ const options = [];
17
+ for (const entry of value) {
18
+ if (typeof entry === "string" && entry.trim()) {
19
+ options.push({ id: entry, label: entry });
20
+ continue;
21
+ }
22
+ if (entry && typeof entry === "object") {
23
+ const id = stringOrNull(entry.id);
24
+ const label = stringOrNull(entry.label);
25
+ if (id || label) {
26
+ options.push({ id: id ?? label ?? "", label: label ?? id ?? "" });
27
+ }
28
+ }
29
+ }
30
+ return options;
31
+ }
32
+ function toRecapItems(value) {
33
+ if (!Array.isArray(value)) {
34
+ return [];
35
+ }
36
+ const items = [];
37
+ for (const entry of value) {
38
+ if (!entry || typeof entry !== "object")
39
+ continue;
40
+ const item = entry;
41
+ const id = stringOrNull(item.id) ?? undefined;
42
+ const name = stringOrNull(item.name) ?? undefined;
43
+ const path = stringOrNull(item.path) ?? undefined;
44
+ if (!id && !name && !path)
45
+ continue;
46
+ items.push({
47
+ id,
48
+ name,
49
+ path,
50
+ includeSubitems: item.includeSubitems === true,
51
+ });
52
+ }
53
+ return items;
54
+ }
55
+ function toRecapDocuments(value) {
56
+ if (!Array.isArray(value)) {
57
+ return [];
58
+ }
59
+ const documents = [];
60
+ for (const entry of value) {
61
+ if (!entry || typeof entry !== "object")
62
+ continue;
63
+ const document = entry;
64
+ const fileName = stringOrNull(document.fileName);
65
+ if (!fileName)
66
+ continue;
67
+ documents.push({
68
+ fileName,
69
+ fileSize: typeof document.fileSize === "number" &&
70
+ Number.isFinite(document.fileSize)
71
+ ? document.fileSize
72
+ : undefined,
73
+ contentType: stringOrNull(document.contentType) ?? undefined,
74
+ });
75
+ }
76
+ return documents;
77
+ }
78
+ function toRecapAnswer(value) {
79
+ if (!value || typeof value !== "object") {
80
+ return null;
81
+ }
82
+ const answer = value;
83
+ const questionId = stringOrNull(answer.questionId);
84
+ if (!questionId) {
85
+ return null;
86
+ }
87
+ return {
88
+ questionId,
89
+ question: stringOrNull(answer.question) ?? undefined,
90
+ selectedOptions: toRecapOptions(answer.selectedOptions),
91
+ selectedItems: toRecapItems(answer.selectedItems),
92
+ uploadedDocuments: toRecapDocuments(answer.uploadedDocuments),
93
+ freetext: stringOrNull(answer.freetext) ?? undefined,
94
+ };
95
+ }
96
+ function answerHasContent(answer) {
97
+ return (answer.selectedOptions.length > 0 ||
98
+ answer.selectedItems.length > 0 ||
99
+ answer.uploadedDocuments.length > 0 ||
100
+ !!answer.freetext);
101
+ }
102
+ /**
103
+ * Builds the read-only recap data for a completed (or cancelled)
104
+ * ask-questionnaire tool call.
105
+ *
106
+ * The persisted functionResult is the bare QuestionnaireSuccessResult JSON
107
+ * ({status, answerCount, answers: [{questionId, question, selectedOptions:
108
+ * [{id,label}], selectedItems, uploadedDocuments, freetext}]}) with question
109
+ * prompts and option labels already denormalized by the backend. The question
110
+ * list (incl. skipped optional questions) comes from functionArguments;
111
+ * when arguments are unparsable the rows are synthesized from the answers.
112
+ *
113
+ * Returns null when the tool call is not an ask-questionnaire call or has no
114
+ * parsable result (e.g. validation errors surface via functionError only).
115
+ */
116
+ export function parseQuestionnaireRecap(input) {
117
+ if (normalizeToolName(input.functionName) !== "ask-questionnaire") {
118
+ return null;
119
+ }
120
+ const result = parseToolResultValue(input.functionResult);
121
+ if (!result || typeof result !== "object" || Array.isArray(result)) {
122
+ return null;
123
+ }
124
+ const resultRecord = result;
125
+ const status = resultRecord.status;
126
+ if (status !== "success" && status !== "cancelled") {
127
+ return null;
128
+ }
129
+ const answers = (Array.isArray(resultRecord.answers) ? resultRecord.answers : [])
130
+ .map(toRecapAnswer)
131
+ .filter((answer) => !!answer);
132
+ const answersByQuestionId = new Map(answers.map((answer) => [answer.questionId, answer]));
133
+ const parsedArguments = parseJsonObject(input.functionArguments);
134
+ const parameterSource = parseJsonObject(parsedArguments?.parameters) ?? parsedArguments;
135
+ const questions = Array.isArray(parameterSource?.questions)
136
+ ? parameterSource.questions
137
+ : null;
138
+ const rows = [];
139
+ const consumedQuestionIds = new Set();
140
+ if (questions) {
141
+ for (const entry of questions) {
142
+ if (!entry || typeof entry !== "object")
143
+ continue;
144
+ const question = entry;
145
+ const questionId = stringOrNull(question.id);
146
+ if (!questionId)
147
+ continue;
148
+ consumedQuestionIds.add(questionId);
149
+ const answer = answersByQuestionId.get(questionId);
150
+ rows.push({
151
+ id: questionId,
152
+ prompt: stringOrNull(question.prompt) ?? answer?.question ?? questionId,
153
+ type: normalizeQuestionType(question.type),
154
+ optional: question.optional === true,
155
+ answered: !!answer && answerHasContent(answer),
156
+ selectedOptions: answer?.selectedOptions ?? [],
157
+ selectedItems: answer?.selectedItems ?? [],
158
+ uploadedDocuments: answer?.uploadedDocuments ?? [],
159
+ freetext: answer?.freetext,
160
+ });
161
+ }
162
+ }
163
+ // Answers without a matching question definition (or all answers when the
164
+ // arguments were unparsable) still get a row so submitted data stays visible.
165
+ for (const answer of answers) {
166
+ if (consumedQuestionIds.has(answer.questionId))
167
+ continue;
168
+ rows.push({
169
+ id: answer.questionId,
170
+ prompt: answer.question ?? answer.questionId,
171
+ type: answer.selectedItems.length > 0
172
+ ? "item-picker"
173
+ : answer.uploadedDocuments.length > 0
174
+ ? "file-upload"
175
+ : "options",
176
+ optional: false,
177
+ answered: answerHasContent(answer),
178
+ selectedOptions: answer.selectedOptions,
179
+ selectedItems: answer.selectedItems,
180
+ uploadedDocuments: answer.uploadedDocuments,
181
+ freetext: answer.freetext,
182
+ });
183
+ }
184
+ if (rows.length === 0) {
185
+ return null;
186
+ }
187
+ return {
188
+ title: stringOrNull(parsedArguments?.title) ?? "Questionnaire",
189
+ description: stringOrNull(parsedArguments?.description) ?? undefined,
190
+ status,
191
+ rows,
192
+ };
193
+ }
194
+ /**
195
+ * Frontend mirror of the backend QuestionnaireAnswerSummaryBuilder: turns the
196
+ * just-submitted QuestionnaireResult into the same QuestionnaireSuccessResult
197
+ * JSON the backend persists as the tool call's functionResult. Used to bridge
198
+ * the gap between submitting a questionnaire and the backend's toolResult
199
+ * frame arriving, so the recap renders immediately.
200
+ */
201
+ export function buildOptimisticQuestionnaireResultJson(parameters, result) {
202
+ if (!result) {
203
+ return JSON.stringify({
204
+ status: "cancelled",
205
+ answerCount: 0,
206
+ answers: [],
207
+ });
208
+ }
209
+ const questions = Array.isArray(parameters?.questions)
210
+ ? parameters.questions
211
+ : [];
212
+ const answers = Array.isArray(result.answers) ? result.answers : [];
213
+ const answerSummaries = answers.map((answer) => {
214
+ const question = questions.find((q) => q.id === answer.questionId);
215
+ const selectedItems = answer.selectedItems ?? [];
216
+ return {
217
+ questionId: answer.questionId,
218
+ question: question?.prompt ?? answer.questionId,
219
+ selectedOptions: (answer.selectedOptions ?? []).map((optionId) => ({
220
+ id: optionId,
221
+ label: question?.options?.find((option) => option.id === optionId)?.label ??
222
+ optionId,
223
+ })),
224
+ selectedItems,
225
+ selectedItemPaths: selectedItems
226
+ .map((item) => item?.path)
227
+ .filter((path) => !!path?.trim()),
228
+ uploadedDocuments: answer.uploadedDocuments ?? [],
229
+ freetext: answer.freetext,
230
+ };
231
+ });
232
+ return JSON.stringify({
233
+ status: "success",
234
+ answerCount: answerSummaries.length,
235
+ answers: answerSummaries,
236
+ });
237
+ }
238
+ /**
239
+ * Builds the transcript apply payload for an optimistic questionnaire tool
240
+ * result, or null when nothing should be applied: synthetic dialogs without a
241
+ * toolCallId, no matching transcript tool call, or a call that already carries
242
+ * a real result. Tool calls listed in reapplyToolCallIds hold a PRIOR
243
+ * optimistic result and may be overwritten by a newer resolution (a replayed
244
+ * dialog after a failed submit POST resolves a second time).
245
+ */
246
+ export function buildOptimisticQuestionnaireToolResultApply(input) {
247
+ const { transcript, request, result, reapplyToolCallIds } = input;
248
+ if (request.dialogType !== "questionnaire" || !request.toolCallId) {
249
+ return null;
250
+ }
251
+ const toolCallId = request.toolCallId;
252
+ for (let index = transcript.length - 1; index >= 0; index--) {
253
+ const message = transcript[index];
254
+ const toolCall = message?.toolCalls?.find((candidate) => candidate.toolCallId === toolCallId);
255
+ if (!message || !toolCall) {
256
+ continue;
257
+ }
258
+ const isResolved = toolCall.isCompleted ||
259
+ !!toolCall.functionResult ||
260
+ !!toolCall.functionError;
261
+ if (isResolved && !reapplyToolCallIds?.has(toolCallId)) {
262
+ return null;
263
+ }
264
+ return {
265
+ messageId: message.id,
266
+ toolCallId,
267
+ fallbackToolCall: {
268
+ ...toolCall,
269
+ functionResult: buildOptimisticQuestionnaireResultJson(request.parameters, result ?? null),
270
+ functionError: "",
271
+ isCompleted: true,
272
+ },
273
+ };
274
+ }
275
+ return null;
276
+ }
277
+ //# sourceMappingURL=agentQuestionnaireRecap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentQuestionnaireRecap.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentQuestionnaireRecap.ts"],"names":[],"mappings":"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"}
@@ -8,3 +8,6 @@ export declare function buildQuestionnaireDialogFromTranscript(input: {
8
8
  pendingDialog: AgentDiagnosticsPendingDialog;
9
9
  agentId: string;
10
10
  }): RecoveredQuestionnaireDialog | null;
11
+ export declare function normalizeToolName(functionName: string | undefined): string;
12
+ export declare function parseJsonObject(value: unknown): Record<string, any> | null;
13
+ export declare function stringOrNull(value: unknown): string | null;
@@ -55,13 +55,13 @@ function findPendingQuestionnaireToolCall(messages) {
55
55
  }
56
56
  return null;
57
57
  }
58
- function normalizeToolName(functionName) {
58
+ export function normalizeToolName(functionName) {
59
59
  return (functionName || "")
60
60
  .replace(/\s*\((?:approved|rejected|pending approval)\)\s*$/i, "")
61
61
  .trim()
62
62
  .toLowerCase();
63
63
  }
64
- function parseJsonObject(value) {
64
+ export function parseJsonObject(value) {
65
65
  if (!value) {
66
66
  return null;
67
67
  }
@@ -81,7 +81,7 @@ function parseJsonObject(value) {
81
81
  return null;
82
82
  }
83
83
  }
84
- function stringOrNull(value) {
84
+ export function stringOrNull(value) {
85
85
  return typeof value === "string" && value.trim() ? value : null;
86
86
  }
87
87
  //# sourceMappingURL=agentQuestionnaireTranscriptRecovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentQuestionnaireTranscriptRecovery.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentQuestionnaireTranscriptRecovery.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,9 @@ export declare function hasNonZeroLiveTotals(totals: AgentSessionLiveTotalsState
3
3
  export declare function liveTotalsFromStreamCost(cost: any): AgentSessionLiveTotalsState | null;
4
4
  export declare function liveTotalsFromToolResultData(data: any): AgentSessionLiveTotalsState | null;
5
5
  export declare function liveTotalsFromStatusTotals(totals: any): AgentSessionLiveTotalsState | null;
6
+ /**
7
+ * Sanitizes a per-category context breakdown (category key → tokens) coming from
8
+ * the stream cost payload or the persisted agent record.
9
+ */
10
+ export declare function parseContextBreakdown(raw: unknown): Record<string, number> | undefined;
6
11
  export declare function contextWindowStatusFromStreamCost(cost: any, model: string): AgentSessionContextWindowState | null;
@@ -87,6 +87,19 @@ export function liveTotalsFromStatusTotals(totals) {
87
87
  currency: totals.currency,
88
88
  };
89
89
  }
90
+ /**
91
+ * Sanitizes a per-category context breakdown (category key → tokens) coming from
92
+ * the stream cost payload or the persisted agent record.
93
+ */
94
+ export function parseContextBreakdown(raw) {
95
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
96
+ return undefined;
97
+ }
98
+ const entries = Object.entries(raw)
99
+ .map(([key, value]) => [key, Number(value)])
100
+ .filter(([, value]) => Number.isFinite(value) && value > 0);
101
+ return entries.length > 0 ? Object.fromEntries(entries) : undefined;
102
+ }
90
103
  export function contextWindowStatusFromStreamCost(cost, model) {
91
104
  const contextWindowRaw = cost?.contextWindow;
92
105
  const contextUsedRaw = cost?.contextUsed;
@@ -108,6 +121,7 @@ export function contextWindowStatusFromStreamCost(cost, model) {
108
121
  estimatedInputTokens,
109
122
  contextUsedPercent: (estimatedInputTokens / contextWindowTokens) * 100,
110
123
  model,
124
+ breakdown: parseContextBreakdown(cost?.contextBreakdown),
111
125
  };
112
126
  }
113
127
  //# sourceMappingURL=agentSessionLiveTotals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentSessionLiveTotals.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentSessionLiveTotals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentSessionLiveTotals.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentSessionLiveTotals.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { mergeMessagesById } from "../agentMessageGrouping";
2
+ import { parseContextBreakdown } from "./agentSessionLiveTotals";
2
3
  function isRunningAgentStatus(status) {
3
4
  return status === "running" || status === 1;
4
5
  }
@@ -55,6 +56,7 @@ export function buildLoadedContextWindowStatus(agentData) {
55
56
  ? (agentData.contextUsedTokens / agentData.contextWindowTokens) * 100
56
57
  : 0,
57
58
  model: agentData.model,
59
+ breakdown: parseContextBreakdown(agentData.contextBreakdown),
58
60
  };
59
61
  }
60
62
  export function parseLoadedAgentMetadata(agentData) {
@@ -1 +1 @@
1
- {"version":3,"file":"agentSessionSnapshot.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentSessionSnapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentSessionSnapshot.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/agentSessionSnapshot.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export function AgentFullPromptControls({ prompt, hasActivePlaceholderInput, hid
26
26
  !simpleMode &&
27
27
  !isInPlaceholderMode;
28
28
  const footerHasContent = shouldShowConfigControls || footerStatusContent;
29
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: cn("pointer-events-none relative z-20 -mt-10 mb-2 flex items-end gap-2 px-2 pb-2", "justify-end"), children: [shouldShowConfigControls ? (_jsxs("div", { className: "pointer-events-auto flex min-h-8 flex-wrap items-center justify-start gap-2", children: [readOnly ? (_jsx("span", { className: "rounded-badge badge-pad-sm bg-neutral-grey-5 text-2xs text-neutral-grey-50 shrink-0", title: "You have View-only access to this agent.", "data-testid": "agent-read-only-badge", children: "Read-only" })) : null, _jsx(AgentModeSelector, { mode: mode, options: modeOptions, readOnly: readOnly, onModeChange: onModeChange })] })) : null, _jsx(AgentPromptActionButtons, { isVoiceDisabled: isVoiceDisabled, isListening: isListening, isExecuting: isExecuting, sendDisabled: readOnly ||
29
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: cn("pointer-events-none relative z-20 -mt-10 mb-2 flex items-end gap-2 px-2 pb-2", "justify-end", environmentBadgeVisible && "pr-12"), children: [shouldShowConfigControls ? (_jsxs("div", { className: "pointer-events-auto flex min-h-8 flex-wrap items-center justify-start gap-2", children: [readOnly ? (_jsx("span", { className: "rounded-badge badge-pad-sm bg-neutral-grey-5 text-2xs text-neutral-grey-50 shrink-0", title: "You have View-only access to this agent.", "data-testid": "agent-read-only-badge", children: "Read-only" })) : null, _jsx(AgentModeSelector, { mode: mode, options: modeOptions, readOnly: readOnly, onModeChange: onModeChange })] })) : null, _jsx(AgentPromptActionButtons, { isVoiceDisabled: isVoiceDisabled, isListening: isListening, isExecuting: isExecuting, sendDisabled: readOnly ||
30
30
  (!isExecuting &&
31
31
  (pendingApprovalCount > 0 ||
32
32
  (!prompt.trim() && !hasActivePlaceholderInput) ||
@@ -1 +1 @@
1
- {"version":3,"file":"AgentFullPromptControls.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentFullPromptControls.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentFullPromptControls.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentFullPromptControls.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { MessageSquare, ArrowRight } from "lucide-react";
3
3
  import { cn } from "../../../../lib/utils";
4
- import { sanitizeHtml } from "../../../../lib/sanitize";
4
+ import { sanitizeHtml, sanitizeSvg } from "../../../../lib/sanitize";
5
+ import { ParheliaAgentIcon } from "../../../ui/Icons";
5
6
  export function AgentGreeting({ profile, onPromptClick, className, }) {
6
7
  const prompts = profile.prompts || [];
7
- return (_jsxs("div", { className: cn("flex h-full flex-col items-center justify-center p-8 text-center", className), children: [_jsxs("div", { className: "animate-in fade-in slide-in-from-bottom-4 duration-1000", children: [_jsx("h2", { className: "text-neutral-grey-100 mb-2 text-2xl font-semibold tracking-tight", children: profile.agentName || profile.name }), profile.greetingMessage ? (_jsx("div", { className: "prose prose-slate text-neutral-grey-50 mx-auto max-w-prose text-lg leading-relaxed", dangerouslySetInnerHTML: {
8
+ return (_jsxs("div", { className: cn("flex h-full flex-col items-center justify-center p-8 text-center", className), children: [_jsxs("div", { className: "animate-in fade-in slide-in-from-bottom-4 duration-1000", children: [_jsx("div", { className: "bg-neutral-grey-5 text-neutral-grey-100 mx-auto mb-5 flex size-16 items-center justify-center rounded-2xl", "data-testid": "agent-greeting-icon", children: profile.svgIcon ? (_jsx("div", { className: "size-8 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: {
9
+ __html: sanitizeSvg(profile.svgIcon),
10
+ } })) : (_jsx(ParheliaAgentIcon, { size: 32, strokeWidth: 1.5 })) }), _jsx("h2", { className: "text-neutral-grey-100 mb-3 text-2xl font-semibold tracking-tight", children: profile.agentName || profile.name }), profile.greetingMessage ? (_jsx("div", { className: "prose prose-slate text-neutral-grey-100 mx-auto max-w-xl text-3xl leading-snug font-semibold tracking-tight", dangerouslySetInnerHTML: {
8
11
  __html: sanitizeHtml(profile.greetingMessage),
9
12
  } })) : (_jsx("p", { className: "text-neutral-grey-50 mx-auto max-w-prose text-lg leading-relaxed", children: profile.description || "How can I help you today?" }))] }), prompts.length > 0 && (_jsx("div", { className: "animate-in fade-in slide-in-from-bottom-6 mt-12 flex w-full max-w-2xl flex-wrap justify-center gap-3 duration-1000 [animation-delay:400ms]", children: prompts.map((prompt, index) => (_jsxs("button", { onClick: () => onPromptClick?.(prompt.prompt), className: "group border-border-default text-neutral-grey-100 hover:border-feedback-blue hover:text-feedback-blue flex items-center gap-3 rounded-2xl border bg-white/50 px-5 py-3 text-xs font-medium backdrop-blur-sm transition-all hover:bg-white hover:shadow-md active:scale-95", children: [_jsx(MessageSquare, { size: 16, className: "text-neutral-grey-50 group-hover:text-feedback-blue transition-colors" }), _jsx("span", { children: prompt.title }), _jsx(ArrowRight, { size: 14, className: "ml-1 -translate-x-2 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100" })] }, index))) }))] }));
10
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AgentGreeting.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentGreeting.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQxD,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,aAAa,EACb,SAAS,GACU;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IAEtC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,kEAAkE,EAClE,SAAS,CACV,aAED,eAAK,SAAS,EAAC,yDAAyD,aACtE,aAAI,SAAS,EAAC,kEAAkE,YAC7E,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,GAC/B,EAEJ,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CACzB,cACE,SAAS,EAAC,oFAAoF,EAC9F,uBAAuB,EAAE;4BACvB,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC;yBAC9C,GACD,CACH,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,kEAAkE,YAC5E,OAAO,CAAC,WAAW,IAAI,2BAA2B,GACjD,CACL,IACG,EAEL,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,cAAK,SAAS,EAAC,4IAA4I,YACxJ,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,kBAEE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7C,SAAS,EAAC,2QAA2Q,aAErR,KAAC,aAAa,IACZ,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,uEAAuE,GACjF,EACF,yBAAO,MAAM,CAAC,KAAK,GAAQ,EAC3B,KAAC,UAAU,IACT,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,gGAAgG,GAC1G,KAZG,KAAK,CAaH,CACV,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"AgentGreeting.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/AgentGreeting.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAQtD,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,aAAa,EACb,SAAS,GACU;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IAEtC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,kEAAkE,EAClE,SAAS,CACV,aAED,eAAK,SAAS,EAAC,yDAAyD,aACtE,cACE,SAAS,EAAC,2GAA2G,iBACzG,qBAAqB,YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CACjB,cACE,SAAS,EAAC,sCAAsC,EAChD,uBAAuB,EAAE;gCACvB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;6BACrC,GACD,CACH,CAAC,CAAC,CAAC,CACF,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,GAAI,CAClD,GACG,EAEN,aAAI,SAAS,EAAC,kEAAkE,YAC7E,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,GAC/B,EAEJ,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CACzB,cACE,SAAS,EAAC,6GAA6G,EACvH,uBAAuB,EAAE;4BACvB,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC;yBAC9C,GACD,CACH,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,kEAAkE,YAC5E,OAAO,CAAC,WAAW,IAAI,2BAA2B,GACjD,CACL,IACG,EAEL,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,cAAK,SAAS,EAAC,4IAA4I,YACxJ,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,kBAEE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7C,SAAS,EAAC,2QAA2Q,aAErR,KAAC,aAAa,IACZ,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,uEAAuE,GACjF,EACF,yBAAO,MAAM,CAAC,KAAK,GAAQ,EAC3B,KAAC,UAAU,IACT,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,gGAAgG,GAC1G,KAZG,KAAK,CAaH,CACV,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type Agent, type AgentChatMessage, type AgentMetadata } from "../../../services/agentService";
2
+ /**
3
+ * Progress header for the taskboard project created by this agent (tracked in
4
+ * the agent context as additionalData.createdProjectId). Rendered directly
5
+ * above the prompt composer; the expand button opens the project in the
6
+ * taskboard workspace.
7
+ */
8
+ export declare function AgentProjectProgress({ agent, agentMetadata, messages, }: {
9
+ agent?: Agent | null;
10
+ agentMetadata: AgentMetadata | null | undefined;
11
+ messages?: AgentChatMessage[];
12
+ }): import("react/jsx-runtime").JSX.Element | null;