@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.
- package/dist/config/config.js +8 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +8 -3
- package/dist/config/types.js.map +1 -1
- package/dist/editor/ContentTree.js +4 -0
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/Editor.d.ts +1 -1
- package/dist/editor/Editor.js +10 -5
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/ai/AgentTerminal.d.ts +2 -38
- package/dist/editor/ai/AgentTerminal.js +6 -6503
- package/dist/editor/ai/AgentTerminal.js.map +1 -1
- package/dist/editor/ai/Agents.js +37 -17
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/HeartbeatDiagnosticsPanel.d.ts +2 -2
- package/dist/editor/ai/HeartbeatDiagnosticsPanel.js +11 -7
- package/dist/editor/ai/HeartbeatDiagnosticsPanel.js.map +1 -1
- package/dist/editor/ai/agentDiagnostics.d.ts +26 -0
- package/dist/editor/ai/agentDiagnostics.js +39 -0
- package/dist/editor/ai/agentDiagnostics.js.map +1 -1
- package/dist/editor/ai/agentDiagnostics.test.js +118 -1
- package/dist/editor/ai/agentDiagnostics.test.js.map +1 -1
- package/dist/editor/ai/agentWatchdogStatusRegistry.d.ts +1 -0
- package/dist/editor/ai/agentWatchdogStatusRegistry.js.map +1 -1
- package/dist/editor/ai/terminal/agentOptimisticMessage.d.ts +1 -0
- package/dist/editor/ai/terminal/agentOptimisticMessage.js +4 -0
- package/dist/editor/ai/terminal/agentOptimisticMessage.js.map +1 -0
- package/dist/editor/ai/terminal/agentPromptPlaceholders.d.ts +5 -0
- package/dist/editor/ai/terminal/agentPromptPlaceholders.js +8 -0
- package/dist/editor/ai/terminal/agentPromptPlaceholders.js.map +1 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.d.ts +10 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js +87 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js.map +1 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.test.d.ts +1 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.test.js +109 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.test.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionCostLimit.d.ts +7 -0
- package/dist/editor/ai/terminal/agentSessionCostLimit.js +27 -0
- package/dist/editor/ai/terminal/agentSessionCostLimit.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.d.ts +6 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.js +112 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionMetadata.d.ts +2 -0
- package/dist/editor/ai/terminal/agentSessionMetadata.js +24 -0
- package/dist/editor/ai/terminal/agentSessionMetadata.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionSelectors.d.ts +65 -0
- package/dist/editor/ai/terminal/agentSessionSelectors.js +232 -0
- package/dist/editor/ai/terminal/agentSessionSelectors.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionSelectors.test.d.ts +1 -0
- package/dist/editor/ai/terminal/agentSessionSelectors.test.js +219 -0
- package/dist/editor/ai/terminal/agentSessionSelectors.test.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.d.ts +16 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.js +75 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.test.d.ts +1 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.test.js +136 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.test.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionState.d.ts +130 -0
- package/dist/editor/ai/terminal/agentSessionState.js +738 -0
- package/dist/editor/ai/terminal/agentSessionState.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionState.test.d.ts +1 -0
- package/dist/editor/ai/terminal/agentSessionState.test.js +456 -0
- package/dist/editor/ai/terminal/agentSessionState.test.js.map +1 -0
- package/dist/editor/ai/terminal/agentStartRequest.d.ts +14 -0
- package/dist/editor/ai/terminal/agentStartRequest.js +16 -0
- package/dist/editor/ai/terminal/agentStartRequest.js.map +1 -0
- package/dist/editor/ai/terminal/agentSubmitErrors.d.ts +1 -0
- package/dist/editor/ai/terminal/agentSubmitErrors.js +9 -0
- package/dist/editor/ai/terminal/agentSubmitErrors.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.d.ts +10 -0
- package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.js +24 -0
- package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.js.map +1 -0
- package/dist/editor/ai/{AgentCostDisplay.js → terminal/components/AgentCostDisplay.js} +2 -2
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -0
- package/dist/editor/ai/{AgentDocumentList.js → terminal/components/AgentDocumentList.js} +4 -4
- package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.d.ts +36 -0
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +34 -0
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -0
- package/dist/editor/ai/{AgentGreeting.d.ts → terminal/components/AgentGreeting.d.ts} +1 -1
- package/dist/editor/ai/{AgentGreeting.js → terminal/components/AgentGreeting.js} +3 -3
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentLoadingContent.d.ts +1 -0
- package/dist/editor/ai/terminal/components/AgentLoadingContent.js +6 -0
- package/dist/editor/ai/terminal/components/AgentLoadingContent.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.d.ts +7 -0
- package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js +8 -0
- package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentModeSelector.d.ts +8 -0
- package/dist/editor/ai/terminal/components/AgentModeSelector.js +13 -0
- package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentParentLink.d.ts +6 -0
- package/dist/editor/ai/terminal/components/AgentParentLink.js +9 -0
- package/dist/editor/ai/terminal/components/AgentParentLink.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.d.ts +8 -0
- package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js +10 -0
- package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.d.ts +15 -0
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js +18 -0
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.d.ts +14 -0
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +17 -0
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptComposer.d.ts +7 -0
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js +7 -0
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +29 -0
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +20 -0
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.d.ts +5 -0
- package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.js +7 -0
- package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.d.ts +8 -0
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js +32 -0
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSettingsContent.d.ts +52 -0
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js +9 -0
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSettingsPopover.d.ts +7 -0
- package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +14 -0
- package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSettingsSections.d.ts +43 -0
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js +33 -0
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.d.ts +21 -0
- package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.js +46 -0
- package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +26 -0
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js +10 -0
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSummaryErrorNotice.d.ts +6 -0
- package/dist/editor/ai/terminal/components/AgentSummaryErrorNotice.js +10 -0
- package/dist/editor/ai/terminal/components/AgentSummaryErrorNotice.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSummaryPlaceholder.d.ts +10 -0
- package/dist/editor/ai/terminal/components/AgentSummaryPlaceholder.js +13 -0
- package/dist/editor/ai/terminal/components/AgentSummaryPlaceholder.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSummaryPromptActions.d.ts +12 -0
- package/dist/editor/ai/terminal/components/AgentSummaryPromptActions.js +21 -0
- package/dist/editor/ai/terminal/components/AgentSummaryPromptActions.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +21 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js +13 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.d.ts +23 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.js +64 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalDialogHost.d.ts +13 -0
- package/dist/editor/ai/terminal/components/AgentTerminalDialogHost.js +10 -0
- package/dist/editor/ai/terminal/components/AgentTerminalDialogHost.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +20 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +27 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.d.ts +5 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js +7 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +48 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +13 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +20 -0
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +41 -0
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -0
- package/dist/editor/ai/{AgentTerminalStatusBar.d.ts → terminal/components/AgentTerminalStatusBar.d.ts} +11 -5
- package/dist/editor/ai/{AgentTerminalStatusBar.js → terminal/components/AgentTerminalStatusBar.js} +12 -13
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +45 -0
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +17 -0
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +15 -0
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +15 -0
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentThinkingDots.d.ts +5 -0
- package/dist/editor/ai/terminal/components/AgentThinkingDots.js +13 -0
- package/dist/editor/ai/terminal/components/AgentThinkingDots.js.map +1 -0
- package/dist/editor/ai/{AiResponseMessage.d.ts → terminal/components/AiResponseMessage.d.ts} +2 -2
- package/dist/editor/ai/{AiResponseMessage.js → terminal/components/AiResponseMessage.js} +9 -9
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -0
- package/dist/editor/ai/{ContextInfoBar.d.ts → terminal/components/ContextInfoBar.d.ts} +1 -1
- package/dist/editor/ai/{ContextInfoBar.js → terminal/components/ContextInfoBar.js} +5 -5
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -0
- package/dist/editor/ai/{EditOperationsPanel.d.ts → terminal/components/EditOperationsPanel.d.ts} +1 -1
- package/dist/editor/ai/{EditOperationsPanel.js → terminal/components/EditOperationsPanel.js} +2 -2
- package/dist/editor/ai/terminal/components/EditOperationsPanel.js.map +1 -0
- package/dist/editor/ai/{HeartbeatMessage.d.ts → terminal/components/HeartbeatMessage.d.ts} +1 -1
- package/dist/editor/ai/{HeartbeatMessage.js → terminal/components/HeartbeatMessage.js} +1 -1
- package/dist/editor/ai/terminal/components/HeartbeatMessage.js.map +1 -0
- package/dist/editor/ai/{InitialThinkingSplash.js → terminal/components/InitialThinkingSplash.js} +2 -2
- package/dist/editor/ai/terminal/components/InitialThinkingSplash.js.map +1 -0
- package/dist/editor/ai/{QueuedPromptsPanel.d.ts → terminal/components/QueuedPromptsPanel.d.ts} +1 -1
- package/dist/editor/ai/{QueuedPromptsPanel.js → terminal/components/QueuedPromptsPanel.js} +2 -2
- package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js.map +1 -0
- package/dist/editor/ai/{SpawnedAgentsPanel.d.ts → terminal/components/SpawnedAgentsPanel.d.ts} +1 -1
- package/dist/editor/ai/{SpawnedAgentsPanel.js → terminal/components/SpawnedAgentsPanel.js} +2 -2
- package/dist/editor/ai/terminal/components/SpawnedAgentsPanel.js.map +1 -0
- package/dist/editor/ai/{TodoListPanel.d.ts → terminal/components/TodoListPanel.d.ts} +1 -1
- package/dist/editor/ai/{TodoListPanel.js → terminal/components/TodoListPanel.js} +1 -1
- package/dist/editor/ai/terminal/components/TodoListPanel.js.map +1 -0
- package/dist/editor/ai/{ToolCallDisplay.js → terminal/components/ToolCallDisplay.js} +6 -6
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -0
- package/dist/editor/ai/{UserMessage.d.ts → terminal/components/UserMessage.d.ts} +1 -1
- package/dist/editor/ai/{UserMessage.js → terminal/components/UserMessage.js} +3 -3
- package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -0
- package/dist/editor/ai/terminal/types.d.ts +135 -0
- package/dist/editor/ai/terminal/types.js +2 -0
- package/dist/editor/ai/terminal/types.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentActiveStreaming.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentActiveStreaming.js +9 -0
- package/dist/editor/ai/terminal/useAgentActiveStreaming.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentAssignedSkillsSync.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentAssignedSkillsSync.js +19 -0
- package/dist/editor/ai/terminal/useAgentAssignedSkillsSync.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentBrowserCapture.d.ts +24 -0
- package/dist/editor/ai/terminal/useAgentBrowserCapture.js +147 -0
- package/dist/editor/ai/terminal/useAgentBrowserCapture.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentBrowserCapturePanel.d.ts +29 -0
- package/dist/editor/ai/terminal/useAgentBrowserCapturePanel.js +36 -0
- package/dist/editor/ai/terminal/useAgentBrowserCapturePanel.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentBrowserCaptureUi.d.ts +18 -0
- package/dist/editor/ai/terminal/useAgentBrowserCaptureUi.js +36 -0
- package/dist/editor/ai/terminal/useAgentBrowserCaptureUi.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentContentChunkHandler.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentContentChunkHandler.js +95 -0
- package/dist/editor/ai/terminal/useAgentContentChunkHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentContextDisplayNames.d.ts +9 -0
- package/dist/editor/ai/terminal/useAgentContextDisplayNames.js +98 -0
- package/dist/editor/ai/terminal/useAgentContextDisplayNames.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentContextUpdateHandler.d.ts +7 -0
- package/dist/editor/ai/terminal/useAgentContextUpdateHandler.js +29 -0
- package/dist/editor/ai/terminal/useAgentContextUpdateHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentCostLimitActions.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentCostLimitActions.js +43 -0
- package/dist/editor/ai/terminal/useAgentCostLimitActions.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentCostLimitWatcher.d.ts +11 -0
- package/dist/editor/ai/terminal/useAgentCostLimitWatcher.js +58 -0
- package/dist/editor/ai/terminal/useAgentCostLimitWatcher.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.d.ts +25 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js +161 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentEditorContext.d.ts +16 -0
- package/dist/editor/ai/terminal/useAgentEditorContext.js +135 -0
- package/dist/editor/ai/terminal/useAgentEditorContext.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentEditorContextPipeline.d.ts +23 -0
- package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js +22 -0
- package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentEditorContextSync.d.ts +19 -0
- package/dist/editor/ai/terminal/useAgentEditorContextSync.js +142 -0
- package/dist/editor/ai/terminal/useAgentEditorContextSync.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentEffectiveModelName.d.ts +7 -0
- package/dist/editor/ai/terminal/useAgentEffectiveModelName.js +10 -0
- package/dist/editor/ai/terminal/useAgentEffectiveModelName.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentHeartbeatMessages.d.ts +16 -0
- package/dist/editor/ai/terminal/useAgentHeartbeatMessages.js +55 -0
- package/dist/editor/ai/terminal/useAgentHeartbeatMessages.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInfoSocketHandler.d.ts +12 -0
- package/dist/editor/ai/terminal/useAgentInfoSocketHandler.js +55 -0
- package/dist/editor/ai/terminal/useAgentInfoSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInitialMetadataMerge.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentInitialMetadataMerge.js +18 -0
- package/dist/editor/ai/terminal/useAgentInitialMetadataMerge.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInitialPrompt.d.ts +16 -0
- package/dist/editor/ai/terminal/useAgentInitialPrompt.js +48 -0
- package/dist/editor/ai/terminal/useAgentInitialPrompt.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInitialPrompt.test.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentInitialPrompt.test.js +63 -0
- package/dist/editor/ai/terminal/useAgentInitialPrompt.test.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.d.ts +23 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js +191 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogPipeline.d.ts +23 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogPipeline.js +28 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogPipeline.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogState.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogState.js +49 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogState.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentLoadErrorHandler.d.ts +11 -0
- package/dist/editor/ai/terminal/useAgentLoadErrorHandler.js +24 -0
- package/dist/editor/ai/terminal/useAgentLoadErrorHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentLoadLifecycle.d.ts +7 -0
- package/dist/editor/ai/terminal/useAgentLoadLifecycle.js +21 -0
- package/dist/editor/ai/terminal/useAgentLoadLifecycle.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +39 -0
- package/dist/editor/ai/terminal/useAgentLoadPipeline.js +73 -0
- package/dist/editor/ai/terminal/useAgentLoadPipeline.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentLoadedRunStateSync.d.ts +13 -0
- package/dist/editor/ai/terminal/useAgentLoadedRunStateSync.js +31 -0
- package/dist/editor/ai/terminal/useAgentLoadedRunStateSync.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentLoader.d.ts +27 -0
- package/dist/editor/ai/terminal/useAgentLoader.js +77 -0
- package/dist/editor/ai/terminal/useAgentLoader.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentMessageCompletionNotifier.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentMessageCompletionNotifier.js +23 -0
- package/dist/editor/ai/terminal/useAgentMessageCompletionNotifier.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentModeState.d.ts +13 -0
- package/dist/editor/ai/terminal/useAgentModeState.js +52 -0
- package/dist/editor/ai/terminal/useAgentModeState.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.d.ts +8 -0
- package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.js +26 -0
- package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentOperationSocketHandler.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentOperationSocketHandler.js +19 -0
- package/dist/editor/ai/terminal/useAgentOperationSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPendingApprovals.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentPendingApprovals.js +35 -0
- package/dist/editor/ai/terminal/useAgentPendingApprovals.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.d.ts +18 -0
- package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.js +108 -0
- package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.test.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.test.js +80 -0
- package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.test.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.d.ts +19 -0
- package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.js +60 -0
- package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentProfileSelection.d.ts +17 -0
- package/dist/editor/ai/terminal/useAgentProfileSelection.js +61 -0
- package/dist/editor/ai/terminal/useAgentProfileSelection.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.d.ts +37 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.js +205 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerProps.d.ts +26 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerProps.js +51 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerProps.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +26 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerSurface.js +29 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerSurface.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPromptDraft.d.ts +11 -0
- package/dist/editor/ai/terminal/useAgentPromptDraft.js +39 -0
- package/dist/editor/ai/terminal/useAgentPromptDraft.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPromptQueueSocketHandler.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentPromptQueueSocketHandler.js +22 -0
- package/dist/editor/ai/terminal/useAgentPromptQueueSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.d.ts +12 -0
- package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.js +49 -0
- package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.test.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.test.js +135 -0
- package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.test.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentQueuedPromptReset.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentQueuedPromptReset.js +10 -0
- package/dist/editor/ai/terminal/useAgentQueuedPromptReset.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentQuickActions.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentQuickActions.js +57 -0
- package/dist/editor/ai/terminal/useAgentQuickActions.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.d.ts +22 -0
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js +67 -0
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.d.ts +18 -0
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js +53 -0
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.d.ts +24 -0
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js +66 -0
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunDiagnostics.d.ts +22 -0
- package/dist/editor/ai/terminal/useAgentRunDiagnostics.js +70 -0
- package/dist/editor/ai/terminal/useAgentRunDiagnostics.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.d.ts +42 -0
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js +39 -0
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunRefs.d.ts +17 -0
- package/dist/editor/ai/terminal/useAgentRunRefs.js +44 -0
- package/dist/editor/ai/terminal/useAgentRunRefs.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js +101 -0
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunSequenceGuard.d.ts +11 -0
- package/dist/editor/ai/terminal/useAgentRunSequenceGuard.js +22 -0
- package/dist/editor/ai/terminal/useAgentRunSequenceGuard.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunStartSocketHandler.d.ts +25 -0
- package/dist/editor/ai/terminal/useAgentRunStartSocketHandler.js +74 -0
- package/dist/editor/ai/terminal/useAgentRunStartSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.d.ts +38 -0
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +366 -0
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRuntimeStatus.d.ts +11 -0
- package/dist/editor/ai/terminal/useAgentRuntimeStatus.js +9 -0
- package/dist/editor/ai/terminal/useAgentRuntimeStatus.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentServerReconciler.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentServerReconciler.js +22 -0
- package/dist/editor/ai/terminal/useAgentServerReconciler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSession.d.ts +51 -0
- package/dist/editor/ai/terminal/useAgentSession.js +175 -0
- package/dist/editor/ai/terminal/useAgentSession.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSession.test.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentSession.test.js +181 -0
- package/dist/editor/ai/terminal/useAgentSession.test.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSessionCommandBindings.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentSessionCommandBindings.js +30 -0
- package/dist/editor/ai/terminal/useAgentSessionCommandBindings.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSessionErrorBridge.d.ts +10 -0
- package/dist/editor/ai/terminal/useAgentSessionErrorBridge.js +14 -0
- package/dist/editor/ai/terminal/useAgentSessionErrorBridge.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.d.ts +51 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.js +130 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSessionSocketSource.d.ts +8 -0
- package/dist/editor/ai/terminal/useAgentSessionSocketSource.js +17 -0
- package/dist/editor/ai/terminal/useAgentSessionSocketSource.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +98 -0
- package/dist/editor/ai/terminal/useAgentSessionSync.js +187 -0
- package/dist/editor/ai/terminal/useAgentSessionSync.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSettingsCommands.d.ts +49 -0
- package/dist/editor/ai/terminal/useAgentSettingsCommands.js +210 -0
- package/dist/editor/ai/terminal/useAgentSettingsCommands.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSettingsData.d.ts +46 -0
- package/dist/editor/ai/terminal/useAgentSettingsData.js +380 -0
- package/dist/editor/ai/terminal/useAgentSettingsData.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSettingsNavigation.d.ts +9 -0
- package/dist/editor/ai/terminal/useAgentSettingsNavigation.js +51 -0
- package/dist/editor/ai/terminal/useAgentSettingsNavigation.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSettingsPanel.d.ts +86 -0
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js +93 -0
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +45 -0
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.d.ts +35 -0
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js +51 -0
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +34 -0
- package/dist/editor/ai/terminal/useAgentSkillActions.js +222 -0
- package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSocketMessageRouter.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentSocketMessageRouter.js +52 -0
- package/dist/editor/ai/terminal/useAgentSocketMessageRouter.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStatusBarContent.d.ts +36 -0
- package/dist/editor/ai/terminal/useAgentStatusBarContent.js +70 -0
- package/dist/editor/ai/terminal/useAgentStatusBarContent.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStopCommand.d.ts +28 -0
- package/dist/editor/ai/terminal/useAgentStopCommand.js +55 -0
- package/dist/editor/ai/terminal/useAgentStopCommand.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStopGuardState.d.ts +7 -0
- package/dist/editor/ai/terminal/useAgentStopGuardState.js +40 -0
- package/dist/editor/ai/terminal/useAgentStopGuardState.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStreamMessageFactory.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentStreamMessageFactory.js +31 -0
- package/dist/editor/ai/terminal/useAgentStreamMessageFactory.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +66 -0
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js +165 -0
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStreamSubscription.d.ts +27 -0
- package/dist/editor/ai/terminal/useAgentStreamSubscription.js +70 -0
- package/dist/editor/ai/terminal/useAgentStreamSubscription.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStreamWatchdog.d.ts +38 -0
- package/dist/editor/ai/terminal/useAgentStreamWatchdog.js +232 -0
- package/dist/editor/ai/terminal/useAgentStreamWatchdog.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +14 -0
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +56 -0
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +52 -0
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +267 -0
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.d.ts +27 -0
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js +39 -0
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.d.ts +20 -0
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js +56 -0
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSummaryQuestionnaireScroll.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentSummaryQuestionnaireScroll.js +32 -0
- package/dist/editor/ai/terminal/useAgentSummaryQuestionnaireScroll.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalActions.d.ts +22 -0
- package/dist/editor/ai/terminal/useAgentTerminalActions.js +59 -0
- package/dist/editor/ai/terminal/useAgentTerminalActions.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalBackgroundEvents.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentTerminalBackgroundEvents.js +16 -0
- package/dist/editor/ai/terminal/useAgentTerminalBackgroundEvents.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalChrome.d.ts +29 -0
- package/dist/editor/ai/terminal/useAgentTerminalChrome.js +12 -0
- package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalController.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentTerminalController.js +775 -0
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalControls.d.ts +19 -0
- package/dist/editor/ai/terminal/useAgentTerminalControls.js +21 -0
- package/dist/editor/ai/terminal/useAgentTerminalControls.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalElementRefs.d.ts +11 -0
- package/dist/editor/ai/terminal/useAgentTerminalElementRefs.js +13 -0
- package/dist/editor/ai/terminal/useAgentTerminalElementRefs.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalNotices.d.ts +10 -0
- package/dist/editor/ai/terminal/useAgentTerminalNotices.js +11 -0
- package/dist/editor/ai/terminal/useAgentTerminalNotices.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalReadyEvents.d.ts +7 -0
- package/dist/editor/ai/terminal/useAgentTerminalReadyEvents.js +29 -0
- package/dist/editor/ai/terminal/useAgentTerminalReadyEvents.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalScroll.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentTerminalScroll.js +63 -0
- package/dist/editor/ai/terminal/useAgentTerminalScroll.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalUiState.d.ts +27 -0
- package/dist/editor/ai/terminal/useAgentTerminalUiState.js +43 -0
- package/dist/editor/ai/terminal/useAgentTerminalUiState.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +17 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +20 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewState.d.ts +38 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewState.js +58 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewState.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentToolApprovalResolvedEvents.d.ts +14 -0
- package/dist/editor/ai/terminal/useAgentToolApprovalResolvedEvents.js +65 -0
- package/dist/editor/ai/terminal/useAgentToolApprovalResolvedEvents.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentToolApprovalSupersede.d.ts +8 -0
- package/dist/editor/ai/terminal/useAgentToolApprovalSupersede.js +41 -0
- package/dist/editor/ai/terminal/useAgentToolApprovalSupersede.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentToolCallHandler.d.ts +12 -0
- package/dist/editor/ai/terminal/useAgentToolCallHandler.js +72 -0
- package/dist/editor/ai/terminal/useAgentToolCallHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentToolResultHandler.d.ts +12 -0
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js +84 -0
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentToolUiEvents.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentToolUiEvents.js +24 -0
- package/dist/editor/ai/terminal/useAgentToolUiEvents.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.d.ts +9 -0
- package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js +40 -0
- package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentVoiceInput.d.ts +16 -0
- package/dist/editor/ai/terminal/useAgentVoiceInput.js +231 -0
- package/dist/editor/ai/terminal/useAgentVoiceInput.js.map +1 -0
- package/dist/editor/ai/terminal/useSuppressedQueuedPrompts.d.ts +6 -0
- package/dist/editor/ai/terminal/useSuppressedQueuedPrompts.js +57 -0
- package/dist/editor/ai/terminal/useSuppressedQueuedPrompts.js.map +1 -0
- package/dist/editor/client/EditorShell.js +2 -2
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +2 -2
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/useEditorWebSocket.js +48 -1
- package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.js +30 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/operations.js +4 -2
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/pageModelBuilder.js +2 -2
- package/dist/editor/client/pageModelBuilder.js.map +1 -1
- package/dist/editor/commands/componentCommands.d.ts +11 -3
- package/dist/editor/commands/componentCommands.js +35 -3
- package/dist/editor/commands/componentCommands.js.map +1 -1
- package/dist/editor/commands/placeholderCommands.d.ts +17 -0
- package/dist/editor/commands/placeholderCommands.js +37 -0
- package/dist/editor/commands/placeholderCommands.js.map +1 -0
- package/dist/editor/debugSessionLog.d.ts +9 -0
- package/dist/editor/debugSessionLog.js +19 -0
- package/dist/editor/debugSessionLog.js.map +1 -0
- package/dist/editor/field-types/DropLinkEditor.js +30 -15
- package/dist/editor/field-types/DropLinkEditor.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.js +7 -1
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +7 -9
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/pageModel.d.ts +1 -0
- package/dist/editor/services/agentService.d.ts +9 -0
- package/dist/editor/services/agentService.js +12 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +1 -0
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/services/serviceHelper.js +14 -0
- package/dist/editor/services/serviceHelper.js.map +1 -1
- package/dist/editor/services/systemService.js +16 -0
- package/dist/editor/services/systemService.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js +4 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +88 -5
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/ui/DragPreview.d.ts +7 -0
- package/dist/editor/ui/DragPreview.js +96 -0
- package/dist/editor/ui/DragPreview.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/package.json +1 -1
- package/dist/editor/ai/AgentBanners.js.map +0 -1
- package/dist/editor/ai/AgentCostDisplay.js.map +0 -1
- package/dist/editor/ai/AgentDocumentList.js.map +0 -1
- package/dist/editor/ai/AgentGreeting.js.map +0 -1
- package/dist/editor/ai/AgentTerminalStatusBar.js.map +0 -1
- package/dist/editor/ai/AiResponseMessage.js.map +0 -1
- package/dist/editor/ai/ContextInfoBar.js.map +0 -1
- package/dist/editor/ai/DancingDots.d.ts +0 -1
- package/dist/editor/ai/DancingDots.js +0 -6
- package/dist/editor/ai/DancingDots.js.map +0 -1
- package/dist/editor/ai/EditOperationsPanel.js.map +0 -1
- package/dist/editor/ai/HeartbeatMessage.js.map +0 -1
- package/dist/editor/ai/InitialThinkingSplash.js.map +0 -1
- package/dist/editor/ai/QueuedPromptsPanel.js.map +0 -1
- package/dist/editor/ai/SpawnedAgentsPanel.js.map +0 -1
- package/dist/editor/ai/TodoListPanel.js.map +0 -1
- package/dist/editor/ai/ToolCallDisplay.js.map +0 -1
- package/dist/editor/ai/UserMessage.js.map +0 -1
- /package/dist/editor/ai/{AgentBanners.d.ts → terminal/components/AgentBanners.d.ts} +0 -0
- /package/dist/editor/ai/{AgentBanners.js → terminal/components/AgentBanners.js} +0 -0
- /package/dist/editor/ai/{AgentCostDisplay.d.ts → terminal/components/AgentCostDisplay.d.ts} +0 -0
- /package/dist/editor/ai/{AgentDocumentList.d.ts → terminal/components/AgentDocumentList.d.ts} +0 -0
- /package/dist/editor/ai/{InitialThinkingSplash.d.ts → terminal/components/InitialThinkingSplash.d.ts} +0 -0
- /package/dist/editor/ai/{ToolCallDisplay.d.ts → terminal/components/ToolCallDisplay.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentQuestionnaireDialogRecovery.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAKpC,OAAO,EAAE,sCAAsC,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAGzE,MAAM,UAAU,mCAAmC,CAAC,KAWnD;IACC,MAAM,EACJ,WAAW,EACX,OAAO,EACP,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,GACvB,GAAG,KAAK,CAAC;IAEV,OAAO,WAAW,CAChB,CAAC,aAA4C,EAAE,EAAE;QAC/C,MAAM,SAAS,GAAG,sCAAsC,CAAC;YACvD,QAAQ,EAAE,WAAW,CAAC,OAAO;YAC7B,aAAa;YACb,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qBAAqB,CAAC;YACpB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,KAAK,gCAAgC,CAAC;oBACpC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU;oBACxC,SAAS;oBACT,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;iBACnC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,iBAAiB,CACf,0CAA0C,EAC1C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,KAAK,OAAO,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,KAAK,gCAAgC,CAAC;oBACpC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU;oBACxC,SAAS;oBACT,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,iBAAiB,CACf,wCAAwC,EACxC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,KAAK,OAAO,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;YACnD,CAAC;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC,EACD;QACE,OAAO;QACP,iBAAiB;QACjB,WAAW;QACX,sBAAsB;QACtB,SAAS;QACT,qBAAqB;KACtB,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { act, renderHook } from "@testing-library/react";
|
|
2
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
|
+
import { useAgentQuestionnaireDialogRecovery } from "./useAgentQuestionnaireDialogRecovery";
|
|
4
|
+
import { submitAgentSessionDialogResponse } from "./useAgentSessionSync";
|
|
5
|
+
vi.mock("./useAgentSessionSync", () => ({
|
|
6
|
+
submitAgentSessionDialogResponse: vi.fn().mockResolvedValue(undefined),
|
|
7
|
+
}));
|
|
8
|
+
describe("useAgentQuestionnaireDialogRecovery", () => {
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
vi.clearAllMocks();
|
|
11
|
+
});
|
|
12
|
+
it("rebuilds a questionnaire dialog and submits completion responses", () => {
|
|
13
|
+
let activeDialog = null;
|
|
14
|
+
const setActiveInlineDialog = vi.fn((dialog) => {
|
|
15
|
+
activeDialog = dialog;
|
|
16
|
+
});
|
|
17
|
+
const onInteractionSubmitted = vi.fn();
|
|
18
|
+
const { result } = renderHook(() => useAgentQuestionnaireDialogRecovery({
|
|
19
|
+
messagesRef: {
|
|
20
|
+
current: [
|
|
21
|
+
message({
|
|
22
|
+
functionName: "ask-questionnaire",
|
|
23
|
+
functionArguments: JSON.stringify({
|
|
24
|
+
title: "PDF details",
|
|
25
|
+
questions: [{ id: "q1", prompt: "Which PDF?" }],
|
|
26
|
+
}),
|
|
27
|
+
}),
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
agentId: "agent-1",
|
|
31
|
+
sessionId: "session-1",
|
|
32
|
+
setActiveInlineDialog,
|
|
33
|
+
appendToolUiEvent: vi.fn(),
|
|
34
|
+
onInteractionSubmitted,
|
|
35
|
+
}));
|
|
36
|
+
const recovered = result.current({
|
|
37
|
+
callbackId: "callback-1",
|
|
38
|
+
dialogType: "questionnaire",
|
|
39
|
+
title: "Pending",
|
|
40
|
+
createdAt: "2026-01-01T00:00:00.000Z",
|
|
41
|
+
replayableToCurrentSession: true,
|
|
42
|
+
});
|
|
43
|
+
expect(recovered).toBe(true);
|
|
44
|
+
const recoveredDialog = activeDialog;
|
|
45
|
+
expect(recoveredDialog.request).toMatchObject({
|
|
46
|
+
callbackId: "callback-1",
|
|
47
|
+
agentId: "agent-1",
|
|
48
|
+
title: "PDF details",
|
|
49
|
+
});
|
|
50
|
+
act(() => {
|
|
51
|
+
activeDialog?.onComplete({ q1: "file.pdf" });
|
|
52
|
+
});
|
|
53
|
+
expect(submitAgentSessionDialogResponse).toHaveBeenCalledWith({
|
|
54
|
+
callbackId: "callback-1",
|
|
55
|
+
sessionId: "session-1",
|
|
56
|
+
cancelled: false,
|
|
57
|
+
resultJson: JSON.stringify({ q1: "file.pdf" }),
|
|
58
|
+
});
|
|
59
|
+
expect(onInteractionSubmitted).toHaveBeenCalledTimes(1);
|
|
60
|
+
});
|
|
61
|
+
it("submits cancellation responses for recovered dialogs", () => {
|
|
62
|
+
let activeDialog = null;
|
|
63
|
+
const { result } = renderHook(() => useAgentQuestionnaireDialogRecovery({
|
|
64
|
+
messagesRef: {
|
|
65
|
+
current: [
|
|
66
|
+
message({
|
|
67
|
+
functionName: "ask-questionnaire",
|
|
68
|
+
functionArguments: JSON.stringify({
|
|
69
|
+
questions: [{ id: "q1", prompt: "Question?" }],
|
|
70
|
+
}),
|
|
71
|
+
}),
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
agentId: "agent-1",
|
|
75
|
+
sessionId: "session-1",
|
|
76
|
+
setActiveInlineDialog: (dialog) => {
|
|
77
|
+
activeDialog = dialog;
|
|
78
|
+
},
|
|
79
|
+
appendToolUiEvent: vi.fn(),
|
|
80
|
+
}));
|
|
81
|
+
result.current({
|
|
82
|
+
callbackId: "callback-2",
|
|
83
|
+
dialogType: "questionnaire",
|
|
84
|
+
title: "Pending",
|
|
85
|
+
createdAt: "2026-01-01T00:00:00.000Z",
|
|
86
|
+
replayableToCurrentSession: true,
|
|
87
|
+
});
|
|
88
|
+
act(() => {
|
|
89
|
+
activeDialog?.onCancel();
|
|
90
|
+
});
|
|
91
|
+
expect(submitAgentSessionDialogResponse).toHaveBeenCalledWith({
|
|
92
|
+
callbackId: "callback-2",
|
|
93
|
+
sessionId: "session-1",
|
|
94
|
+
cancelled: true,
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
function message(toolCall) {
|
|
99
|
+
return {
|
|
100
|
+
id: "message-1",
|
|
101
|
+
agentId: "agent-1",
|
|
102
|
+
messageIndex: 0,
|
|
103
|
+
role: "assistant",
|
|
104
|
+
content: "",
|
|
105
|
+
name: "agent",
|
|
106
|
+
messageType: "streaming",
|
|
107
|
+
isCompleted: false,
|
|
108
|
+
model: "",
|
|
109
|
+
tokensUsed: 0,
|
|
110
|
+
inputTokens: 0,
|
|
111
|
+
outputTokens: 0,
|
|
112
|
+
cachedInputTokens: 0,
|
|
113
|
+
inputTokenCost: 0,
|
|
114
|
+
outputTokenCost: 0,
|
|
115
|
+
cachedInputTokenCost: 0,
|
|
116
|
+
totalCost: 0,
|
|
117
|
+
currency: "USD",
|
|
118
|
+
createdDate: "2026-01-01T00:00:00.000Z",
|
|
119
|
+
toolCalls: [
|
|
120
|
+
{
|
|
121
|
+
id: "tool-1",
|
|
122
|
+
messageId: "message-1",
|
|
123
|
+
toolCallId: "tool-1",
|
|
124
|
+
functionName: "",
|
|
125
|
+
functionArguments: "",
|
|
126
|
+
functionResult: "",
|
|
127
|
+
functionError: "",
|
|
128
|
+
isCompleted: false,
|
|
129
|
+
createdDate: "2026-01-01T00:00:00.000Z",
|
|
130
|
+
...toolCall,
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=useAgentQuestionnaireDialogRecovery.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentQuestionnaireDialogRecovery.test.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
export function useAgentQueuedPromptReset(input) {
|
|
3
|
+
const { agentId, isLocalOnlyDraftAgent, replaceQueuedPrompts } = input;
|
|
4
|
+
useEffect(() => {
|
|
5
|
+
if (!agentId || isLocalOnlyDraftAgent) {
|
|
6
|
+
replaceQueuedPrompts([]);
|
|
7
|
+
}
|
|
8
|
+
}, [agentId, isLocalOnlyDraftAgent, replaceQueuedPrompts]);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=useAgentQueuedPromptReset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentQueuedPromptReset.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentQueuedPromptReset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,UAAU,yBAAyB,CAAC,KAIzC;IACC,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,GAAG,KAAK,CAAC;IAEvE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,qBAAqB,EAAE,CAAC;YACtC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { AgentSummaryQuickAction } from "./components/AgentSummaryAssistantResponse";
|
|
3
|
+
import type { ActivePlaceholderInput } from "./useAgentPromptComposerHandlers";
|
|
4
|
+
import type { AgentSessionCommands } from "./types";
|
|
5
|
+
export declare function useAgentQuickActions(input: {
|
|
6
|
+
commands: AgentSessionCommands;
|
|
7
|
+
focusPromptAtEnd: () => void;
|
|
8
|
+
isExecuting: boolean;
|
|
9
|
+
setActivePlaceholderInput: React.Dispatch<React.SetStateAction<ActivePlaceholderInput>>;
|
|
10
|
+
setInputPlaceholder: React.Dispatch<React.SetStateAction<string>>;
|
|
11
|
+
setPrompt: React.Dispatch<React.SetStateAction<string>>;
|
|
12
|
+
}): {
|
|
13
|
+
handleSummaryQuickAction: (action: AgentSummaryQuickAction) => void;
|
|
14
|
+
handleMessageQuickAction: (action: AgentSummaryQuickAction) => void;
|
|
15
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
export function useAgentQuickActions(input) {
|
|
3
|
+
const { commands, focusPromptAtEnd, isExecuting, setActivePlaceholderInput, setInputPlaceholder, setPrompt, } = input;
|
|
4
|
+
const stopIfExecuting = useCallback(() => {
|
|
5
|
+
if (!isExecuting)
|
|
6
|
+
return;
|
|
7
|
+
try {
|
|
8
|
+
void commands.stopRun();
|
|
9
|
+
}
|
|
10
|
+
catch { }
|
|
11
|
+
}, [commands, isExecuting]);
|
|
12
|
+
const handleSummaryQuickAction = useCallback((action) => {
|
|
13
|
+
const text = (action.prompt ||
|
|
14
|
+
action.value ||
|
|
15
|
+
action.label ||
|
|
16
|
+
"").trim();
|
|
17
|
+
if (!text)
|
|
18
|
+
return;
|
|
19
|
+
stopIfExecuting();
|
|
20
|
+
void commands.sendQuickMessage(text);
|
|
21
|
+
}, [commands, stopIfExecuting]);
|
|
22
|
+
const handleMessageQuickAction = useCallback((action) => {
|
|
23
|
+
const text = (action.prompt ||
|
|
24
|
+
action.value ||
|
|
25
|
+
action.label ||
|
|
26
|
+
"").trim();
|
|
27
|
+
if (!text)
|
|
28
|
+
return;
|
|
29
|
+
if (/\{\{([^{}]+)\}\}|<<([^<>]+)>>/.test(text)) {
|
|
30
|
+
setActivePlaceholderInput({
|
|
31
|
+
text,
|
|
32
|
+
behavior: action.behavior,
|
|
33
|
+
});
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (action.behavior === "compose") {
|
|
37
|
+
setPrompt(text);
|
|
38
|
+
setInputPlaceholder(action.placeholder || "Review and edit, then press Enter to send");
|
|
39
|
+
focusPromptAtEnd();
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
stopIfExecuting();
|
|
43
|
+
void commands.sendQuickMessage(text);
|
|
44
|
+
}, [
|
|
45
|
+
commands,
|
|
46
|
+
focusPromptAtEnd,
|
|
47
|
+
setActivePlaceholderInput,
|
|
48
|
+
setInputPlaceholder,
|
|
49
|
+
setPrompt,
|
|
50
|
+
stopIfExecuting,
|
|
51
|
+
]);
|
|
52
|
+
return {
|
|
53
|
+
handleSummaryQuickAction,
|
|
54
|
+
handleMessageQuickAction,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=useAgentQuickActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentQuickActions.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentQuickActions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAKpC,MAAM,UAAU,oBAAoB,CAAC,KASpC;IACC,MAAM,EACJ,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,yBAAyB,EACzB,mBAAmB,EACnB,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,IAAI,CAAC;YACH,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5B,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,MAA+B,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,CACX,MAAM,CAAC,MAAM;YACb,MAAM,CAAC,KAAK;YACZ,MAAM,CAAC,KAAK;YACZ,EAAE,CACH,CAAC,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,eAAe,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,EACD,CAAC,QAAQ,EAAE,eAAe,CAAC,CAC5B,CAAC;IAEF,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,MAA+B,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,CACX,MAAM,CAAC,MAAM;YACb,MAAM,CAAC,KAAK;YACZ,MAAM,CAAC,KAAK;YACZ,EAAE,CACH,CAAC,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,yBAAyB,CAAC;gBACxB,IAAI;gBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,mBAAmB,CACjB,MAAM,CAAC,WAAW,IAAI,2CAA2C,CAClE,CAAC;YACF,gBAAgB,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,eAAe,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,EACD;QACE,QAAQ;QACR,gBAAgB;QAChB,yBAAyB;QACzB,mBAAmB;QACnB,SAAS;QACT,eAAe;KAChB,CACF,CAAC;IAEF,OAAO;QACL,wBAAwB;QACxB,wBAAwB;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type MutableRefObject, type SetStateAction } from "react";
|
|
2
|
+
import type { AgentDetails } from "../../services/agentService";
|
|
3
|
+
import type { AgentSessionActions } from "./useAgentSession";
|
|
4
|
+
type StateSetter<T> = (next: SetStateAction<T>) => void;
|
|
5
|
+
export declare function useAgentRunCompletionSocketHandler(input: {
|
|
6
|
+
actions: AgentSessionActions;
|
|
7
|
+
currentRunIdRef: MutableRefObject<string | null>;
|
|
8
|
+
lastSettledRunIdRef: MutableRefObject<string | null>;
|
|
9
|
+
lastNonHeartbeatUpdateAtRef: MutableRefObject<number>;
|
|
10
|
+
isWaitingRef: MutableRefObject<boolean>;
|
|
11
|
+
normalizeRunId: (value: unknown) => string | null;
|
|
12
|
+
noteMissingRunId: (source: string) => void;
|
|
13
|
+
settleCompletedRun: (finalStatus?: "completed" | "cancelled", runId?: string | null) => void;
|
|
14
|
+
clearHeartbeatMessages: () => void;
|
|
15
|
+
setError: StateSetter<string | null>;
|
|
16
|
+
setAgent: StateSetter<AgentDetails | undefined>;
|
|
17
|
+
setLastRunStatusReason: (reason: string | null) => void;
|
|
18
|
+
setIsWaitingForResponse: (isWaitingForResponse: boolean) => void;
|
|
19
|
+
setIsConnecting: (isConnecting: boolean) => void;
|
|
20
|
+
setIsAgentThinking: (isAgentThinking: boolean) => void;
|
|
21
|
+
}): (messageType: string, payload: any) => boolean;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import { toUserFacingAgentErrorMessage } from "../../services/agentErrorMessage";
|
|
3
|
+
import { normalizeServerExecutionStatus } from "../agentMessageHelpers";
|
|
4
|
+
export function useAgentRunCompletionSocketHandler(input) {
|
|
5
|
+
const { actions, currentRunIdRef, lastSettledRunIdRef, lastNonHeartbeatUpdateAtRef, isWaitingRef, normalizeRunId, noteMissingRunId, settleCompletedRun, clearHeartbeatMessages, setError, setAgent, setLastRunStatusReason, setIsWaitingForResponse, setIsConnecting, setIsAgentThinking, } = input;
|
|
6
|
+
return useCallback((messageType, payload) => {
|
|
7
|
+
if (messageType === "agent:run:complete") {
|
|
8
|
+
lastNonHeartbeatUpdateAtRef.current = Date.now();
|
|
9
|
+
const completeRunId = payload?.runId;
|
|
10
|
+
if (normalizeRunId(completeRunId) === null) {
|
|
11
|
+
noteMissingRunId("agent:run:complete");
|
|
12
|
+
}
|
|
13
|
+
const finalStatus = normalizeServerExecutionStatus(payload?.finalStatus);
|
|
14
|
+
const settledStatus = finalStatus === "cancelled" ? "cancelled" : "completed";
|
|
15
|
+
settleCompletedRun(settledStatus, completeRunId);
|
|
16
|
+
actions.settleRun({
|
|
17
|
+
finalStatus: settledStatus,
|
|
18
|
+
runId: completeRunId,
|
|
19
|
+
});
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
if (messageType !== "agent:run:error") {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
lastNonHeartbeatUpdateAtRef.current = Date.now();
|
|
26
|
+
const errorRunId = normalizeRunId(payload?.runId);
|
|
27
|
+
if (errorRunId === null) {
|
|
28
|
+
noteMissingRunId("agent:run:error");
|
|
29
|
+
}
|
|
30
|
+
else if (lastSettledRunIdRef.current === errorRunId ||
|
|
31
|
+
(currentRunIdRef.current !== null &&
|
|
32
|
+
currentRunIdRef.current !== errorRunId)) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
if (errorRunId !== null) {
|
|
36
|
+
lastSettledRunIdRef.current = errorRunId;
|
|
37
|
+
}
|
|
38
|
+
const errorMessage = toUserFacingAgentErrorMessage(payload?.error) ||
|
|
39
|
+
"AI could not complete this request.";
|
|
40
|
+
clearHeartbeatMessages();
|
|
41
|
+
setLastRunStatusReason(null);
|
|
42
|
+
setError(errorMessage);
|
|
43
|
+
setAgent((prev) => prev ? { ...prev, status: "error", statusMessage: errorMessage } : prev);
|
|
44
|
+
setIsWaitingForResponse(false);
|
|
45
|
+
isWaitingRef.current = false;
|
|
46
|
+
setIsConnecting(false);
|
|
47
|
+
setIsAgentThinking(false);
|
|
48
|
+
return true;
|
|
49
|
+
}, [
|
|
50
|
+
actions,
|
|
51
|
+
clearHeartbeatMessages,
|
|
52
|
+
currentRunIdRef,
|
|
53
|
+
isWaitingRef,
|
|
54
|
+
lastNonHeartbeatUpdateAtRef,
|
|
55
|
+
lastSettledRunIdRef,
|
|
56
|
+
normalizeRunId,
|
|
57
|
+
noteMissingRunId,
|
|
58
|
+
setAgent,
|
|
59
|
+
setError,
|
|
60
|
+
setIsAgentThinking,
|
|
61
|
+
setIsConnecting,
|
|
62
|
+
setIsWaitingForResponse,
|
|
63
|
+
setLastRunStatusReason,
|
|
64
|
+
settleCompletedRun,
|
|
65
|
+
]);
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=useAgentRunCompletionSocketHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentRunCompletionSocketHandler.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentRunCompletionSocketHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA8C,MAAM,OAAO,CAAC;AAEhF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAKxE,MAAM,UAAU,kCAAkC,CAAC,KAmBlD;IACC,MAAM,EACJ,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,2BAA2B,EAC3B,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,QAAQ,EACR,QAAQ,EACR,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,GACnB,GAAG,KAAK,CAAC;IAEV,OAAO,WAAW,CAChB,CAAC,WAAmB,EAAE,OAAY,EAAW,EAAE;QAC7C,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;YACzC,2BAA2B,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjD,MAAM,aAAa,GAAG,OAAO,EAAE,KAAK,CAAC;YACrC,IAAI,cAAc,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC3C,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,WAAW,GAAG,8BAA8B,CAChD,OAAO,EAAE,WAAW,CACrB,CAAC;YACF,MAAM,aAAa,GACjB,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;YAC1D,kBAAkB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACjD,OAAO,CAAC,SAAS,CAAC;gBAChB,WAAW,EAAE,aAAa;gBAC1B,KAAK,EAAE,aAAa;aACrB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,WAAW,KAAK,iBAAiB,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2BAA2B,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QACtC,CAAC;aAAM,IACL,mBAAmB,CAAC,OAAO,KAAK,UAAU;YAC1C,CAAC,eAAe,CAAC,OAAO,KAAK,IAAI;gBAC/B,eAAe,CAAC,OAAO,KAAK,UAAU,CAAC,EACzC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,mBAAmB,CAAC,OAAO,GAAG,UAAU,CAAC;QAC3C,CAAC;QAED,MAAM,YAAY,GAChB,6BAA6B,CAAC,OAAO,EAAE,KAAK,CAAC;YAC7C,qCAAqC,CAAC;QACxC,sBAAsB,EAAE,CAAC;QACzB,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7B,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvB,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CACxE,CAAC;QACF,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/B,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC,EACD;QACE,OAAO;QACP,sBAAsB;QACtB,eAAe;QACf,YAAY;QACZ,2BAA2B;QAC3B,mBAAmB;QACnB,cAAc;QACd,gBAAgB;QAChB,QAAQ;QACR,QAAQ;QACR,kBAAkB;QAClB,eAAe;QACf,uBAAuB;QACvB,sBAAsB;QACtB,kBAAkB;KACnB,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type MutableRefObject } from "react";
|
|
2
|
+
import type { AgentChatMessage, AgentDetails, AgentStreamMessage } from "../../services/agentService";
|
|
3
|
+
export declare function useAgentRunDeltaRouter(input: {
|
|
4
|
+
agent: AgentDetails | undefined;
|
|
5
|
+
messagesRef: MutableRefObject<AgentChatMessage[]>;
|
|
6
|
+
clearHeartbeatMessages: () => void;
|
|
7
|
+
handleContentChunk: (message: AgentStreamMessage, agent: AgentDetails) => void;
|
|
8
|
+
handleToolCall: (message: AgentStreamMessage, agent: AgentDetails) => void;
|
|
9
|
+
handleToolResult: (message: AgentStreamMessage, agent: AgentDetails) => void;
|
|
10
|
+
handleHeartbeatMessage: (message: AgentStreamMessage) => void;
|
|
11
|
+
handleContextUpdate: (contextData: any) => void;
|
|
12
|
+
appendToolUiEvent: (type: string, details?: string, seq?: number | null) => void;
|
|
13
|
+
}): (delta: {
|
|
14
|
+
type: string;
|
|
15
|
+
data: any;
|
|
16
|
+
cost: any;
|
|
17
|
+
seq?: number | null;
|
|
18
|
+
}) => void;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
export function useAgentRunDeltaRouter(input) {
|
|
3
|
+
const { agent, messagesRef, clearHeartbeatMessages, handleContentChunk, handleToolCall, handleToolResult, handleHeartbeatMessage, handleContextUpdate, appendToolUiEvent, } = input;
|
|
4
|
+
return useCallback((delta) => {
|
|
5
|
+
if (!agent) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const agentStreamMessage = {
|
|
9
|
+
type: delta.type,
|
|
10
|
+
data: delta.data,
|
|
11
|
+
cost: delta.cost,
|
|
12
|
+
timestamp: new Date().toISOString(),
|
|
13
|
+
};
|
|
14
|
+
const shouldClearHeartbeat = delta.type === "ContentChunk" ||
|
|
15
|
+
delta.type === "contentChunk" ||
|
|
16
|
+
delta.type === "ToolCall" ||
|
|
17
|
+
delta.type === "toolCall" ||
|
|
18
|
+
delta.type === "ToolResult" ||
|
|
19
|
+
delta.type === "toolResult";
|
|
20
|
+
if (shouldClearHeartbeat) {
|
|
21
|
+
clearHeartbeatMessages();
|
|
22
|
+
}
|
|
23
|
+
if (delta.type === "ContentChunk" || delta.type === "contentChunk") {
|
|
24
|
+
handleContentChunk(agentStreamMessage, agent);
|
|
25
|
+
}
|
|
26
|
+
else if (delta.type === "ToolCall" || delta.type === "toolCall") {
|
|
27
|
+
appendToolUiEvent("ui:tool-delta-received", `ToolCall:${String(delta.data?.functionName || delta.data?.name || delta.data?.displayName || "unknown")} messageId=${String(delta.data?.messageId || "none")} activeStreaming=${messagesRef.current.some((message) => !message.isCompleted && message.messageType === "streaming") ? "yes" : "no"}`, delta.seq ?? null);
|
|
28
|
+
handleToolCall(agentStreamMessage, agent);
|
|
29
|
+
}
|
|
30
|
+
else if (delta.type === "ToolResult" || delta.type === "toolResult") {
|
|
31
|
+
appendToolUiEvent("ui:tool-delta-received", `ToolResult:${String(delta.data?.functionName || delta.data?.name || delta.data?.displayName || "unknown")} messageId=${String(delta.data?.messageId || "none")} activeStreaming=${messagesRef.current.some((message) => !message.isCompleted && message.messageType === "streaming") ? "yes" : "no"}`, delta.seq ?? null);
|
|
32
|
+
handleToolResult(agentStreamMessage, agent);
|
|
33
|
+
}
|
|
34
|
+
else if (delta.type === "Heartbeat" || delta.type === "heartbeat") {
|
|
35
|
+
handleHeartbeatMessage(agentStreamMessage);
|
|
36
|
+
}
|
|
37
|
+
else if (delta.type === "ContextUpdate" ||
|
|
38
|
+
delta.type === "contextUpdate") {
|
|
39
|
+
handleContextUpdate(delta.data);
|
|
40
|
+
}
|
|
41
|
+
}, [
|
|
42
|
+
agent,
|
|
43
|
+
appendToolUiEvent,
|
|
44
|
+
clearHeartbeatMessages,
|
|
45
|
+
handleContentChunk,
|
|
46
|
+
handleContextUpdate,
|
|
47
|
+
handleHeartbeatMessage,
|
|
48
|
+
handleToolCall,
|
|
49
|
+
handleToolResult,
|
|
50
|
+
messagesRef,
|
|
51
|
+
]);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=useAgentRunDeltaRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentRunDeltaRouter.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentRunDeltaRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type MutableRefObject } from "react";
|
|
2
|
+
import type { AgentChatMessage, AgentDetails } from "../../services/agentService";
|
|
3
|
+
export declare function useAgentRunDeltaSocketHandler(input: {
|
|
4
|
+
agent: AgentDetails | undefined;
|
|
5
|
+
isStoppingRef: MutableRefObject<boolean>;
|
|
6
|
+
currentRunIdRef: MutableRefObject<string | null>;
|
|
7
|
+
lastResyncedMessageIdsRef: MutableRefObject<Set<string>>;
|
|
8
|
+
messagesRef: MutableRefObject<AgentChatMessage[]>;
|
|
9
|
+
lastNonHeartbeatUpdateAtRef: MutableRefObject<number>;
|
|
10
|
+
normalizeRunId: (value: unknown) => string | null;
|
|
11
|
+
noteMissingRunId: (source: string) => void;
|
|
12
|
+
appendToolUiEvent: (type: string, detail?: string | null, seq?: number | null) => void;
|
|
13
|
+
acceptRunSequenceFrame: (input: {
|
|
14
|
+
eventName: "agent:run:delta" | "agent:run:status";
|
|
15
|
+
runId: string | undefined;
|
|
16
|
+
seq: number | undefined;
|
|
17
|
+
}) => boolean;
|
|
18
|
+
routeRunDelta: (input: {
|
|
19
|
+
type: string;
|
|
20
|
+
data: any;
|
|
21
|
+
cost: any;
|
|
22
|
+
seq: number;
|
|
23
|
+
}) => void;
|
|
24
|
+
}): (messageType: string, payload: any) => boolean;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
export function useAgentRunDeltaSocketHandler(input) {
|
|
3
|
+
const { agent, isStoppingRef, currentRunIdRef, lastResyncedMessageIdsRef, messagesRef, lastNonHeartbeatUpdateAtRef, normalizeRunId, noteMissingRunId, appendToolUiEvent, acceptRunSequenceFrame, routeRunDelta, } = input;
|
|
4
|
+
return useCallback((messageType, payload) => {
|
|
5
|
+
if (messageType !== "agent:run:delta") {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
if (!agent || isStoppingRef.current) {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
const deltaRunId = normalizeRunId(payload?.runId);
|
|
12
|
+
if (deltaRunId === null) {
|
|
13
|
+
noteMissingRunId("agent:run:delta");
|
|
14
|
+
}
|
|
15
|
+
else if (currentRunIdRef.current !== null &&
|
|
16
|
+
deltaRunId !== currentRunIdRef.current) {
|
|
17
|
+
appendToolUiEvent("ui:stream-runid-dropped", `agent:run:delta runId=${deltaRunId} currentRunId=${currentRunIdRef.current}`);
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
const { seq, type, data, cost } = payload;
|
|
21
|
+
if ((!seq || seq === 0) && data?.messageId) {
|
|
22
|
+
const replayMessageId = String(data.messageId).toLowerCase();
|
|
23
|
+
if (lastResyncedMessageIdsRef.current.has(replayMessageId)) {
|
|
24
|
+
appendToolUiEvent("ui:stream-resync-skip-delta", `agent:run:delta messageId=${data.messageId} reason=already-resynced`);
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const isContextUpdate = type === "ContextUpdate" || type === "contextUpdate";
|
|
29
|
+
const isHeartbeat = type === "Heartbeat" || type === "heartbeat";
|
|
30
|
+
const isRunning = agent.status === "running" || agent.status === 1;
|
|
31
|
+
const hasStreaming = messagesRef.current.some((message) => !message.isCompleted && message.messageType === "streaming");
|
|
32
|
+
const hasMessageId = !!data?.messageId;
|
|
33
|
+
if (!isContextUpdate &&
|
|
34
|
+
!isHeartbeat &&
|
|
35
|
+
!isRunning &&
|
|
36
|
+
!hasStreaming &&
|
|
37
|
+
!hasMessageId) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
if (!acceptRunSequenceFrame({
|
|
41
|
+
eventName: "agent:run:delta",
|
|
42
|
+
runId: payload?.runId,
|
|
43
|
+
seq,
|
|
44
|
+
})) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
if (!isHeartbeat) {
|
|
48
|
+
lastNonHeartbeatUpdateAtRef.current = Date.now();
|
|
49
|
+
}
|
|
50
|
+
routeRunDelta({ type, data, cost, seq });
|
|
51
|
+
return true;
|
|
52
|
+
}, [
|
|
53
|
+
acceptRunSequenceFrame,
|
|
54
|
+
agent,
|
|
55
|
+
appendToolUiEvent,
|
|
56
|
+
currentRunIdRef,
|
|
57
|
+
isStoppingRef,
|
|
58
|
+
lastNonHeartbeatUpdateAtRef,
|
|
59
|
+
lastResyncedMessageIdsRef,
|
|
60
|
+
messagesRef,
|
|
61
|
+
normalizeRunId,
|
|
62
|
+
noteMissingRunId,
|
|
63
|
+
routeRunDelta,
|
|
64
|
+
]);
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=useAgentRunDeltaSocketHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentRunDeltaSocketHandler.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentRunDeltaSocketHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { AgentTerminalRecentEvent } from "../agentDiagnostics";
|
|
2
|
+
interface AgentRunSocketMessage {
|
|
3
|
+
timestamp: string;
|
|
4
|
+
direction?: AgentTerminalRecentEvent["direction"];
|
|
5
|
+
type: string;
|
|
6
|
+
seq?: number | null;
|
|
7
|
+
detail?: string | null;
|
|
8
|
+
payload?: any;
|
|
9
|
+
rawMessage?: string | null;
|
|
10
|
+
payloadBytes?: number | null;
|
|
11
|
+
}
|
|
12
|
+
export interface AgentRunDiagnosticsSummary {
|
|
13
|
+
events: AgentTerminalRecentEvent[];
|
|
14
|
+
totalCount: number;
|
|
15
|
+
receivedSeqs: number[];
|
|
16
|
+
missingSeqs: number[];
|
|
17
|
+
}
|
|
18
|
+
export declare function useAgentRunDiagnostics(input: {
|
|
19
|
+
agentId: string | undefined;
|
|
20
|
+
webSocketMessages?: AgentRunSocketMessage[] | null;
|
|
21
|
+
}): AgentRunDiagnosticsSummary;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { getAgentRunMessageAgentId, getAgentRunMessageDetail, getAgentRunMessageSeq, isHeartbeatRunEventMessage, normalizeDialogAgentId, } from "../agentMessageHelpers";
|
|
3
|
+
const RECENT_RUN_EVENTS_LIMIT = 50;
|
|
4
|
+
const EMPTY_RUN_DIAGNOSTICS = {
|
|
5
|
+
events: [],
|
|
6
|
+
totalCount: 0,
|
|
7
|
+
receivedSeqs: [],
|
|
8
|
+
missingSeqs: [],
|
|
9
|
+
};
|
|
10
|
+
export function useAgentRunDiagnostics(input) {
|
|
11
|
+
const { agentId, webSocketMessages } = input;
|
|
12
|
+
return useMemo(() => {
|
|
13
|
+
const normalizedAgentId = normalizeDialogAgentId(agentId);
|
|
14
|
+
if (!normalizedAgentId) {
|
|
15
|
+
return EMPTY_RUN_DIAGNOSTICS;
|
|
16
|
+
}
|
|
17
|
+
const agentRunMessages = (webSocketMessages || []).filter((message) => {
|
|
18
|
+
if (!message?.type?.startsWith("agent:run:")) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
if (isHeartbeatRunEventMessage(message)) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return getAgentRunMessageAgentId(message.payload) === normalizedAgentId;
|
|
25
|
+
});
|
|
26
|
+
let runStartIndex = 0;
|
|
27
|
+
for (let i = agentRunMessages.length - 1; i >= 0; i--) {
|
|
28
|
+
if (agentRunMessages[i]?.type === "agent:run:start") {
|
|
29
|
+
runStartIndex = i;
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const currentRunMessages = agentRunMessages.slice(runStartIndex);
|
|
34
|
+
const seqsSet = new Set();
|
|
35
|
+
for (const message of currentRunMessages) {
|
|
36
|
+
const seq = message.seq ?? getAgentRunMessageSeq(message.payload);
|
|
37
|
+
if (typeof seq === "number" && seq > 0) {
|
|
38
|
+
seqsSet.add(seq);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const receivedSeqs = [...seqsSet].sort((a, b) => a - b);
|
|
42
|
+
const missingSeqs = [];
|
|
43
|
+
const max = receivedSeqs[receivedSeqs.length - 1];
|
|
44
|
+
if (max !== undefined) {
|
|
45
|
+
for (let i = 1; i <= max; i++) {
|
|
46
|
+
if (!seqsSet.has(i))
|
|
47
|
+
missingSeqs.push(i);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const events = currentRunMessages
|
|
51
|
+
.slice(-RECENT_RUN_EVENTS_LIMIT)
|
|
52
|
+
.map((message) => ({
|
|
53
|
+
timestamp: message.timestamp,
|
|
54
|
+
direction: message.direction ?? "incoming",
|
|
55
|
+
type: message.type,
|
|
56
|
+
seq: message.seq ?? getAgentRunMessageSeq(message.payload),
|
|
57
|
+
detail: message.detail ??
|
|
58
|
+
getAgentRunMessageDetail(message.type, message.payload),
|
|
59
|
+
rawMessage: message.rawMessage,
|
|
60
|
+
payloadBytes: message.payloadBytes ?? null,
|
|
61
|
+
}));
|
|
62
|
+
return {
|
|
63
|
+
events,
|
|
64
|
+
totalCount: currentRunMessages.length,
|
|
65
|
+
receivedSeqs,
|
|
66
|
+
missingSeqs,
|
|
67
|
+
};
|
|
68
|
+
}, [agentId, webSocketMessages]);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=useAgentRunDiagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentRunDiagnostics.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentRunDiagnostics.ts"],"names":[],"mappings":"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"}
|