@parhelia/core 0.1.12786 → 0.1.12787

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 (593) hide show
  1. package/dist/config/config.js +8 -0
  2. package/dist/config/config.js.map +1 -1
  3. package/dist/config/types.d.ts +8 -3
  4. package/dist/config/types.js.map +1 -1
  5. package/dist/editor/ContentTree.js +4 -0
  6. package/dist/editor/ContentTree.js.map +1 -1
  7. package/dist/editor/Editor.d.ts +1 -1
  8. package/dist/editor/Editor.js +10 -5
  9. package/dist/editor/Editor.js.map +1 -1
  10. package/dist/editor/ai/AgentTerminal.d.ts +2 -38
  11. package/dist/editor/ai/AgentTerminal.js +6 -6503
  12. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  13. package/dist/editor/ai/Agents.js +37 -17
  14. package/dist/editor/ai/Agents.js.map +1 -1
  15. package/dist/editor/ai/HeartbeatDiagnosticsPanel.d.ts +2 -2
  16. package/dist/editor/ai/HeartbeatDiagnosticsPanel.js +11 -7
  17. package/dist/editor/ai/HeartbeatDiagnosticsPanel.js.map +1 -1
  18. package/dist/editor/ai/agentDiagnostics.d.ts +26 -0
  19. package/dist/editor/ai/agentDiagnostics.js +39 -0
  20. package/dist/editor/ai/agentDiagnostics.js.map +1 -1
  21. package/dist/editor/ai/agentDiagnostics.test.js +118 -1
  22. package/dist/editor/ai/agentDiagnostics.test.js.map +1 -1
  23. package/dist/editor/ai/agentWatchdogStatusRegistry.d.ts +1 -0
  24. package/dist/editor/ai/agentWatchdogStatusRegistry.js.map +1 -1
  25. package/dist/editor/ai/terminal/agentOptimisticMessage.d.ts +1 -0
  26. package/dist/editor/ai/terminal/agentOptimisticMessage.js +4 -0
  27. package/dist/editor/ai/terminal/agentOptimisticMessage.js.map +1 -0
  28. package/dist/editor/ai/terminal/agentPromptPlaceholders.d.ts +5 -0
  29. package/dist/editor/ai/terminal/agentPromptPlaceholders.js +8 -0
  30. package/dist/editor/ai/terminal/agentPromptPlaceholders.js.map +1 -0
  31. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.d.ts +10 -0
  32. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js +87 -0
  33. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js.map +1 -0
  34. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.test.d.ts +1 -0
  35. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.test.js +109 -0
  36. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.test.js.map +1 -0
  37. package/dist/editor/ai/terminal/agentSessionCostLimit.d.ts +7 -0
  38. package/dist/editor/ai/terminal/agentSessionCostLimit.js +27 -0
  39. package/dist/editor/ai/terminal/agentSessionCostLimit.js.map +1 -0
  40. package/dist/editor/ai/terminal/agentSessionLiveTotals.d.ts +6 -0
  41. package/dist/editor/ai/terminal/agentSessionLiveTotals.js +112 -0
  42. package/dist/editor/ai/terminal/agentSessionLiveTotals.js.map +1 -0
  43. package/dist/editor/ai/terminal/agentSessionMetadata.d.ts +2 -0
  44. package/dist/editor/ai/terminal/agentSessionMetadata.js +24 -0
  45. package/dist/editor/ai/terminal/agentSessionMetadata.js.map +1 -0
  46. package/dist/editor/ai/terminal/agentSessionSelectors.d.ts +65 -0
  47. package/dist/editor/ai/terminal/agentSessionSelectors.js +232 -0
  48. package/dist/editor/ai/terminal/agentSessionSelectors.js.map +1 -0
  49. package/dist/editor/ai/terminal/agentSessionSelectors.test.d.ts +1 -0
  50. package/dist/editor/ai/terminal/agentSessionSelectors.test.js +219 -0
  51. package/dist/editor/ai/terminal/agentSessionSelectors.test.js.map +1 -0
  52. package/dist/editor/ai/terminal/agentSessionSnapshot.d.ts +16 -0
  53. package/dist/editor/ai/terminal/agentSessionSnapshot.js +75 -0
  54. package/dist/editor/ai/terminal/agentSessionSnapshot.js.map +1 -0
  55. package/dist/editor/ai/terminal/agentSessionSnapshot.test.d.ts +1 -0
  56. package/dist/editor/ai/terminal/agentSessionSnapshot.test.js +136 -0
  57. package/dist/editor/ai/terminal/agentSessionSnapshot.test.js.map +1 -0
  58. package/dist/editor/ai/terminal/agentSessionState.d.ts +130 -0
  59. package/dist/editor/ai/terminal/agentSessionState.js +738 -0
  60. package/dist/editor/ai/terminal/agentSessionState.js.map +1 -0
  61. package/dist/editor/ai/terminal/agentSessionState.test.d.ts +1 -0
  62. package/dist/editor/ai/terminal/agentSessionState.test.js +456 -0
  63. package/dist/editor/ai/terminal/agentSessionState.test.js.map +1 -0
  64. package/dist/editor/ai/terminal/agentStartRequest.d.ts +14 -0
  65. package/dist/editor/ai/terminal/agentStartRequest.js +16 -0
  66. package/dist/editor/ai/terminal/agentStartRequest.js.map +1 -0
  67. package/dist/editor/ai/terminal/agentSubmitErrors.d.ts +1 -0
  68. package/dist/editor/ai/terminal/agentSubmitErrors.js +9 -0
  69. package/dist/editor/ai/terminal/agentSubmitErrors.js.map +1 -0
  70. package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -0
  71. package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.d.ts +10 -0
  72. package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.js +24 -0
  73. package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.js.map +1 -0
  74. package/dist/editor/ai/{AgentCostDisplay.js → terminal/components/AgentCostDisplay.js} +2 -2
  75. package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -0
  76. package/dist/editor/ai/{AgentDocumentList.js → terminal/components/AgentDocumentList.js} +4 -4
  77. package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -0
  78. package/dist/editor/ai/terminal/components/AgentFullPromptControls.d.ts +36 -0
  79. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +34 -0
  80. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -0
  81. package/dist/editor/ai/{AgentGreeting.d.ts → terminal/components/AgentGreeting.d.ts} +1 -1
  82. package/dist/editor/ai/{AgentGreeting.js → terminal/components/AgentGreeting.js} +3 -3
  83. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -0
  84. package/dist/editor/ai/terminal/components/AgentLoadingContent.d.ts +1 -0
  85. package/dist/editor/ai/terminal/components/AgentLoadingContent.js +6 -0
  86. package/dist/editor/ai/terminal/components/AgentLoadingContent.js.map +1 -0
  87. package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.d.ts +7 -0
  88. package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js +8 -0
  89. package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js.map +1 -0
  90. package/dist/editor/ai/terminal/components/AgentModeSelector.d.ts +8 -0
  91. package/dist/editor/ai/terminal/components/AgentModeSelector.js +13 -0
  92. package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -0
  93. package/dist/editor/ai/terminal/components/AgentParentLink.d.ts +6 -0
  94. package/dist/editor/ai/terminal/components/AgentParentLink.js +9 -0
  95. package/dist/editor/ai/terminal/components/AgentParentLink.js.map +1 -0
  96. package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.d.ts +8 -0
  97. package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js +10 -0
  98. package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js.map +1 -0
  99. package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.d.ts +15 -0
  100. package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js +18 -0
  101. package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js.map +1 -0
  102. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.d.ts +14 -0
  103. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +17 -0
  104. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -0
  105. package/dist/editor/ai/terminal/components/AgentPromptComposer.d.ts +7 -0
  106. package/dist/editor/ai/terminal/components/AgentPromptComposer.js +7 -0
  107. package/dist/editor/ai/terminal/components/AgentPromptComposer.js.map +1 -0
  108. package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +29 -0
  109. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +20 -0
  110. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -0
  111. package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.d.ts +5 -0
  112. package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.js +7 -0
  113. package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.js.map +1 -0
  114. package/dist/editor/ai/terminal/components/AgentRunStatusBanners.d.ts +8 -0
  115. package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js +32 -0
  116. package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js.map +1 -0
  117. package/dist/editor/ai/terminal/components/AgentSettingsContent.d.ts +52 -0
  118. package/dist/editor/ai/terminal/components/AgentSettingsContent.js +9 -0
  119. package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -0
  120. package/dist/editor/ai/terminal/components/AgentSettingsPopover.d.ts +7 -0
  121. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +14 -0
  122. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -0
  123. package/dist/editor/ai/terminal/components/AgentSettingsSections.d.ts +43 -0
  124. package/dist/editor/ai/terminal/components/AgentSettingsSections.js +33 -0
  125. package/dist/editor/ai/terminal/components/AgentSettingsSections.js.map +1 -0
  126. package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.d.ts +21 -0
  127. package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.js +46 -0
  128. package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.js.map +1 -0
  129. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +26 -0
  130. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js +10 -0
  131. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -0
  132. package/dist/editor/ai/terminal/components/AgentSummaryErrorNotice.d.ts +6 -0
  133. package/dist/editor/ai/terminal/components/AgentSummaryErrorNotice.js +10 -0
  134. package/dist/editor/ai/terminal/components/AgentSummaryErrorNotice.js.map +1 -0
  135. package/dist/editor/ai/terminal/components/AgentSummaryPlaceholder.d.ts +10 -0
  136. package/dist/editor/ai/terminal/components/AgentSummaryPlaceholder.js +13 -0
  137. package/dist/editor/ai/terminal/components/AgentSummaryPlaceholder.js.map +1 -0
  138. package/dist/editor/ai/terminal/components/AgentSummaryPromptActions.d.ts +12 -0
  139. package/dist/editor/ai/terminal/components/AgentSummaryPromptActions.js +21 -0
  140. package/dist/editor/ai/terminal/components/AgentSummaryPromptActions.js.map +1 -0
  141. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +21 -0
  142. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js +13 -0
  143. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -0
  144. package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.d.ts +23 -0
  145. package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.js +64 -0
  146. package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.js.map +1 -0
  147. package/dist/editor/ai/terminal/components/AgentTerminalDialogHost.d.ts +13 -0
  148. package/dist/editor/ai/terminal/components/AgentTerminalDialogHost.js +10 -0
  149. package/dist/editor/ai/terminal/components/AgentTerminalDialogHost.js.map +1 -0
  150. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +20 -0
  151. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +27 -0
  152. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -0
  153. package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.d.ts +5 -0
  154. package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js +7 -0
  155. package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js.map +1 -0
  156. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +48 -0
  157. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +13 -0
  158. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -0
  159. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +20 -0
  160. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +41 -0
  161. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -0
  162. package/dist/editor/ai/{AgentTerminalStatusBar.d.ts → terminal/components/AgentTerminalStatusBar.d.ts} +11 -5
  163. package/dist/editor/ai/{AgentTerminalStatusBar.js → terminal/components/AgentTerminalStatusBar.js} +12 -13
  164. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -0
  165. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +45 -0
  166. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +17 -0
  167. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -0
  168. package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +15 -0
  169. package/dist/editor/ai/terminal/components/AgentTerminalView.js +15 -0
  170. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -0
  171. package/dist/editor/ai/terminal/components/AgentThinkingDots.d.ts +5 -0
  172. package/dist/editor/ai/terminal/components/AgentThinkingDots.js +13 -0
  173. package/dist/editor/ai/terminal/components/AgentThinkingDots.js.map +1 -0
  174. package/dist/editor/ai/{AiResponseMessage.d.ts → terminal/components/AiResponseMessage.d.ts} +2 -2
  175. package/dist/editor/ai/{AiResponseMessage.js → terminal/components/AiResponseMessage.js} +9 -9
  176. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -0
  177. package/dist/editor/ai/{ContextInfoBar.d.ts → terminal/components/ContextInfoBar.d.ts} +1 -1
  178. package/dist/editor/ai/{ContextInfoBar.js → terminal/components/ContextInfoBar.js} +5 -5
  179. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -0
  180. package/dist/editor/ai/{EditOperationsPanel.d.ts → terminal/components/EditOperationsPanel.d.ts} +1 -1
  181. package/dist/editor/ai/{EditOperationsPanel.js → terminal/components/EditOperationsPanel.js} +2 -2
  182. package/dist/editor/ai/terminal/components/EditOperationsPanel.js.map +1 -0
  183. package/dist/editor/ai/{HeartbeatMessage.d.ts → terminal/components/HeartbeatMessage.d.ts} +1 -1
  184. package/dist/editor/ai/{HeartbeatMessage.js → terminal/components/HeartbeatMessage.js} +1 -1
  185. package/dist/editor/ai/terminal/components/HeartbeatMessage.js.map +1 -0
  186. package/dist/editor/ai/{InitialThinkingSplash.js → terminal/components/InitialThinkingSplash.js} +2 -2
  187. package/dist/editor/ai/terminal/components/InitialThinkingSplash.js.map +1 -0
  188. package/dist/editor/ai/{QueuedPromptsPanel.d.ts → terminal/components/QueuedPromptsPanel.d.ts} +1 -1
  189. package/dist/editor/ai/{QueuedPromptsPanel.js → terminal/components/QueuedPromptsPanel.js} +2 -2
  190. package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js.map +1 -0
  191. package/dist/editor/ai/{SpawnedAgentsPanel.d.ts → terminal/components/SpawnedAgentsPanel.d.ts} +1 -1
  192. package/dist/editor/ai/{SpawnedAgentsPanel.js → terminal/components/SpawnedAgentsPanel.js} +2 -2
  193. package/dist/editor/ai/terminal/components/SpawnedAgentsPanel.js.map +1 -0
  194. package/dist/editor/ai/{TodoListPanel.d.ts → terminal/components/TodoListPanel.d.ts} +1 -1
  195. package/dist/editor/ai/{TodoListPanel.js → terminal/components/TodoListPanel.js} +1 -1
  196. package/dist/editor/ai/terminal/components/TodoListPanel.js.map +1 -0
  197. package/dist/editor/ai/{ToolCallDisplay.js → terminal/components/ToolCallDisplay.js} +6 -6
  198. package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -0
  199. package/dist/editor/ai/{UserMessage.d.ts → terminal/components/UserMessage.d.ts} +1 -1
  200. package/dist/editor/ai/{UserMessage.js → terminal/components/UserMessage.js} +3 -3
  201. package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -0
  202. package/dist/editor/ai/terminal/types.d.ts +135 -0
  203. package/dist/editor/ai/terminal/types.js +2 -0
  204. package/dist/editor/ai/terminal/types.js.map +1 -0
  205. package/dist/editor/ai/terminal/useAgentActiveStreaming.d.ts +6 -0
  206. package/dist/editor/ai/terminal/useAgentActiveStreaming.js +9 -0
  207. package/dist/editor/ai/terminal/useAgentActiveStreaming.js.map +1 -0
  208. package/dist/editor/ai/terminal/useAgentAssignedSkillsSync.d.ts +5 -0
  209. package/dist/editor/ai/terminal/useAgentAssignedSkillsSync.js +19 -0
  210. package/dist/editor/ai/terminal/useAgentAssignedSkillsSync.js.map +1 -0
  211. package/dist/editor/ai/terminal/useAgentBrowserCapture.d.ts +24 -0
  212. package/dist/editor/ai/terminal/useAgentBrowserCapture.js +147 -0
  213. package/dist/editor/ai/terminal/useAgentBrowserCapture.js.map +1 -0
  214. package/dist/editor/ai/terminal/useAgentBrowserCapturePanel.d.ts +29 -0
  215. package/dist/editor/ai/terminal/useAgentBrowserCapturePanel.js +36 -0
  216. package/dist/editor/ai/terminal/useAgentBrowserCapturePanel.js.map +1 -0
  217. package/dist/editor/ai/terminal/useAgentBrowserCaptureUi.d.ts +18 -0
  218. package/dist/editor/ai/terminal/useAgentBrowserCaptureUi.js +36 -0
  219. package/dist/editor/ai/terminal/useAgentBrowserCaptureUi.js.map +1 -0
  220. package/dist/editor/ai/terminal/useAgentContentChunkHandler.d.ts +15 -0
  221. package/dist/editor/ai/terminal/useAgentContentChunkHandler.js +95 -0
  222. package/dist/editor/ai/terminal/useAgentContentChunkHandler.js.map +1 -0
  223. package/dist/editor/ai/terminal/useAgentContextDisplayNames.d.ts +9 -0
  224. package/dist/editor/ai/terminal/useAgentContextDisplayNames.js +98 -0
  225. package/dist/editor/ai/terminal/useAgentContextDisplayNames.js.map +1 -0
  226. package/dist/editor/ai/terminal/useAgentContextUpdateHandler.d.ts +7 -0
  227. package/dist/editor/ai/terminal/useAgentContextUpdateHandler.js +29 -0
  228. package/dist/editor/ai/terminal/useAgentContextUpdateHandler.js.map +1 -0
  229. package/dist/editor/ai/terminal/useAgentCostLimitActions.d.ts +15 -0
  230. package/dist/editor/ai/terminal/useAgentCostLimitActions.js +43 -0
  231. package/dist/editor/ai/terminal/useAgentCostLimitActions.js.map +1 -0
  232. package/dist/editor/ai/terminal/useAgentCostLimitWatcher.d.ts +11 -0
  233. package/dist/editor/ai/terminal/useAgentCostLimitWatcher.js +58 -0
  234. package/dist/editor/ai/terminal/useAgentCostLimitWatcher.js.map +1 -0
  235. package/dist/editor/ai/terminal/useAgentDraftInitializer.d.ts +25 -0
  236. package/dist/editor/ai/terminal/useAgentDraftInitializer.js +161 -0
  237. package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -0
  238. package/dist/editor/ai/terminal/useAgentEditorContext.d.ts +16 -0
  239. package/dist/editor/ai/terminal/useAgentEditorContext.js +135 -0
  240. package/dist/editor/ai/terminal/useAgentEditorContext.js.map +1 -0
  241. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.d.ts +23 -0
  242. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js +22 -0
  243. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js.map +1 -0
  244. package/dist/editor/ai/terminal/useAgentEditorContextSync.d.ts +19 -0
  245. package/dist/editor/ai/terminal/useAgentEditorContextSync.js +142 -0
  246. package/dist/editor/ai/terminal/useAgentEditorContextSync.js.map +1 -0
  247. package/dist/editor/ai/terminal/useAgentEffectiveModelName.d.ts +7 -0
  248. package/dist/editor/ai/terminal/useAgentEffectiveModelName.js +10 -0
  249. package/dist/editor/ai/terminal/useAgentEffectiveModelName.js.map +1 -0
  250. package/dist/editor/ai/terminal/useAgentHeartbeatMessages.d.ts +16 -0
  251. package/dist/editor/ai/terminal/useAgentHeartbeatMessages.js +55 -0
  252. package/dist/editor/ai/terminal/useAgentHeartbeatMessages.js.map +1 -0
  253. package/dist/editor/ai/terminal/useAgentInfoSocketHandler.d.ts +12 -0
  254. package/dist/editor/ai/terminal/useAgentInfoSocketHandler.js +55 -0
  255. package/dist/editor/ai/terminal/useAgentInfoSocketHandler.js.map +1 -0
  256. package/dist/editor/ai/terminal/useAgentInitialMetadataMerge.d.ts +6 -0
  257. package/dist/editor/ai/terminal/useAgentInitialMetadataMerge.js +18 -0
  258. package/dist/editor/ai/terminal/useAgentInitialMetadataMerge.js.map +1 -0
  259. package/dist/editor/ai/terminal/useAgentInitialPrompt.d.ts +16 -0
  260. package/dist/editor/ai/terminal/useAgentInitialPrompt.js +48 -0
  261. package/dist/editor/ai/terminal/useAgentInitialPrompt.js.map +1 -0
  262. package/dist/editor/ai/terminal/useAgentInitialPrompt.test.d.ts +1 -0
  263. package/dist/editor/ai/terminal/useAgentInitialPrompt.test.js +63 -0
  264. package/dist/editor/ai/terminal/useAgentInitialPrompt.test.js.map +1 -0
  265. package/dist/editor/ai/terminal/useAgentInlineDialogEvents.d.ts +23 -0
  266. package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js +191 -0
  267. package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js.map +1 -0
  268. package/dist/editor/ai/terminal/useAgentInlineDialogPipeline.d.ts +23 -0
  269. package/dist/editor/ai/terminal/useAgentInlineDialogPipeline.js +28 -0
  270. package/dist/editor/ai/terminal/useAgentInlineDialogPipeline.js.map +1 -0
  271. package/dist/editor/ai/terminal/useAgentInlineDialogState.d.ts +15 -0
  272. package/dist/editor/ai/terminal/useAgentInlineDialogState.js +49 -0
  273. package/dist/editor/ai/terminal/useAgentInlineDialogState.js.map +1 -0
  274. package/dist/editor/ai/terminal/useAgentLoadErrorHandler.d.ts +11 -0
  275. package/dist/editor/ai/terminal/useAgentLoadErrorHandler.js +24 -0
  276. package/dist/editor/ai/terminal/useAgentLoadErrorHandler.js.map +1 -0
  277. package/dist/editor/ai/terminal/useAgentLoadLifecycle.d.ts +7 -0
  278. package/dist/editor/ai/terminal/useAgentLoadLifecycle.js +21 -0
  279. package/dist/editor/ai/terminal/useAgentLoadLifecycle.js.map +1 -0
  280. package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +39 -0
  281. package/dist/editor/ai/terminal/useAgentLoadPipeline.js +73 -0
  282. package/dist/editor/ai/terminal/useAgentLoadPipeline.js.map +1 -0
  283. package/dist/editor/ai/terminal/useAgentLoadedRunStateSync.d.ts +13 -0
  284. package/dist/editor/ai/terminal/useAgentLoadedRunStateSync.js +31 -0
  285. package/dist/editor/ai/terminal/useAgentLoadedRunStateSync.js.map +1 -0
  286. package/dist/editor/ai/terminal/useAgentLoader.d.ts +27 -0
  287. package/dist/editor/ai/terminal/useAgentLoader.js +77 -0
  288. package/dist/editor/ai/terminal/useAgentLoader.js.map +1 -0
  289. package/dist/editor/ai/terminal/useAgentMessageCompletionNotifier.d.ts +6 -0
  290. package/dist/editor/ai/terminal/useAgentMessageCompletionNotifier.js +23 -0
  291. package/dist/editor/ai/terminal/useAgentMessageCompletionNotifier.js.map +1 -0
  292. package/dist/editor/ai/terminal/useAgentModeState.d.ts +13 -0
  293. package/dist/editor/ai/terminal/useAgentModeState.js +52 -0
  294. package/dist/editor/ai/terminal/useAgentModeState.js.map +1 -0
  295. package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.d.ts +8 -0
  296. package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.js +26 -0
  297. package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.js.map +1 -0
  298. package/dist/editor/ai/terminal/useAgentOperationSocketHandler.d.ts +6 -0
  299. package/dist/editor/ai/terminal/useAgentOperationSocketHandler.js +19 -0
  300. package/dist/editor/ai/terminal/useAgentOperationSocketHandler.js.map +1 -0
  301. package/dist/editor/ai/terminal/useAgentPendingApprovals.d.ts +6 -0
  302. package/dist/editor/ai/terminal/useAgentPendingApprovals.js +35 -0
  303. package/dist/editor/ai/terminal/useAgentPendingApprovals.js.map +1 -0
  304. package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.d.ts +18 -0
  305. package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.js +108 -0
  306. package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.js.map +1 -0
  307. package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.test.d.ts +1 -0
  308. package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.test.js +80 -0
  309. package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.test.js.map +1 -0
  310. package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.d.ts +19 -0
  311. package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.js +60 -0
  312. package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.js.map +1 -0
  313. package/dist/editor/ai/terminal/useAgentProfileSelection.d.ts +17 -0
  314. package/dist/editor/ai/terminal/useAgentProfileSelection.js +61 -0
  315. package/dist/editor/ai/terminal/useAgentProfileSelection.js.map +1 -0
  316. package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.d.ts +37 -0
  317. package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.js +205 -0
  318. package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.js.map +1 -0
  319. package/dist/editor/ai/terminal/useAgentPromptComposerProps.d.ts +26 -0
  320. package/dist/editor/ai/terminal/useAgentPromptComposerProps.js +51 -0
  321. package/dist/editor/ai/terminal/useAgentPromptComposerProps.js.map +1 -0
  322. package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +26 -0
  323. package/dist/editor/ai/terminal/useAgentPromptComposerSurface.js +29 -0
  324. package/dist/editor/ai/terminal/useAgentPromptComposerSurface.js.map +1 -0
  325. package/dist/editor/ai/terminal/useAgentPromptDraft.d.ts +11 -0
  326. package/dist/editor/ai/terminal/useAgentPromptDraft.js +39 -0
  327. package/dist/editor/ai/terminal/useAgentPromptDraft.js.map +1 -0
  328. package/dist/editor/ai/terminal/useAgentPromptQueueSocketHandler.d.ts +6 -0
  329. package/dist/editor/ai/terminal/useAgentPromptQueueSocketHandler.js +22 -0
  330. package/dist/editor/ai/terminal/useAgentPromptQueueSocketHandler.js.map +1 -0
  331. package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.d.ts +12 -0
  332. package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.js +49 -0
  333. package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.js.map +1 -0
  334. package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.test.d.ts +1 -0
  335. package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.test.js +135 -0
  336. package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.test.js.map +1 -0
  337. package/dist/editor/ai/terminal/useAgentQueuedPromptReset.d.ts +5 -0
  338. package/dist/editor/ai/terminal/useAgentQueuedPromptReset.js +10 -0
  339. package/dist/editor/ai/terminal/useAgentQueuedPromptReset.js.map +1 -0
  340. package/dist/editor/ai/terminal/useAgentQuickActions.d.ts +15 -0
  341. package/dist/editor/ai/terminal/useAgentQuickActions.js +57 -0
  342. package/dist/editor/ai/terminal/useAgentQuickActions.js.map +1 -0
  343. package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.d.ts +22 -0
  344. package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js +67 -0
  345. package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js.map +1 -0
  346. package/dist/editor/ai/terminal/useAgentRunDeltaRouter.d.ts +18 -0
  347. package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js +53 -0
  348. package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js.map +1 -0
  349. package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.d.ts +24 -0
  350. package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js +66 -0
  351. package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js.map +1 -0
  352. package/dist/editor/ai/terminal/useAgentRunDiagnostics.d.ts +22 -0
  353. package/dist/editor/ai/terminal/useAgentRunDiagnostics.js +70 -0
  354. package/dist/editor/ai/terminal/useAgentRunDiagnostics.js.map +1 -0
  355. package/dist/editor/ai/terminal/useAgentRunMessagePipeline.d.ts +42 -0
  356. package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js +39 -0
  357. package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js.map +1 -0
  358. package/dist/editor/ai/terminal/useAgentRunRefs.d.ts +17 -0
  359. package/dist/editor/ai/terminal/useAgentRunRefs.js +44 -0
  360. package/dist/editor/ai/terminal/useAgentRunRefs.js.map +1 -0
  361. package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.d.ts +15 -0
  362. package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js +101 -0
  363. package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js.map +1 -0
  364. package/dist/editor/ai/terminal/useAgentRunSequenceGuard.d.ts +11 -0
  365. package/dist/editor/ai/terminal/useAgentRunSequenceGuard.js +22 -0
  366. package/dist/editor/ai/terminal/useAgentRunSequenceGuard.js.map +1 -0
  367. package/dist/editor/ai/terminal/useAgentRunStartSocketHandler.d.ts +25 -0
  368. package/dist/editor/ai/terminal/useAgentRunStartSocketHandler.js +74 -0
  369. package/dist/editor/ai/terminal/useAgentRunStartSocketHandler.js.map +1 -0
  370. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.d.ts +38 -0
  371. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +366 -0
  372. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -0
  373. package/dist/editor/ai/terminal/useAgentRuntimeStatus.d.ts +11 -0
  374. package/dist/editor/ai/terminal/useAgentRuntimeStatus.js +9 -0
  375. package/dist/editor/ai/terminal/useAgentRuntimeStatus.js.map +1 -0
  376. package/dist/editor/ai/terminal/useAgentServerReconciler.d.ts +5 -0
  377. package/dist/editor/ai/terminal/useAgentServerReconciler.js +22 -0
  378. package/dist/editor/ai/terminal/useAgentServerReconciler.js.map +1 -0
  379. package/dist/editor/ai/terminal/useAgentSession.d.ts +51 -0
  380. package/dist/editor/ai/terminal/useAgentSession.js +175 -0
  381. package/dist/editor/ai/terminal/useAgentSession.js.map +1 -0
  382. package/dist/editor/ai/terminal/useAgentSession.test.d.ts +1 -0
  383. package/dist/editor/ai/terminal/useAgentSession.test.js +181 -0
  384. package/dist/editor/ai/terminal/useAgentSession.test.js.map +1 -0
  385. package/dist/editor/ai/terminal/useAgentSessionCommandBindings.d.ts +15 -0
  386. package/dist/editor/ai/terminal/useAgentSessionCommandBindings.js +30 -0
  387. package/dist/editor/ai/terminal/useAgentSessionCommandBindings.js.map +1 -0
  388. package/dist/editor/ai/terminal/useAgentSessionErrorBridge.d.ts +10 -0
  389. package/dist/editor/ai/terminal/useAgentSessionErrorBridge.js +14 -0
  390. package/dist/editor/ai/terminal/useAgentSessionErrorBridge.js.map +1 -0
  391. package/dist/editor/ai/terminal/useAgentSessionFacade.d.ts +51 -0
  392. package/dist/editor/ai/terminal/useAgentSessionFacade.js +130 -0
  393. package/dist/editor/ai/terminal/useAgentSessionFacade.js.map +1 -0
  394. package/dist/editor/ai/terminal/useAgentSessionSocketSource.d.ts +8 -0
  395. package/dist/editor/ai/terminal/useAgentSessionSocketSource.js +17 -0
  396. package/dist/editor/ai/terminal/useAgentSessionSocketSource.js.map +1 -0
  397. package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +98 -0
  398. package/dist/editor/ai/terminal/useAgentSessionSync.js +187 -0
  399. package/dist/editor/ai/terminal/useAgentSessionSync.js.map +1 -0
  400. package/dist/editor/ai/terminal/useAgentSettingsCommands.d.ts +49 -0
  401. package/dist/editor/ai/terminal/useAgentSettingsCommands.js +210 -0
  402. package/dist/editor/ai/terminal/useAgentSettingsCommands.js.map +1 -0
  403. package/dist/editor/ai/terminal/useAgentSettingsData.d.ts +46 -0
  404. package/dist/editor/ai/terminal/useAgentSettingsData.js +380 -0
  405. package/dist/editor/ai/terminal/useAgentSettingsData.js.map +1 -0
  406. package/dist/editor/ai/terminal/useAgentSettingsNavigation.d.ts +9 -0
  407. package/dist/editor/ai/terminal/useAgentSettingsNavigation.js +51 -0
  408. package/dist/editor/ai/terminal/useAgentSettingsNavigation.js.map +1 -0
  409. package/dist/editor/ai/terminal/useAgentSettingsPanel.d.ts +86 -0
  410. package/dist/editor/ai/terminal/useAgentSettingsPanel.js +93 -0
  411. package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -0
  412. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.d.ts +15 -0
  413. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +45 -0
  414. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -0
  415. package/dist/editor/ai/terminal/useAgentSettleCompletedRun.d.ts +35 -0
  416. package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js +51 -0
  417. package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js.map +1 -0
  418. package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +34 -0
  419. package/dist/editor/ai/terminal/useAgentSkillActions.js +222 -0
  420. package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -0
  421. package/dist/editor/ai/terminal/useAgentSocketMessageRouter.d.ts +15 -0
  422. package/dist/editor/ai/terminal/useAgentSocketMessageRouter.js +52 -0
  423. package/dist/editor/ai/terminal/useAgentSocketMessageRouter.js.map +1 -0
  424. package/dist/editor/ai/terminal/useAgentStatusBarContent.d.ts +36 -0
  425. package/dist/editor/ai/terminal/useAgentStatusBarContent.js +70 -0
  426. package/dist/editor/ai/terminal/useAgentStatusBarContent.js.map +1 -0
  427. package/dist/editor/ai/terminal/useAgentStopCommand.d.ts +28 -0
  428. package/dist/editor/ai/terminal/useAgentStopCommand.js +55 -0
  429. package/dist/editor/ai/terminal/useAgentStopCommand.js.map +1 -0
  430. package/dist/editor/ai/terminal/useAgentStopGuardState.d.ts +7 -0
  431. package/dist/editor/ai/terminal/useAgentStopGuardState.js +40 -0
  432. package/dist/editor/ai/terminal/useAgentStopGuardState.js.map +1 -0
  433. package/dist/editor/ai/terminal/useAgentStreamMessageFactory.d.ts +5 -0
  434. package/dist/editor/ai/terminal/useAgentStreamMessageFactory.js +31 -0
  435. package/dist/editor/ai/terminal/useAgentStreamMessageFactory.js.map +1 -0
  436. package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +66 -0
  437. package/dist/editor/ai/terminal/useAgentStreamPipeline.js +165 -0
  438. package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -0
  439. package/dist/editor/ai/terminal/useAgentStreamSubscription.d.ts +27 -0
  440. package/dist/editor/ai/terminal/useAgentStreamSubscription.js +70 -0
  441. package/dist/editor/ai/terminal/useAgentStreamSubscription.js.map +1 -0
  442. package/dist/editor/ai/terminal/useAgentStreamWatchdog.d.ts +38 -0
  443. package/dist/editor/ai/terminal/useAgentStreamWatchdog.js +232 -0
  444. package/dist/editor/ai/terminal/useAgentStreamWatchdog.js.map +1 -0
  445. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +14 -0
  446. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +56 -0
  447. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -0
  448. package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +52 -0
  449. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +267 -0
  450. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -0
  451. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.d.ts +27 -0
  452. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js +39 -0
  453. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js.map +1 -0
  454. package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.d.ts +20 -0
  455. package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js +56 -0
  456. package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js.map +1 -0
  457. package/dist/editor/ai/terminal/useAgentSummaryQuestionnaireScroll.d.ts +5 -0
  458. package/dist/editor/ai/terminal/useAgentSummaryQuestionnaireScroll.js +32 -0
  459. package/dist/editor/ai/terminal/useAgentSummaryQuestionnaireScroll.js.map +1 -0
  460. package/dist/editor/ai/terminal/useAgentTerminalActions.d.ts +22 -0
  461. package/dist/editor/ai/terminal/useAgentTerminalActions.js +59 -0
  462. package/dist/editor/ai/terminal/useAgentTerminalActions.js.map +1 -0
  463. package/dist/editor/ai/terminal/useAgentTerminalBackgroundEvents.d.ts +15 -0
  464. package/dist/editor/ai/terminal/useAgentTerminalBackgroundEvents.js +16 -0
  465. package/dist/editor/ai/terminal/useAgentTerminalBackgroundEvents.js.map +1 -0
  466. package/dist/editor/ai/terminal/useAgentTerminalChrome.d.ts +29 -0
  467. package/dist/editor/ai/terminal/useAgentTerminalChrome.js +12 -0
  468. package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -0
  469. package/dist/editor/ai/terminal/useAgentTerminalController.d.ts +2 -0
  470. package/dist/editor/ai/terminal/useAgentTerminalController.js +775 -0
  471. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -0
  472. package/dist/editor/ai/terminal/useAgentTerminalControls.d.ts +19 -0
  473. package/dist/editor/ai/terminal/useAgentTerminalControls.js +21 -0
  474. package/dist/editor/ai/terminal/useAgentTerminalControls.js.map +1 -0
  475. package/dist/editor/ai/terminal/useAgentTerminalElementRefs.d.ts +11 -0
  476. package/dist/editor/ai/terminal/useAgentTerminalElementRefs.js +13 -0
  477. package/dist/editor/ai/terminal/useAgentTerminalElementRefs.js.map +1 -0
  478. package/dist/editor/ai/terminal/useAgentTerminalNotices.d.ts +10 -0
  479. package/dist/editor/ai/terminal/useAgentTerminalNotices.js +11 -0
  480. package/dist/editor/ai/terminal/useAgentTerminalNotices.js.map +1 -0
  481. package/dist/editor/ai/terminal/useAgentTerminalReadyEvents.d.ts +7 -0
  482. package/dist/editor/ai/terminal/useAgentTerminalReadyEvents.js +29 -0
  483. package/dist/editor/ai/terminal/useAgentTerminalReadyEvents.js.map +1 -0
  484. package/dist/editor/ai/terminal/useAgentTerminalScroll.d.ts +15 -0
  485. package/dist/editor/ai/terminal/useAgentTerminalScroll.js +63 -0
  486. package/dist/editor/ai/terminal/useAgentTerminalScroll.js.map +1 -0
  487. package/dist/editor/ai/terminal/useAgentTerminalUiState.d.ts +27 -0
  488. package/dist/editor/ai/terminal/useAgentTerminalUiState.js +43 -0
  489. package/dist/editor/ai/terminal/useAgentTerminalUiState.js.map +1 -0
  490. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +17 -0
  491. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +20 -0
  492. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -0
  493. package/dist/editor/ai/terminal/useAgentTerminalViewState.d.ts +38 -0
  494. package/dist/editor/ai/terminal/useAgentTerminalViewState.js +58 -0
  495. package/dist/editor/ai/terminal/useAgentTerminalViewState.js.map +1 -0
  496. package/dist/editor/ai/terminal/useAgentToolApprovalResolvedEvents.d.ts +14 -0
  497. package/dist/editor/ai/terminal/useAgentToolApprovalResolvedEvents.js +65 -0
  498. package/dist/editor/ai/terminal/useAgentToolApprovalResolvedEvents.js.map +1 -0
  499. package/dist/editor/ai/terminal/useAgentToolApprovalSupersede.d.ts +8 -0
  500. package/dist/editor/ai/terminal/useAgentToolApprovalSupersede.js +41 -0
  501. package/dist/editor/ai/terminal/useAgentToolApprovalSupersede.js.map +1 -0
  502. package/dist/editor/ai/terminal/useAgentToolCallHandler.d.ts +12 -0
  503. package/dist/editor/ai/terminal/useAgentToolCallHandler.js +72 -0
  504. package/dist/editor/ai/terminal/useAgentToolCallHandler.js.map +1 -0
  505. package/dist/editor/ai/terminal/useAgentToolResultHandler.d.ts +12 -0
  506. package/dist/editor/ai/terminal/useAgentToolResultHandler.js +84 -0
  507. package/dist/editor/ai/terminal/useAgentToolResultHandler.js.map +1 -0
  508. package/dist/editor/ai/terminal/useAgentToolUiEvents.d.ts +5 -0
  509. package/dist/editor/ai/terminal/useAgentToolUiEvents.js +24 -0
  510. package/dist/editor/ai/terminal/useAgentToolUiEvents.js.map +1 -0
  511. package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.d.ts +9 -0
  512. package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js +40 -0
  513. package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js.map +1 -0
  514. package/dist/editor/ai/terminal/useAgentVoiceInput.d.ts +16 -0
  515. package/dist/editor/ai/terminal/useAgentVoiceInput.js +231 -0
  516. package/dist/editor/ai/terminal/useAgentVoiceInput.js.map +1 -0
  517. package/dist/editor/ai/terminal/useSuppressedQueuedPrompts.d.ts +6 -0
  518. package/dist/editor/ai/terminal/useSuppressedQueuedPrompts.js +57 -0
  519. package/dist/editor/ai/terminal/useSuppressedQueuedPrompts.js.map +1 -0
  520. package/dist/editor/client/EditorShell.js +2 -2
  521. package/dist/editor/client/EditorShell.js.map +1 -1
  522. package/dist/editor/client/editContext.d.ts +2 -2
  523. package/dist/editor/client/editContext.js.map +1 -1
  524. package/dist/editor/client/hooks/useEditorWebSocket.js +48 -1
  525. package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
  526. package/dist/editor/client/hooks/useSocketMessageHandler.js +30 -0
  527. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  528. package/dist/editor/client/operations.js +4 -2
  529. package/dist/editor/client/operations.js.map +1 -1
  530. package/dist/editor/client/pageModelBuilder.js +2 -2
  531. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  532. package/dist/editor/commands/componentCommands.d.ts +11 -3
  533. package/dist/editor/commands/componentCommands.js +35 -3
  534. package/dist/editor/commands/componentCommands.js.map +1 -1
  535. package/dist/editor/commands/placeholderCommands.d.ts +17 -0
  536. package/dist/editor/commands/placeholderCommands.js +37 -0
  537. package/dist/editor/commands/placeholderCommands.js.map +1 -0
  538. package/dist/editor/debugSessionLog.d.ts +9 -0
  539. package/dist/editor/debugSessionLog.js +19 -0
  540. package/dist/editor/debugSessionLog.js.map +1 -0
  541. package/dist/editor/field-types/DropLinkEditor.js +30 -15
  542. package/dist/editor/field-types/DropLinkEditor.js.map +1 -1
  543. package/dist/editor/menubar/VersionSelector.js +7 -1
  544. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  545. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +7 -9
  546. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  547. package/dist/editor/pageModel.d.ts +1 -0
  548. package/dist/editor/services/agentService.d.ts +9 -0
  549. package/dist/editor/services/agentService.js +12 -0
  550. package/dist/editor/services/agentService.js.map +1 -1
  551. package/dist/editor/services/editService.d.ts +1 -0
  552. package/dist/editor/services/editService.js.map +1 -1
  553. package/dist/editor/services/serviceHelper.js +14 -0
  554. package/dist/editor/services/serviceHelper.js.map +1 -1
  555. package/dist/editor/services/systemService.js +16 -0
  556. package/dist/editor/services/systemService.js.map +1 -1
  557. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +4 -1
  558. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  559. package/dist/editor/sidebar/ComponentTree.js +88 -5
  560. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  561. package/dist/editor/ui/DragPreview.d.ts +7 -0
  562. package/dist/editor/ui/DragPreview.js +96 -0
  563. package/dist/editor/ui/DragPreview.js.map +1 -1
  564. package/dist/index.d.ts +6 -3
  565. package/dist/index.js +2 -0
  566. package/dist/index.js.map +1 -1
  567. package/dist/revision.d.ts +2 -2
  568. package/dist/revision.js +2 -2
  569. package/package.json +1 -1
  570. package/dist/editor/ai/AgentBanners.js.map +0 -1
  571. package/dist/editor/ai/AgentCostDisplay.js.map +0 -1
  572. package/dist/editor/ai/AgentDocumentList.js.map +0 -1
  573. package/dist/editor/ai/AgentGreeting.js.map +0 -1
  574. package/dist/editor/ai/AgentTerminalStatusBar.js.map +0 -1
  575. package/dist/editor/ai/AiResponseMessage.js.map +0 -1
  576. package/dist/editor/ai/ContextInfoBar.js.map +0 -1
  577. package/dist/editor/ai/DancingDots.d.ts +0 -1
  578. package/dist/editor/ai/DancingDots.js +0 -6
  579. package/dist/editor/ai/DancingDots.js.map +0 -1
  580. package/dist/editor/ai/EditOperationsPanel.js.map +0 -1
  581. package/dist/editor/ai/HeartbeatMessage.js.map +0 -1
  582. package/dist/editor/ai/InitialThinkingSplash.js.map +0 -1
  583. package/dist/editor/ai/QueuedPromptsPanel.js.map +0 -1
  584. package/dist/editor/ai/SpawnedAgentsPanel.js.map +0 -1
  585. package/dist/editor/ai/TodoListPanel.js.map +0 -1
  586. package/dist/editor/ai/ToolCallDisplay.js.map +0 -1
  587. package/dist/editor/ai/UserMessage.js.map +0 -1
  588. /package/dist/editor/ai/{AgentBanners.d.ts → terminal/components/AgentBanners.d.ts} +0 -0
  589. /package/dist/editor/ai/{AgentBanners.js → terminal/components/AgentBanners.js} +0 -0
  590. /package/dist/editor/ai/{AgentCostDisplay.d.ts → terminal/components/AgentCostDisplay.d.ts} +0 -0
  591. /package/dist/editor/ai/{AgentDocumentList.d.ts → terminal/components/AgentDocumentList.d.ts} +0 -0
  592. /package/dist/editor/ai/{InitialThinkingSplash.d.ts → terminal/components/InitialThinkingSplash.d.ts} +0 -0
  593. /package/dist/editor/ai/{ToolCallDisplay.d.ts → terminal/components/ToolCallDisplay.d.ts} +0 -0
@@ -0,0 +1,77 @@
1
+ import { useCallback } from "react";
2
+ import { clearStaleRunningLoadSuppression, hasStaleRunningLoadSuppression, loadAgentSessionSnapshot, } from "./useAgentSessionSync";
3
+ import { getLoadedCostLimitExceeded } from "./agentSessionCostLimit";
4
+ import { buildLoadedContextWindowStatus, mergeLoadedAgentTranscript, parseLoadedAgentMetadata, } from "./agentSessionSnapshot";
5
+ export function useAgentLoader(input) {
6
+ const { agentStub, actions, messagesRef, seenMessageIdsRef, isStoppingRef, initializeDraftAgent, syncLoadedRunState, sanitizeAgentMetadata, handleLoadError, setAgent, setAgentMetadata, setError, } = input;
7
+ return useCallback(async ({ silent = false } = {}) => {
8
+ try {
9
+ if (initializeDraftAgent()) {
10
+ return;
11
+ }
12
+ if (!silent) {
13
+ actions.startLoading();
14
+ }
15
+ setError(null);
16
+ const { agent: agentData, queuedPrompts: prompts } = await loadAgentSessionSnapshot(agentStub.id);
17
+ const serverReturnedRunning = agentData.status === "running" || agentData.status === 1;
18
+ const hasSuppressedRunningLoad = hasStaleRunningLoadSuppression(agentStub.id);
19
+ const isStaleRunningLoadDuringStop = serverReturnedRunning &&
20
+ (isStoppingRef.current || hasSuppressedRunningLoad);
21
+ if (!serverReturnedRunning) {
22
+ clearStaleRunningLoadSuppression(agentStub.id);
23
+ }
24
+ const loadedAgentForUi = isStaleRunningLoadDuringStop
25
+ ? { ...agentData, status: "idle", statusMessage: undefined }
26
+ : agentData;
27
+ setAgent(loadedAgentForUi);
28
+ actions.replaceQueuedPrompts(prompts);
29
+ const { merged, isRunning, waitingForApproval, waitingForInput, hasStreaming, } = mergeLoadedAgentTranscript({
30
+ agentData,
31
+ localMessages: messagesRef.current,
32
+ markSeenMessageId: (messageId) => {
33
+ seenMessageIdsRef.current.add(messageId.toLowerCase());
34
+ },
35
+ });
36
+ messagesRef.current = merged;
37
+ actions.replaceTranscript(merged);
38
+ syncLoadedRunState({
39
+ isRunning,
40
+ waitingForApproval,
41
+ waitingForInput,
42
+ hasStreaming,
43
+ });
44
+ const loadedCostLimitExceeded = getLoadedCostLimitExceeded(agentData);
45
+ if (loadedCostLimitExceeded) {
46
+ actions.replaceCostLimitExceeded(loadedCostLimitExceeded);
47
+ }
48
+ const sanitizedLoadedMetadata = sanitizeAgentMetadata(parseLoadedAgentMetadata(agentData));
49
+ setAgentMetadata(sanitizedLoadedMetadata);
50
+ const loadedContextWindowStatus = buildLoadedContextWindowStatus(agentData);
51
+ actions.applySnapshot({
52
+ agent: { ...loadedAgentForUi, messages: merged },
53
+ queuedPrompts: prompts,
54
+ metadata: sanitizedLoadedMetadata,
55
+ contextWindowStatus: loadedContextWindowStatus,
56
+ });
57
+ }
58
+ catch (error) {
59
+ console.error("Failed to load agent:", error);
60
+ handleLoadError(error);
61
+ }
62
+ }, [
63
+ actions,
64
+ agentStub.id,
65
+ handleLoadError,
66
+ initializeDraftAgent,
67
+ isStoppingRef,
68
+ messagesRef,
69
+ sanitizeAgentMetadata,
70
+ seenMessageIdsRef,
71
+ setAgent,
72
+ setAgentMetadata,
73
+ setError,
74
+ syncLoadedRunState,
75
+ ]);
76
+ }
77
+ //# sourceMappingURL=useAgentLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentLoader.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { AgentChatMessage } from "../../services/agentService";
2
+ export declare function useAgentMessageCompletionNotifier(input: {
3
+ agentId: string;
4
+ messages: AgentChatMessage[];
5
+ onMessage?: (message: AgentChatMessage) => void;
6
+ }): void;
@@ -0,0 +1,23 @@
1
+ import { useEffect, useRef } from "react";
2
+ export function useAgentMessageCompletionNotifier(input) {
3
+ const { agentId, messages, onMessage } = input;
4
+ const observedMessageIdsRef = useRef(new Set());
5
+ useEffect(() => {
6
+ observedMessageIdsRef.current = new Set();
7
+ }, [agentId]);
8
+ useEffect(() => {
9
+ if (!onMessage)
10
+ return;
11
+ for (const message of messages) {
12
+ if (!message?.id)
13
+ continue;
14
+ if (!message.isCompleted)
15
+ continue;
16
+ if (observedMessageIdsRef.current.has(message.id))
17
+ continue;
18
+ observedMessageIdsRef.current.add(message.id);
19
+ onMessage(message);
20
+ }
21
+ }, [messages, onMessage]);
22
+ }
23
+ //# sourceMappingURL=useAgentMessageCompletionNotifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentMessageCompletionNotifier.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentMessageCompletionNotifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1C,MAAM,UAAU,iCAAiC,CAAC,KAIjD;IACC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,qBAAqB,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAE7D,SAAS,CAAC,GAAG,EAAE;QACb,qBAAqB,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5C,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,EAAE,EAAE;gBAAE,SAAS;YAC3B,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,SAAS;YACnC,IAAI,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC5D,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9C,SAAS,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type SetStateAction } from "react";
2
+ import type { AgentDetails, AgentMetadata } from "../../services/agentService";
3
+ export type AgentMode = "autonomous" | "read-only" | "supervised";
4
+ export declare function useAgentModeState(input: {
5
+ agent: AgentDetails | undefined;
6
+ agentMetadata: AgentMetadata | null | undefined;
7
+ setAgent: (nextAgent: SetStateAction<AgentDetails | undefined>) => void;
8
+ setAgentMetadata: (nextMetadata: SetStateAction<AgentMetadata | null>) => void;
9
+ }): {
10
+ mode: AgentMode;
11
+ setMode: import("react").Dispatch<SetStateAction<AgentMode>>;
12
+ handleSwitchToAutonomous: () => void;
13
+ };
@@ -0,0 +1,52 @@
1
+ import { useCallback, useEffect, useState } from "react";
2
+ function normalizeAgentMode(value) {
3
+ if (value === "autonomous" ||
4
+ value === "read-only" ||
5
+ value === "supervised") {
6
+ return value;
7
+ }
8
+ return null;
9
+ }
10
+ export function useAgentModeState(input) {
11
+ const { agent, agentMetadata, setAgent, setAgentMetadata } = input;
12
+ const [mode, setMode] = useState("supervised");
13
+ const handleSwitchToAutonomous = useCallback(() => {
14
+ const nextMode = "autonomous";
15
+ setMode(nextMode);
16
+ setAgentMetadata((prev) => ({
17
+ ...(prev ?? {}),
18
+ mode: nextMode,
19
+ }));
20
+ setAgent((prev) => {
21
+ if (!prev)
22
+ return prev;
23
+ return {
24
+ ...prev,
25
+ mode: nextMode,
26
+ };
27
+ });
28
+ }, [setAgent, setAgentMetadata]);
29
+ useEffect(() => {
30
+ try {
31
+ const metaMode = normalizeAgentMode(agentMetadata?.mode);
32
+ if (metaMode) {
33
+ setMode(metaMode);
34
+ return;
35
+ }
36
+ }
37
+ catch { }
38
+ try {
39
+ const serverMode = normalizeAgentMode(agent?.mode);
40
+ if (serverMode) {
41
+ setMode(serverMode);
42
+ }
43
+ }
44
+ catch { }
45
+ }, [agentMetadata, agent?.mode]);
46
+ return {
47
+ mode,
48
+ setMode,
49
+ handleSwitchToAutonomous,
50
+ };
51
+ }
52
+ //# sourceMappingURL=useAgentModeState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentModeState.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentModeState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAuB,MAAM,OAAO,CAAC;AAK9E,SAAS,kBAAkB,CAAC,KAAc;IACxC,IACE,KAAK,KAAK,YAAY;QACtB,KAAK,KAAK,WAAW;QACrB,KAAK,KAAK,YAAY,EACtB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAKjC;IACC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IACnE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAY,YAAY,CAAC,CAAC;IAE1D,MAAM,wBAAwB,GAAG,WAAW,CAAC,GAAG,EAAE;QAChD,MAAM,QAAQ,GAAG,YAAqB,CAAC;QACvC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClB,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACf,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC,CAAC;QACJ,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,QAAQ;aACf,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,kBAAkB,CAAE,aAAqB,EAAE,IAAI,CAAC,CAAC;YAClE,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAClB,OAAO;YACT,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,kBAAkB,CAAE,KAAa,EAAE,IAAI,CAAC,CAAC;YAC5D,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC,EAAE,CAAC,aAAa,EAAG,KAAa,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1C,OAAO;QACL,IAAI;QACJ,OAAO;QACP,wBAAwB;KACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { AgentDetails } from "../../services/agentService";
2
+ import type { useAgentSession } from "./useAgentSession";
3
+ type AgentSessionActions = ReturnType<typeof useAgentSession>["actions"];
4
+ export declare function useAgentOperationHistoryLoader(input: {
5
+ agent: AgentDetails | undefined;
6
+ actions: AgentSessionActions;
7
+ }): void;
8
+ export {};
@@ -0,0 +1,26 @@
1
+ import { useEffect } from "react";
2
+ import { AGENT_HISTORY_LIMIT } from "../agentMessageHelpers";
3
+ import { loadAgentSessionOperationHistory } from "./useAgentSessionSync";
4
+ export function useAgentOperationHistoryLoader(input) {
5
+ const { agent, actions } = input;
6
+ useEffect(() => {
7
+ const fetchOperations = async () => {
8
+ if (!agent?.id) {
9
+ actions.replaceOperationHistory([]);
10
+ return;
11
+ }
12
+ actions.replaceOperationHistory([]);
13
+ try {
14
+ const result = await loadAgentSessionOperationHistory(agent.id, AGENT_HISTORY_LIMIT);
15
+ if (result.type === "success") {
16
+ actions.replaceOperationHistory(result.data ?? []);
17
+ }
18
+ }
19
+ catch (error) {
20
+ console.error("Failed to fetch agent operations:", error);
21
+ }
22
+ };
23
+ void fetchOperations();
24
+ }, [actions, agent?.id]);
25
+ }
26
+ //# sourceMappingURL=useAgentOperationHistoryLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentOperationHistoryLoader.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentOperationHistoryLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAKzE,MAAM,UAAU,8BAA8B,CAAC,KAG9C;IACC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAEpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,gCAAgC,CACnD,KAAK,CAAC,EAAE,EACR,mBAAmB,CACpB,CAAC;gBACF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,eAAe,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { AgentDetails } from "../../services/agentService";
2
+ import type { AgentSessionActions } from "./useAgentSession";
3
+ export declare function useAgentOperationSocketHandler(input: {
4
+ agent: AgentDetails | undefined;
5
+ actions: AgentSessionActions;
6
+ }): (messageType: string, payload: any) => boolean;
@@ -0,0 +1,19 @@
1
+ import { useCallback } from "react";
2
+ export function useAgentOperationSocketHandler(input) {
3
+ const { agent, actions } = input;
4
+ return useCallback((messageType, payload) => {
5
+ if (messageType !== "edit-operation") {
6
+ return false;
7
+ }
8
+ if (!agent) {
9
+ return true;
10
+ }
11
+ const operation = payload;
12
+ const operationAgentId = operation.agentId || operation.user?.agentId;
13
+ if (operationAgentId === agent.id) {
14
+ actions.mergeOperationHistory([operation]);
15
+ }
16
+ return true;
17
+ }, [actions, agent]);
18
+ }
19
+ //# sourceMappingURL=useAgentOperationSocketHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentOperationSocketHandler.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentOperationSocketHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAKpC,MAAM,UAAU,8BAA8B,CAAC,KAG9C;IACC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEjC,OAAO,WAAW,CAChB,CAAC,WAAmB,EAAE,OAAY,EAAW,EAAE;QAC7C,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,OAAwB,CAAC;QAC3C,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;QACtE,IAAI,gBAAgB,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,EACD,CAAC,OAAO,EAAE,KAAK,CAAC,CACjB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { PendingToolCallInfo } from "./components/ToolCallDisplay";
2
+ import type { AgentSessionState } from "./types";
3
+ export declare function useAgentPendingApprovals(state: AgentSessionState): {
4
+ allPendingApprovals: PendingToolCallInfo[];
5
+ hasPendingApprovals: () => boolean;
6
+ };
@@ -0,0 +1,35 @@
1
+ import { useCallback, useMemo, useRef } from "react";
2
+ import { selectPendingApprovals } from "./agentSessionSelectors";
3
+ export function useAgentPendingApprovals(state) {
4
+ const allPendingApprovalsRef = useRef([]);
5
+ const allPendingApprovals = useMemo(() => {
6
+ const pending = selectPendingApprovals(state);
7
+ const prev = allPendingApprovalsRef.current;
8
+ if (prev.length === pending.length) {
9
+ let same = true;
10
+ for (let i = 0; i < pending.length; i++) {
11
+ const a = prev[i];
12
+ const b = pending[i];
13
+ if (a?.toolCallId !== b?.toolCallId ||
14
+ a?.messageId !== b?.messageId ||
15
+ a?.dbMessageId !== b?.dbMessageId ||
16
+ a?.riskLevel !== b?.riskLevel) {
17
+ same = false;
18
+ break;
19
+ }
20
+ }
21
+ if (same)
22
+ return prev;
23
+ }
24
+ allPendingApprovalsRef.current = pending;
25
+ return pending;
26
+ }, [state]);
27
+ const hasPendingApprovals = useCallback(() => {
28
+ return allPendingApprovals.length > 0;
29
+ }, [allPendingApprovals]);
30
+ return {
31
+ allPendingApprovals,
32
+ hasPendingApprovals,
33
+ };
34
+ }
35
+ //# sourceMappingURL=useAgentPendingApprovals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentPendingApprovals.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentPendingApprovals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,MAAM,UAAU,wBAAwB,CAAC,KAAwB;IAC/D,MAAM,sBAAsB,GAAG,MAAM,CAAwB,EAAE,CAAC,CAAC;IAEjE,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAA0B,EAAE;QAC9D,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAA0B,CAAC;QACvE,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrB,IACE,CAAC,EAAE,UAAU,KAAK,CAAC,EAAE,UAAU;oBAC/B,CAAC,EAAE,SAAS,KAAK,CAAC,EAAE,SAAS;oBAC7B,CAAC,EAAE,WAAW,KAAK,CAAC,EAAE,WAAW;oBACjC,CAAC,EAAE,SAAS,KAAK,CAAC,EAAE,SAAS,EAC7B,CAAC;oBACD,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;QACxB,CAAC;QACD,sBAAsB,CAAC,OAAO,GAAG,OAAO,CAAC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,OAAO,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,OAAO;QACL,mBAAmB;QACnB,mBAAmB;KACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { AgentDiagnosticsPendingDialog } from "../../services/agentService";
2
+ import type { AgentSessionActiveInlineDialog } from "./types";
3
+ export declare function useAgentPendingDialogRecovery(input: {
4
+ agentId: string;
5
+ agentStatus: unknown;
6
+ sessionId: string | undefined;
7
+ activeInlineDialog: AgentSessionActiveInlineDialog | null;
8
+ activeInlineDialogRef: {
9
+ current: AgentSessionActiveInlineDialog | null;
10
+ };
11
+ terminalInstanceIdRef: {
12
+ current: string;
13
+ };
14
+ appendToolUiEvent: (type: string, detail?: string | null, seq?: number | null) => void;
15
+ recoverPendingDialog?: (pendingDialog: AgentDiagnosticsPendingDialog) => boolean;
16
+ }): {
17
+ schedulePendingDialogReplay: (targetAgentId: string, callbackId: string, dialogType?: string | null) => void;
18
+ };
@@ -0,0 +1,108 @@
1
+ import { useCallback, useEffect, useRef } from "react";
2
+ import { parseAgentStatus } from "../../services/agentStatus";
3
+ import { DIALOG_TYPES } from "../dialogs/agentDialogTypes";
4
+ import { loadAgentRunDiagnostics, replayAgentSessionDialog, } from "./useAgentSessionSync";
5
+ export function useAgentPendingDialogRecovery(input) {
6
+ const { agentId, agentStatus, sessionId, activeInlineDialog, activeInlineDialogRef, terminalInstanceIdRef, appendToolUiEvent, recoverPendingDialog, } = input;
7
+ const pendingDialogReplayCallbackIdsRef = useRef(new Set());
8
+ const pendingDialogReplayTimeoutsRef = useRef(new Set());
9
+ const schedulePendingDialogReplay = useCallback((targetAgentId, callbackId, dialogType) => {
10
+ const normalizedCallbackId = callbackId.trim();
11
+ if (!targetAgentId || !normalizedCallbackId) {
12
+ return;
13
+ }
14
+ if (!sessionId) {
15
+ appendToolUiEvent("ui:pending-dialog-replay-skipped", `${dialogType || "dialog"} callbackId=${normalizedCallbackId} agentId=${targetAgentId} reason=no-session`);
16
+ return;
17
+ }
18
+ if (pendingDialogReplayCallbackIdsRef.current.has(normalizedCallbackId)) {
19
+ return;
20
+ }
21
+ pendingDialogReplayCallbackIdsRef.current.add(normalizedCallbackId);
22
+ const timeout = setTimeout(() => {
23
+ pendingDialogReplayTimeoutsRef.current.delete(timeout);
24
+ const activeCallbackId = activeInlineDialogRef.current?.request.callbackId?.trim();
25
+ if (activeCallbackId === normalizedCallbackId) {
26
+ return;
27
+ }
28
+ void replayAgentSessionDialog({
29
+ callbackId: normalizedCallbackId,
30
+ agentId: targetAgentId,
31
+ reason: "frontend-recover",
32
+ terminalInstanceId: terminalInstanceIdRef.current,
33
+ sessionId,
34
+ })
35
+ .then((result) => {
36
+ appendToolUiEvent("ui:pending-dialog-replay-requested", `${dialogType || "dialog"} callbackId=${normalizedCallbackId} agentId=${targetAgentId} replayed=${result.replayed ?? 0}`);
37
+ if (!result.replayed) {
38
+ pendingDialogReplayCallbackIdsRef.current.delete(normalizedCallbackId);
39
+ }
40
+ })
41
+ .catch((error) => {
42
+ pendingDialogReplayCallbackIdsRef.current.delete(normalizedCallbackId);
43
+ appendToolUiEvent("ui:pending-dialog-replay-failed", `${dialogType || "dialog"} callbackId=${normalizedCallbackId} agentId=${targetAgentId} error=${error instanceof Error ? error.message : String(error)}`);
44
+ });
45
+ }, 750);
46
+ pendingDialogReplayTimeoutsRef.current.add(timeout);
47
+ }, [activeInlineDialogRef, appendToolUiEvent, sessionId, terminalInstanceIdRef]);
48
+ useEffect(() => {
49
+ return () => {
50
+ pendingDialogReplayTimeoutsRef.current.forEach((timeout) => clearTimeout(timeout));
51
+ pendingDialogReplayTimeoutsRef.current.clear();
52
+ };
53
+ }, []);
54
+ useEffect(() => {
55
+ const currentStatus = parseAgentStatus(agentStatus);
56
+ if (currentStatus !== "waitingForInput" || activeInlineDialog || !sessionId) {
57
+ return;
58
+ }
59
+ let cancelled = false;
60
+ appendToolUiEvent("ui:pending-dialog-recovery-check-started", `agentId=${agentId} status=${currentStatus} activeDialog=false`);
61
+ void loadAgentRunDiagnostics(agentId, sessionId)
62
+ .then((diagnostics) => {
63
+ if (cancelled || activeInlineDialogRef.current)
64
+ return;
65
+ const pendingDialogs = diagnostics.pendingDialogs ?? [];
66
+ const pendingDialog = pendingDialogs.find((dialog) => dialog.replayableToCurrentSession &&
67
+ dialog.callbackId &&
68
+ dialog.dialogType !== DIALOG_TYPES.CAPTURE_PAGE_DOM &&
69
+ dialog.dialogType !== DIALOG_TYPES.CAPTURE_PAGE_SCREENSHOT);
70
+ if (!pendingDialog) {
71
+ appendToolUiEvent("ui:pending-dialog-recovery-check-not-required", `agentId=${agentId} pendingDialogCount=${diagnostics.pendingDialogCount ?? pendingDialogs.length} replayableDialogs=${pendingDialogs.length}`);
72
+ return;
73
+ }
74
+ appendToolUiEvent("ui:pending-dialog-recovery-check-required", `${pendingDialog.dialogType} callbackId=${pendingDialog.callbackId} agentId=${agentId}`);
75
+ if (recoverPendingDialog?.(pendingDialog)) {
76
+ appendToolUiEvent("ui:pending-dialog-recovered-from-transcript", `${pendingDialog.dialogType} callbackId=${pendingDialog.callbackId} agentId=${agentId}`);
77
+ return;
78
+ }
79
+ window.dispatchEvent(new CustomEvent("agent:dialog:recover", {
80
+ detail: {
81
+ agentId,
82
+ callbackId: pendingDialog.callbackId,
83
+ dialogType: pendingDialog.dialogType,
84
+ terminalInstanceId: terminalInstanceIdRef.current,
85
+ },
86
+ }));
87
+ schedulePendingDialogReplay(agentId, pendingDialog.callbackId, pendingDialog.dialogType);
88
+ })
89
+ .catch((error) => {
90
+ appendToolUiEvent("ui:pending-dialog-recovery-lookup-failed", error instanceof Error ? error.message : String(error));
91
+ });
92
+ return () => {
93
+ cancelled = true;
94
+ };
95
+ }, [
96
+ activeInlineDialog,
97
+ activeInlineDialogRef,
98
+ agentId,
99
+ agentStatus,
100
+ appendToolUiEvent,
101
+ recoverPendingDialog,
102
+ schedulePendingDialogReplay,
103
+ sessionId,
104
+ terminalInstanceIdRef,
105
+ ]);
106
+ return { schedulePendingDialogReplay };
107
+ }
108
+ //# sourceMappingURL=useAgentPendingDialogRecovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentPendingDialogRecovery.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentPendingDialogRecovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { act, renderHook } from "@testing-library/react";
2
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
3
+ import { useAgentPendingDialogRecovery } from "./useAgentPendingDialogRecovery";
4
+ import { replayAgentSessionDialog } from "./useAgentSessionSync";
5
+ vi.mock("./useAgentSessionSync", () => ({
6
+ loadAgentRunDiagnostics: vi.fn(),
7
+ replayAgentSessionDialog: vi.fn(),
8
+ }));
9
+ describe("useAgentPendingDialogRecovery", () => {
10
+ beforeEach(() => {
11
+ vi.useFakeTimers();
12
+ vi.mocked(replayAgentSessionDialog).mockResolvedValue({ replayed: 1 });
13
+ });
14
+ afterEach(() => {
15
+ vi.useRealTimers();
16
+ vi.clearAllMocks();
17
+ });
18
+ it("does not burn the replay dedupe when the session id is not ready", async () => {
19
+ const appendToolUiEvent = vi.fn();
20
+ const activeInlineDialogRef = { current: null };
21
+ const terminalInstanceIdRef = { current: "terminal-1" };
22
+ const { result, rerender } = renderHook(({ sessionId }) => useAgentPendingDialogRecovery({
23
+ agentId: "agent-1",
24
+ agentStatus: "idle",
25
+ sessionId,
26
+ activeInlineDialog: null,
27
+ activeInlineDialogRef,
28
+ terminalInstanceIdRef,
29
+ appendToolUiEvent,
30
+ }), { initialProps: { sessionId: undefined } });
31
+ act(() => {
32
+ result.current.schedulePendingDialogReplay("agent-1", "callback-1", "questionnaire");
33
+ });
34
+ expect(replayAgentSessionDialog).not.toHaveBeenCalled();
35
+ expect(appendToolUiEvent).toHaveBeenCalledWith("ui:pending-dialog-replay-skipped", expect.stringContaining("reason=no-session"));
36
+ rerender({ sessionId: "session-1" });
37
+ act(() => {
38
+ result.current.schedulePendingDialogReplay("agent-1", "callback-1", "questionnaire");
39
+ });
40
+ await act(async () => {
41
+ await vi.advanceTimersByTimeAsync(750);
42
+ });
43
+ expect(replayAgentSessionDialog).toHaveBeenCalledTimes(1);
44
+ expect(replayAgentSessionDialog).toHaveBeenCalledWith({
45
+ callbackId: "callback-1",
46
+ agentId: "agent-1",
47
+ reason: "frontend-recover",
48
+ terminalInstanceId: "terminal-1",
49
+ sessionId: "session-1",
50
+ });
51
+ });
52
+ it("allows a later retry when the backend reports nothing was replayed", async () => {
53
+ vi.mocked(replayAgentSessionDialog)
54
+ .mockResolvedValueOnce({ replayed: 0 })
55
+ .mockResolvedValueOnce({ replayed: 1 });
56
+ const { result } = renderHook(() => useAgentPendingDialogRecovery({
57
+ agentId: "agent-1",
58
+ agentStatus: "idle",
59
+ sessionId: "session-1",
60
+ activeInlineDialog: null,
61
+ activeInlineDialogRef: { current: null },
62
+ terminalInstanceIdRef: { current: "terminal-1" },
63
+ appendToolUiEvent: vi.fn(),
64
+ }));
65
+ act(() => {
66
+ result.current.schedulePendingDialogReplay("agent-1", "callback-1", "questionnaire");
67
+ });
68
+ await act(async () => {
69
+ await vi.advanceTimersByTimeAsync(750);
70
+ });
71
+ act(() => {
72
+ result.current.schedulePendingDialogReplay("agent-1", "callback-1", "questionnaire");
73
+ });
74
+ await act(async () => {
75
+ await vi.advanceTimersByTimeAsync(750);
76
+ });
77
+ expect(replayAgentSessionDialog).toHaveBeenCalledTimes(2);
78
+ });
79
+ });
80
+ //# sourceMappingURL=useAgentPendingDialogRecovery.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentPendingDialogRecovery.test.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentPendingDialogRecovery.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type MutableRefObject } from "react";
2
+ import type { AgentDetails, AgentMetadata } from "../../services/agentService";
3
+ import type { AiProfile } from "../../services/aiService";
4
+ export declare function useAgentPendingInitialPrompt(input: {
5
+ initialPrompt: string | undefined;
6
+ agentStubId: string;
7
+ agent: AgentDetails | undefined;
8
+ agentMetadata: AgentMetadata | null | undefined;
9
+ initialMetadata: AgentMetadata | undefined;
10
+ activeProfile: AiProfile | undefined;
11
+ selectedModelId: string | null | undefined;
12
+ effectiveIsFocused: boolean;
13
+ isLoading: boolean;
14
+ isSubmitting: boolean;
15
+ readOnly: boolean;
16
+ editContext: any;
17
+ submittedInitialPromptKeyRef?: MutableRefObject<string | null>;
18
+ handleSubmit: (promptOverride?: string) => void | Promise<void>;
19
+ }): void;
@@ -0,0 +1,60 @@
1
+ import { useEffect, useRef } from "react";
2
+ import { normalizeAgentSessionInitialPrompt } from "./useAgentSessionSync";
3
+ export function useAgentPendingInitialPrompt(input) {
4
+ const { initialPrompt, agentStubId, agent, agentMetadata, initialMetadata, activeProfile, selectedModelId, effectiveIsFocused, isLoading, isSubmitting, readOnly, editContext, submittedInitialPromptKeyRef, handleSubmit, } = input;
5
+ // The splash screen clears initialPrompt after first render; keep a local
6
+ // copy until the terminal is ready to submit it.
7
+ const pendingInitialPromptRef = useRef(normalizeAgentSessionInitialPrompt(initialPrompt));
8
+ const localSubmittedInitialPromptKeyRef = useRef(null);
9
+ const submittedKeyRef = submittedInitialPromptKeyRef ?? localSubmittedInitialPromptKeyRef;
10
+ useEffect(() => {
11
+ const normalizedPrompt = normalizeAgentSessionInitialPrompt(initialPrompt);
12
+ if (!normalizedPrompt)
13
+ return;
14
+ const promptKey = `${agentStubId}:${normalizedPrompt}`;
15
+ if (submittedKeyRef.current === promptKey)
16
+ return;
17
+ pendingInitialPromptRef.current = normalizedPrompt;
18
+ }, [agentStubId, initialPrompt, submittedKeyRef]);
19
+ useEffect(() => {
20
+ const promptToSubmit = pendingInitialPromptRef.current;
21
+ if (!promptToSubmit)
22
+ return;
23
+ const promptKey = `${agentStubId}:${promptToSubmit}`;
24
+ if (submittedKeyRef.current === promptKey) {
25
+ pendingInitialPromptRef.current = null;
26
+ return;
27
+ }
28
+ if (!effectiveIsFocused ||
29
+ isLoading ||
30
+ isSubmitting ||
31
+ readOnly ||
32
+ !editContext ||
33
+ !agent?.id ||
34
+ !activeProfile) {
35
+ return;
36
+ }
37
+ if ((activeProfile.models?.length ?? 0) > 0 && !selectedModelId)
38
+ return;
39
+ if (initialMetadata && !agentMetadata)
40
+ return;
41
+ submittedKeyRef.current = promptKey;
42
+ pendingInitialPromptRef.current = null;
43
+ void handleSubmit(promptToSubmit);
44
+ }, [
45
+ activeProfile,
46
+ agent?.id,
47
+ agentMetadata,
48
+ agentStubId,
49
+ editContext,
50
+ effectiveIsFocused,
51
+ handleSubmit,
52
+ initialMetadata,
53
+ isLoading,
54
+ isSubmitting,
55
+ readOnly,
56
+ selectedModelId,
57
+ submittedKeyRef,
58
+ ]);
59
+ }
60
+ //# sourceMappingURL=useAgentPendingInitialPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentPendingInitialPrompt.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentPendingInitialPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAyB,MAAM,OAAO,CAAC;AAGjE,OAAO,EAAE,kCAAkC,EAAE,MAAM,uBAAuB,CAAC;AAE3E,MAAM,UAAU,4BAA4B,CAAC,KAe5C;IACC,MAAM,EACJ,aAAa,EACb,WAAW,EACX,KAAK,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,4BAA4B,EAC5B,YAAY,GACb,GAAG,KAAK,CAAC;IAEV,0EAA0E;IAC1E,iDAAiD;IACjD,MAAM,uBAAuB,GAAG,MAAM,CACpC,kCAAkC,CAAC,aAAa,CAAC,CAClD,CAAC;IACF,MAAM,iCAAiC,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACtE,MAAM,eAAe,GACnB,4BAA4B,IAAI,iCAAiC,CAAC;IAEpE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,gBAAgB,GAAG,kCAAkC,CAAC,aAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAE9B,MAAM,SAAS,GAAG,GAAG,WAAW,IAAI,gBAAgB,EAAE,CAAC;QACvD,IAAI,eAAe,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO;QAElD,uBAAuB,CAAC,OAAO,GAAG,gBAAgB,CAAC;IACrD,CAAC,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,cAAc,GAAG,uBAAuB,CAAC,OAAO,CAAC;QACvD,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,SAAS,GAAG,GAAG,WAAW,IAAI,cAAc,EAAE,CAAC;QACrD,IAAI,eAAe,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1C,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IACE,CAAC,kBAAkB;YACnB,SAAS;YACT,YAAY;YACZ,QAAQ;YACR,CAAC,WAAW;YACZ,CAAC,KAAK,EAAE,EAAE;YACV,CAAC,aAAa,EACd,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO;QACxE,IAAI,eAAe,IAAI,CAAC,aAAa;YAAE,OAAO;QAE9C,eAAe,CAAC,OAAO,GAAG,SAAS,CAAC;QACpC,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC;QACvC,KAAK,YAAY,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC,EAAE;QACD,aAAa;QACb,KAAK,EAAE,EAAE;QACT,aAAa;QACb,WAAW;QACX,WAAW;QACX,kBAAkB;QAClB,YAAY;QACZ,eAAe;QACf,SAAS;QACT,YAAY;QACZ,QAAQ;QACR,eAAe;QACf,eAAe;KAChB,CAAC,CAAC;AACL,CAAC"}