@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,135 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { Agent, AgentChatMessage, AgentDetails, AgentMetadata, QueuedPrompt } from "../../services/agentService";
|
|
3
|
+
import type { AiProfile } from "../../services/aiService";
|
|
4
|
+
import type { AgentStatus } from "../../services/agentStatus";
|
|
5
|
+
import type { EditOperation } from "../../../types";
|
|
6
|
+
import type { AgentDialogRequest } from "../dialogs/agentDialogTypes";
|
|
7
|
+
export interface AgentTerminalProps {
|
|
8
|
+
agentStub: Agent;
|
|
9
|
+
initialMetadata?: AgentMetadata;
|
|
10
|
+
profiles: AiProfile[];
|
|
11
|
+
onReloadProfiles?: () => void | Promise<void>;
|
|
12
|
+
/** Legacy single flag. If `isVisible`/`isFocused` are omitted, both fall back to this. */
|
|
13
|
+
isActive?: boolean;
|
|
14
|
+
/** Mounted and rendered. Drives WebSocket subscription, polling, and reload-on-active. Defaults to `isActive ?? true`. */
|
|
15
|
+
isVisible?: boolean;
|
|
16
|
+
/** Receives keyboard focus and owns dialogs. Defaults to `isActive ?? true`. */
|
|
17
|
+
isFocused?: boolean;
|
|
18
|
+
compact?: boolean;
|
|
19
|
+
displayMode?: "full" | "summary";
|
|
20
|
+
showSummaryInput?: boolean;
|
|
21
|
+
hideContext?: boolean;
|
|
22
|
+
hideBottomControls?: boolean;
|
|
23
|
+
/** Force the bottom status bar (model/context/cost) to render even when bottom controls are hidden. Defaults to `!hideBottomControls`. */
|
|
24
|
+
showStatusBar?: boolean;
|
|
25
|
+
/** Force the agent configuration row (mode selector, Agent settings popover) to render even when bottom controls are hidden. Defaults to `!hideBottomControls`. */
|
|
26
|
+
showAgentConfigControls?: boolean;
|
|
27
|
+
hideGreeting?: boolean;
|
|
28
|
+
defaultCollapseJson?: boolean;
|
|
29
|
+
simpleMode?: boolean;
|
|
30
|
+
className?: string;
|
|
31
|
+
initialPrompt?: string;
|
|
32
|
+
onAgentUpdate?: (updates: Partial<Agent>) => void;
|
|
33
|
+
onMessage?: (message: AgentChatMessage) => void;
|
|
34
|
+
onInteractionSubmitted?: () => void | Promise<void>;
|
|
35
|
+
onQuestionnaireOpenChange?: (isOpen: boolean) => void;
|
|
36
|
+
questionnaireFooterActions?: React.ReactNode;
|
|
37
|
+
hideSummaryMessages?: boolean;
|
|
38
|
+
summaryPlaceholderActions?: React.ReactNode;
|
|
39
|
+
summaryPlaceholderMessage?: string;
|
|
40
|
+
hideSummaryWaitingPlaceholder?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export type AgentSessionLoadStatus = "idle" | "loading" | "ready" | "error";
|
|
43
|
+
export interface AgentSessionRunState {
|
|
44
|
+
currentRunId: string | null;
|
|
45
|
+
lastSeq: number;
|
|
46
|
+
lastSettledRunId: string | null;
|
|
47
|
+
status: AgentStatus | "submitting" | "connecting" | null;
|
|
48
|
+
lastStatusReason: string | null;
|
|
49
|
+
isConnecting: boolean;
|
|
50
|
+
isSubmitting: boolean;
|
|
51
|
+
isWaitingForResponse: boolean;
|
|
52
|
+
isAgentThinking: boolean;
|
|
53
|
+
stopGuardActive: boolean;
|
|
54
|
+
}
|
|
55
|
+
export interface AgentSessionReconciliationState {
|
|
56
|
+
snapshotEpoch: number;
|
|
57
|
+
latestAcceptedSnapshotEpoch: number;
|
|
58
|
+
seenMessageIds: string[];
|
|
59
|
+
}
|
|
60
|
+
export interface AgentSessionActiveInlineDialog {
|
|
61
|
+
request: AgentDialogRequest;
|
|
62
|
+
onComplete: (result: unknown | null) => void;
|
|
63
|
+
onCancel: () => void;
|
|
64
|
+
}
|
|
65
|
+
export interface AgentSessionCostLimitState {
|
|
66
|
+
totalCost: number;
|
|
67
|
+
costLimit: number;
|
|
68
|
+
initialCostLimit: number;
|
|
69
|
+
}
|
|
70
|
+
export interface AgentSessionContextWindowState {
|
|
71
|
+
contextWindowTokens: number;
|
|
72
|
+
estimatedInputTokens: number;
|
|
73
|
+
contextUsedPercent: number;
|
|
74
|
+
model?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface AgentSessionLiveTotalsState {
|
|
77
|
+
input: number;
|
|
78
|
+
output: number;
|
|
79
|
+
cached: number;
|
|
80
|
+
cacheWrite?: number;
|
|
81
|
+
inputAudio?: number;
|
|
82
|
+
outputAudio?: number;
|
|
83
|
+
outputImage?: number;
|
|
84
|
+
reasoning?: number;
|
|
85
|
+
inputCost: number;
|
|
86
|
+
outputCost: number;
|
|
87
|
+
cachedCost: number;
|
|
88
|
+
cacheWriteCost?: number;
|
|
89
|
+
inputAudioCost?: number;
|
|
90
|
+
outputAudioCost?: number;
|
|
91
|
+
outputImageCost?: number;
|
|
92
|
+
imageCost: number;
|
|
93
|
+
markupCost?: number;
|
|
94
|
+
reportedTotalCost?: number;
|
|
95
|
+
totalCost: number;
|
|
96
|
+
currency?: string;
|
|
97
|
+
}
|
|
98
|
+
export interface AgentSessionState {
|
|
99
|
+
loadStatus: AgentSessionLoadStatus;
|
|
100
|
+
error: string | null;
|
|
101
|
+
agent: AgentDetails | undefined;
|
|
102
|
+
transcript: AgentChatMessage[];
|
|
103
|
+
operationHistory: EditOperation[];
|
|
104
|
+
queuedPrompts: QueuedPrompt[];
|
|
105
|
+
metadata: AgentMetadata | null;
|
|
106
|
+
costLimitExceeded: AgentSessionCostLimitState | null;
|
|
107
|
+
contextWindowStatus: AgentSessionContextWindowState | null;
|
|
108
|
+
liveTotals: AgentSessionLiveTotalsState | null;
|
|
109
|
+
browserClaimMutationPending: boolean;
|
|
110
|
+
activeInlineDialog: AgentSessionActiveInlineDialog | null;
|
|
111
|
+
run: AgentSessionRunState;
|
|
112
|
+
reconciliation: AgentSessionReconciliationState;
|
|
113
|
+
}
|
|
114
|
+
export interface AgentSessionSubmitPromptInput {
|
|
115
|
+
text: string;
|
|
116
|
+
source: "composer" | "quick-action" | "initial-prompt";
|
|
117
|
+
}
|
|
118
|
+
export interface AgentSessionCommands {
|
|
119
|
+
reload: (options?: {
|
|
120
|
+
silent?: boolean;
|
|
121
|
+
}) => Promise<void>;
|
|
122
|
+
submitPrompt: (input: AgentSessionSubmitPromptInput) => Promise<void>;
|
|
123
|
+
sendQuickMessage: (text: string) => Promise<void>;
|
|
124
|
+
stopRun: () => Promise<void>;
|
|
125
|
+
resolveToolApproval: (input: {
|
|
126
|
+
messageId: string;
|
|
127
|
+
toolCallId: string;
|
|
128
|
+
approved: boolean;
|
|
129
|
+
note?: string;
|
|
130
|
+
}) => Promise<void>;
|
|
131
|
+
cancelInlineDialog: () => void;
|
|
132
|
+
refreshContext: () => Promise<void>;
|
|
133
|
+
claimBrowser: (takeOver: boolean) => Promise<void>;
|
|
134
|
+
releaseBrowser: () => Promise<void>;
|
|
135
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
export function useAgentActiveStreaming(input) {
|
|
3
|
+
const { messagesRef } = input;
|
|
4
|
+
return useCallback(() => {
|
|
5
|
+
const current = messagesRef.current || [];
|
|
6
|
+
return current.some((m) => !m.isCompleted && m.messageType === "streaming");
|
|
7
|
+
}, [messagesRef]);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=useAgentActiveStreaming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentActiveStreaming.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentActiveStreaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGpC,MAAM,UAAU,uBAAuB,CAAC,KAEvC;IACC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAE9B,OAAO,WAAW,CAAC,GAAG,EAAE;QACtB,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type SetStateAction } from "react";
|
|
2
|
+
import type { AgentDetails } from "../../services/agentService";
|
|
3
|
+
export declare function useAgentAssignedSkillsSync(input: {
|
|
4
|
+
setAgent: (nextAgent: SetStateAction<AgentDetails | undefined>) => void;
|
|
5
|
+
}): (latestSkillIds: string[]) => void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
export function useAgentAssignedSkillsSync(input) {
|
|
3
|
+
const { setAgent } = input;
|
|
4
|
+
return useCallback((latestSkillIds) => {
|
|
5
|
+
setAgent((prev) => {
|
|
6
|
+
if (!prev)
|
|
7
|
+
return prev;
|
|
8
|
+
const prevIds = Array.isArray(prev.assignedSkillIds)
|
|
9
|
+
? prev.assignedSkillIds
|
|
10
|
+
: [];
|
|
11
|
+
if (prevIds.length === latestSkillIds.length &&
|
|
12
|
+
prevIds.every((id, index) => id === latestSkillIds[index])) {
|
|
13
|
+
return prev;
|
|
14
|
+
}
|
|
15
|
+
return { ...prev, assignedSkillIds: latestSkillIds };
|
|
16
|
+
});
|
|
17
|
+
}, [setAgent]);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=useAgentAssignedSkillsSync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentAssignedSkillsSync.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentAssignedSkillsSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,OAAO,CAAC;AAGzD,MAAM,UAAU,0BAA0B,CAAC,KAE1C;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE3B,OAAO,WAAW,CAChB,CAAC,cAAwB,EAAE,EAAE;QAC3B,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAE,IAAY,CAAC,gBAAgB,CAAC;gBAC3D,CAAC,CAAG,IAAY,CAAC,gBAA6B;gBAC9C,CAAC,CAAC,EAAE,CAAC;YACP,IACE,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;gBACxC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,EAC1D,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAE,GAAG,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAkB,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { AgentMetadata } from "../../services/agentService";
|
|
3
|
+
export declare function isBrowserCaptureDialogType(dialogType: string | null): dialogType is "capture-page-dom" | "capture-page-screenshot";
|
|
4
|
+
export declare function useAgentBrowserCapture(input: {
|
|
5
|
+
agentId?: string;
|
|
6
|
+
agentStatus?: string;
|
|
7
|
+
sessionId?: string;
|
|
8
|
+
metadata: AgentMetadata | null;
|
|
9
|
+
terminalInstanceIdRef: React.RefObject<string>;
|
|
10
|
+
setMetadata: (next: React.SetStateAction<AgentMetadata | null>) => void;
|
|
11
|
+
sanitizeMetadata: (metadata: AgentMetadata | null) => AgentMetadata | null;
|
|
12
|
+
setMutationPending: (isPending: boolean) => void;
|
|
13
|
+
showErrorToast?: (error: unknown) => void;
|
|
14
|
+
}): {
|
|
15
|
+
pendingCallbackId: string | null;
|
|
16
|
+
isPendingBrowserCaptureWait: boolean;
|
|
17
|
+
isClaimedByCurrentSession: boolean;
|
|
18
|
+
isClaimedByAnotherBrowser: boolean;
|
|
19
|
+
setPendingBrowserCaptureWait: (dialogType: string | null, callbackId: string | null) => void;
|
|
20
|
+
clearPendingBrowserCaptureWait: () => void;
|
|
21
|
+
claimBrowser: (takeOver: boolean) => Promise<void>;
|
|
22
|
+
releaseBrowser: () => Promise<void>;
|
|
23
|
+
cancelBrowserCapture: () => Promise<void>;
|
|
24
|
+
};
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
2
|
+
import { DIALOG_TYPES } from "../dialogs/agentDialogTypes";
|
|
3
|
+
import { cancelAgentSessionDialog, claimAgentSessionBrowser, getAgentSessionBrowserCaptureClaim, releaseAgentSessionBrowser, setAgentSessionBrowserCaptureClaim, } from "./useAgentSessionSync";
|
|
4
|
+
export function isBrowserCaptureDialogType(dialogType) {
|
|
5
|
+
return (dialogType === DIALOG_TYPES.CAPTURE_PAGE_DOM ||
|
|
6
|
+
dialogType === DIALOG_TYPES.CAPTURE_PAGE_SCREENSHOT);
|
|
7
|
+
}
|
|
8
|
+
export function useAgentBrowserCapture(input) {
|
|
9
|
+
const { agentId, agentStatus, sessionId, metadata, terminalInstanceIdRef, setMetadata, sanitizeMetadata, setMutationPending, showErrorToast, } = input;
|
|
10
|
+
const [pendingDialogType, setPendingDialogType] = useState(null);
|
|
11
|
+
const [pendingCallbackId, setPendingCallbackId] = useState(null);
|
|
12
|
+
const browserCaptureClaim = useMemo(() => getAgentSessionBrowserCaptureClaim(metadata), [metadata]);
|
|
13
|
+
const isPendingBrowserCaptureWait = isBrowserCaptureDialogType(pendingDialogType);
|
|
14
|
+
const currentSessionId = sessionId?.trim() || "";
|
|
15
|
+
const claimedSessionId = browserCaptureClaim?.sessionId?.trim() || "";
|
|
16
|
+
const isClaimedByCurrentSession = !!currentSessionId &&
|
|
17
|
+
!!claimedSessionId &&
|
|
18
|
+
currentSessionId.toLowerCase() === claimedSessionId.toLowerCase();
|
|
19
|
+
const isClaimedByAnotherBrowser = !!claimedSessionId && !isClaimedByCurrentSession;
|
|
20
|
+
const clearPendingBrowserCaptureWait = useCallback(() => {
|
|
21
|
+
setPendingDialogType(null);
|
|
22
|
+
setPendingCallbackId(null);
|
|
23
|
+
}, []);
|
|
24
|
+
const setPendingBrowserCaptureWait = useCallback((dialogType, callbackId) => {
|
|
25
|
+
if (!isBrowserCaptureDialogType(dialogType)) {
|
|
26
|
+
clearPendingBrowserCaptureWait();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
setPendingDialogType(dialogType);
|
|
30
|
+
setPendingCallbackId(callbackId?.trim() || null);
|
|
31
|
+
}, [clearPendingBrowserCaptureWait]);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (agentStatus !== "waitingForInput") {
|
|
34
|
+
clearPendingBrowserCaptureWait();
|
|
35
|
+
}
|
|
36
|
+
}, [agentStatus, clearPendingBrowserCaptureWait]);
|
|
37
|
+
const claimBrowser = useCallback(async (takeOver) => {
|
|
38
|
+
if (!agentId || !sessionId)
|
|
39
|
+
return;
|
|
40
|
+
setMutationPending(true);
|
|
41
|
+
try {
|
|
42
|
+
const response = await claimAgentSessionBrowser({
|
|
43
|
+
agentId,
|
|
44
|
+
sessionId,
|
|
45
|
+
takeOver,
|
|
46
|
+
terminalInstanceId: terminalInstanceIdRef.current,
|
|
47
|
+
});
|
|
48
|
+
setMetadata((prev) => sanitizeMetadata(setAgentSessionBrowserCaptureClaim(prev, response.claim || null)));
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.error("[AgentTerminal] Failed to claim browser:", error);
|
|
52
|
+
showErrorToast?.(error);
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
setMutationPending(false);
|
|
56
|
+
}
|
|
57
|
+
}, [
|
|
58
|
+
agentId,
|
|
59
|
+
sanitizeMetadata,
|
|
60
|
+
sessionId,
|
|
61
|
+
setMetadata,
|
|
62
|
+
setMutationPending,
|
|
63
|
+
showErrorToast,
|
|
64
|
+
terminalInstanceIdRef,
|
|
65
|
+
]);
|
|
66
|
+
const releaseBrowser = useCallback(async () => {
|
|
67
|
+
if (!agentId || !sessionId)
|
|
68
|
+
return;
|
|
69
|
+
setMutationPending(true);
|
|
70
|
+
try {
|
|
71
|
+
const response = await releaseAgentSessionBrowser({
|
|
72
|
+
agentId,
|
|
73
|
+
sessionId,
|
|
74
|
+
terminalInstanceId: terminalInstanceIdRef.current,
|
|
75
|
+
});
|
|
76
|
+
setMetadata((prev) => sanitizeMetadata(setAgentSessionBrowserCaptureClaim(prev, response.claim || null)));
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
console.error("[AgentTerminal] Failed to release browser:", error);
|
|
80
|
+
showErrorToast?.(error);
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
setMutationPending(false);
|
|
84
|
+
}
|
|
85
|
+
}, [
|
|
86
|
+
agentId,
|
|
87
|
+
sanitizeMetadata,
|
|
88
|
+
sessionId,
|
|
89
|
+
setMetadata,
|
|
90
|
+
setMutationPending,
|
|
91
|
+
showErrorToast,
|
|
92
|
+
terminalInstanceIdRef,
|
|
93
|
+
]);
|
|
94
|
+
useEffect(() => {
|
|
95
|
+
return () => {
|
|
96
|
+
if (!agentId || !sessionId || !isClaimedByCurrentSession) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
void releaseAgentSessionBrowser({
|
|
100
|
+
agentId,
|
|
101
|
+
sessionId,
|
|
102
|
+
terminalInstanceId: terminalInstanceIdRef.current,
|
|
103
|
+
}).catch((error) => {
|
|
104
|
+
console.warn("[AgentTerminal] Failed to release browser on unmount:", error);
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
}, [agentId, isClaimedByCurrentSession, sessionId, terminalInstanceIdRef]);
|
|
108
|
+
const cancelBrowserCapture = useCallback(async () => {
|
|
109
|
+
const callbackId = pendingCallbackId;
|
|
110
|
+
if (!callbackId || !sessionId)
|
|
111
|
+
return;
|
|
112
|
+
setMutationPending(true);
|
|
113
|
+
try {
|
|
114
|
+
await cancelAgentSessionDialog({
|
|
115
|
+
callbackId,
|
|
116
|
+
sessionId,
|
|
117
|
+
error: "Cancelled by user from the capture waiting banner.",
|
|
118
|
+
});
|
|
119
|
+
clearPendingBrowserCaptureWait();
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
console.error("[AgentTerminal] Failed to cancel capture dialog:", error);
|
|
123
|
+
showErrorToast?.(error);
|
|
124
|
+
}
|
|
125
|
+
finally {
|
|
126
|
+
setMutationPending(false);
|
|
127
|
+
}
|
|
128
|
+
}, [
|
|
129
|
+
clearPendingBrowserCaptureWait,
|
|
130
|
+
pendingCallbackId,
|
|
131
|
+
sessionId,
|
|
132
|
+
setMutationPending,
|
|
133
|
+
showErrorToast,
|
|
134
|
+
]);
|
|
135
|
+
return {
|
|
136
|
+
pendingCallbackId,
|
|
137
|
+
isPendingBrowserCaptureWait,
|
|
138
|
+
isClaimedByCurrentSession,
|
|
139
|
+
isClaimedByAnotherBrowser,
|
|
140
|
+
setPendingBrowserCaptureWait,
|
|
141
|
+
clearPendingBrowserCaptureWait,
|
|
142
|
+
claimBrowser,
|
|
143
|
+
releaseBrowser,
|
|
144
|
+
cancelBrowserCapture,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=useAgentBrowserCapture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentBrowserCapture.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentBrowserCapture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { AgentMetadata } from "../../services/agentService";
|
|
3
|
+
import { isBrowserCaptureDialogType } from "./useAgentBrowserCapture";
|
|
4
|
+
export { isBrowserCaptureDialogType };
|
|
5
|
+
export declare function useAgentBrowserCapturePanel(input: {
|
|
6
|
+
agentId?: string;
|
|
7
|
+
agentStatus?: string;
|
|
8
|
+
sessionId?: string;
|
|
9
|
+
metadata: AgentMetadata | null;
|
|
10
|
+
setMetadata: React.Dispatch<React.SetStateAction<AgentMetadata | null>>;
|
|
11
|
+
setMutationPending: (pending: boolean) => void;
|
|
12
|
+
sanitizeMetadata: (metadata: AgentMetadata | null) => AgentMetadata | null;
|
|
13
|
+
terminalInstanceIdRef: React.RefObject<string>;
|
|
14
|
+
showErrorToast?: (error: unknown) => void;
|
|
15
|
+
mutationPending: boolean;
|
|
16
|
+
}): {
|
|
17
|
+
fixedBrowserClaimBanner: React.ReactNode;
|
|
18
|
+
inlineBrowserClaimBanner: React.ReactNode;
|
|
19
|
+
browserCaptureInlinePrompt?: import("./components/AgentTerminalMessageGroups").AgentTerminalMessageGroupsProps["browserCaptureInlinePrompt"];
|
|
20
|
+
pendingCallbackId: string | null;
|
|
21
|
+
isPendingBrowserCaptureWait: boolean;
|
|
22
|
+
isClaimedByCurrentSession: boolean;
|
|
23
|
+
isClaimedByAnotherBrowser: boolean;
|
|
24
|
+
setPendingBrowserCaptureWait: (dialogType: string | null, callbackId: string | null) => void;
|
|
25
|
+
clearPendingBrowserCaptureWait: () => void;
|
|
26
|
+
claimBrowser: (takeOver: boolean) => Promise<void>;
|
|
27
|
+
releaseBrowser: () => Promise<void>;
|
|
28
|
+
cancelBrowserCapture: () => Promise<void>;
|
|
29
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { isBrowserCaptureDialogType, useAgentBrowserCapture, } from "./useAgentBrowserCapture";
|
|
2
|
+
import { useAgentBrowserCaptureUi } from "./useAgentBrowserCaptureUi";
|
|
3
|
+
export { isBrowserCaptureDialogType };
|
|
4
|
+
export function useAgentBrowserCapturePanel(input) {
|
|
5
|
+
const { agentId, agentStatus, sessionId, metadata, setMetadata, setMutationPending, sanitizeMetadata, terminalInstanceIdRef, showErrorToast, mutationPending, } = input;
|
|
6
|
+
const capture = useAgentBrowserCapture({
|
|
7
|
+
agentId,
|
|
8
|
+
agentStatus,
|
|
9
|
+
sessionId,
|
|
10
|
+
metadata,
|
|
11
|
+
setMetadata,
|
|
12
|
+
setMutationPending,
|
|
13
|
+
sanitizeMetadata,
|
|
14
|
+
terminalInstanceIdRef,
|
|
15
|
+
showErrorToast,
|
|
16
|
+
});
|
|
17
|
+
const ui = useAgentBrowserCaptureUi({
|
|
18
|
+
agentId,
|
|
19
|
+
sessionId,
|
|
20
|
+
isClaimedByCurrentSession: capture.isClaimedByCurrentSession,
|
|
21
|
+
isClaimedByAnotherBrowser: capture.isClaimedByAnotherBrowser,
|
|
22
|
+
isPendingBrowserCaptureWait: capture.isPendingBrowserCaptureWait,
|
|
23
|
+
isMutationPending: mutationPending,
|
|
24
|
+
pendingCallbackId: capture.pendingCallbackId,
|
|
25
|
+
claimBrowser: capture.claimBrowser,
|
|
26
|
+
releaseBrowser: capture.releaseBrowser,
|
|
27
|
+
cancelBrowserCapture: () => {
|
|
28
|
+
void capture.cancelBrowserCapture();
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
...capture,
|
|
33
|
+
...ui,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=useAgentBrowserCapturePanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentBrowserCapturePanel.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentBrowserCapturePanel.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAEtC,MAAM,UAAU,2BAA2B,CAAC,KAW3C;IACC,MAAM,EACJ,OAAO,EACP,WAAW,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,GAAG,KAAK,CAAC;IAEV,MAAM,OAAO,GAAG,sBAAsB,CAAC;QACrC,OAAO;QACP,WAAW;QACX,SAAS;QACT,QAAQ;QACR,WAAW;QACX,kBAAkB;QAClB,gBAAgB;QAChB,qBAAqB;QACrB,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,wBAAwB,CAAC;QAClC,OAAO;QACP,SAAS;QACT,yBAAyB,EAAE,OAAO,CAAC,yBAAyB;QAC5D,yBAAyB,EAAE,OAAO,CAAC,yBAAyB;QAC5D,2BAA2B,EAAE,OAAO,CAAC,2BAA2B;QAChE,iBAAiB,EAAE,eAAe;QAClC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,oBAAoB,EAAE,GAAG,EAAE;YACzB,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACtC,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,OAAO;QACV,GAAG,EAAE;KACN,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { AgentTerminalMessageGroupsProps } from "./components/AgentTerminalMessageGroups";
|
|
3
|
+
export declare function useAgentBrowserCaptureUi(input: {
|
|
4
|
+
agentId?: string;
|
|
5
|
+
sessionId?: string;
|
|
6
|
+
isClaimedByCurrentSession: boolean;
|
|
7
|
+
isClaimedByAnotherBrowser: boolean;
|
|
8
|
+
isPendingBrowserCaptureWait: boolean;
|
|
9
|
+
isMutationPending: boolean;
|
|
10
|
+
pendingCallbackId?: string | null;
|
|
11
|
+
claimBrowser: (takeOver: boolean) => void;
|
|
12
|
+
releaseBrowser: () => void;
|
|
13
|
+
cancelBrowserCapture: () => void;
|
|
14
|
+
}): {
|
|
15
|
+
fixedBrowserClaimBanner: React.ReactNode;
|
|
16
|
+
inlineBrowserClaimBanner: React.ReactNode;
|
|
17
|
+
browserCaptureInlinePrompt?: AgentTerminalMessageGroupsProps["browserCaptureInlinePrompt"];
|
|
18
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { AgentBrowserClaimBanner } from "./components/AgentBrowserClaimBanner";
|
|
3
|
+
export function useAgentBrowserCaptureUi(input) {
|
|
4
|
+
const { agentId, sessionId, isClaimedByCurrentSession, isClaimedByAnotherBrowser, isPendingBrowserCaptureWait, isMutationPending, pendingCallbackId, claimBrowser, releaseBrowser, cancelBrowserCapture, } = input;
|
|
5
|
+
const fixedBrowserClaimBanner = agentId && sessionId ? (_jsx(AgentBrowserClaimBanner, { variant: "fixed", isClaimedByCurrentSession: isClaimedByCurrentSession, isClaimedByAnotherBrowser: isClaimedByAnotherBrowser, isPendingBrowserCaptureWait: isPendingBrowserCaptureWait, isPending: isMutationPending, onRelease: releaseBrowser, onClaim: claimBrowser })) : null;
|
|
6
|
+
const browserCaptureInlinePrompt = isPendingBrowserCaptureWait && !isClaimedByCurrentSession
|
|
7
|
+
? {
|
|
8
|
+
toolNames: [
|
|
9
|
+
"capture-page-screenshot",
|
|
10
|
+
"capture-parhelia-ui-screenshot",
|
|
11
|
+
"capture-page-dom",
|
|
12
|
+
],
|
|
13
|
+
label: isClaimedByAnotherBrowser
|
|
14
|
+
? "Attached in another browser"
|
|
15
|
+
: "No browser attached",
|
|
16
|
+
description: isClaimedByAnotherBrowser
|
|
17
|
+
? "This capture request is waiting in another browser. Take over browser control here to continue."
|
|
18
|
+
: "This capture request is waiting for a browser attachment. Attach this browser to continue.",
|
|
19
|
+
actionLabel: isClaimedByAnotherBrowser
|
|
20
|
+
? "Take over browser control"
|
|
21
|
+
: "Attach to this browser",
|
|
22
|
+
isPending: isMutationPending,
|
|
23
|
+
onAction: () => {
|
|
24
|
+
claimBrowser(isClaimedByAnotherBrowser);
|
|
25
|
+
},
|
|
26
|
+
cancelLabel: "Cancel capture",
|
|
27
|
+
onCancel: pendingCallbackId ? cancelBrowserCapture : undefined,
|
|
28
|
+
}
|
|
29
|
+
: undefined;
|
|
30
|
+
return {
|
|
31
|
+
fixedBrowserClaimBanner,
|
|
32
|
+
inlineBrowserClaimBanner: null,
|
|
33
|
+
browserCaptureInlinePrompt,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=useAgentBrowserCaptureUi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentBrowserCaptureUi.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentBrowserCaptureUi.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,MAAM,UAAU,wBAAwB,CAAC,KAWxC;IAKC,MAAM,EACJ,OAAO,EACP,SAAS,EACT,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,oBAAoB,GACrB,GAAG,KAAK,CAAC;IAEV,MAAM,uBAAuB,GAC3B,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CACrB,KAAC,uBAAuB,IACtB,OAAO,EAAC,OAAO,EACf,yBAAyB,EAAE,yBAAyB,EACpD,yBAAyB,EAAE,yBAAyB,EACpD,2BAA2B,EAAE,2BAA2B,EACxD,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,YAAY,GACrB,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;IAEX,MAAM,0BAA0B,GAC9B,2BAA2B,IAAI,CAAC,yBAAyB;QACvD,CAAC,CAAC;YACE,SAAS,EAAE;gBACT,yBAAyB;gBACzB,gCAAgC;gBAChC,kBAAkB;aACnB;YACD,KAAK,EAAE,yBAAyB;gBAC9B,CAAC,CAAC,6BAA6B;gBAC/B,CAAC,CAAC,qBAAqB;YACzB,WAAW,EAAE,yBAAyB;gBACpC,CAAC,CAAC,iGAAiG;gBACnG,CAAC,CAAC,4FAA4F;YAChG,WAAW,EAAE,yBAAyB;gBACpC,CAAC,CAAC,2BAA2B;gBAC7B,CAAC,CAAC,wBAAwB;YAC5B,SAAS,EAAE,iBAAiB;YAC5B,QAAQ,EAAE,GAAG,EAAE;gBACb,YAAY,CAAC,yBAAyB,CAAC,CAAC;YAC1C,CAAC;YACD,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;SAC/D;QACH,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,uBAAuB;QACvB,wBAAwB,EAAE,IAAI;QAC9B,0BAA0B;KAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type MutableRefObject } from "react";
|
|
2
|
+
import type { AgentChatMessage, AgentDetails, AgentStreamMessage } from "../../services/agentService";
|
|
3
|
+
import type { useAgentSession } from "./useAgentSession";
|
|
4
|
+
type AgentSessionActions = ReturnType<typeof useAgentSession>["actions"];
|
|
5
|
+
export declare function useAgentContentChunkHandler(input: {
|
|
6
|
+
agent: AgentDetails | undefined;
|
|
7
|
+
actions: AgentSessionActions;
|
|
8
|
+
messagesRef: MutableRefObject<AgentChatMessage[]>;
|
|
9
|
+
isWaitingRef: MutableRefObject<boolean>;
|
|
10
|
+
shouldCreateNewMessageRef: MutableRefObject<boolean>;
|
|
11
|
+
setIsWaitingForResponse: (isWaitingForResponse: boolean) => void;
|
|
12
|
+
setIsAgentThinking: (isAgentThinking: boolean) => void;
|
|
13
|
+
createNewStreamMessage: (messageId: string, agentData?: AgentDetails) => AgentChatMessage;
|
|
14
|
+
}): (message: AgentStreamMessage, agentData?: AgentDetails) => void;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import { applyAssistantContentChunkToTranscript } from "./agentSessionState";
|
|
3
|
+
import { contextWindowStatusFromStreamCost, hasNonZeroLiveTotals, liveTotalsFromStreamCost, } from "./agentSessionLiveTotals";
|
|
4
|
+
export function useAgentContentChunkHandler(input) {
|
|
5
|
+
const { agent, actions, messagesRef, isWaitingRef, shouldCreateNewMessageRef, setIsWaitingForResponse, setIsAgentThinking, createNewStreamMessage, } = input;
|
|
6
|
+
return useCallback((message, agentData) => {
|
|
7
|
+
const messageId = message.data?.messageId;
|
|
8
|
+
if (!messageId) {
|
|
9
|
+
console.error("[AgentTerminal] Backend invariant violation: content chunk arrived without messageId. Dropping.", {
|
|
10
|
+
agentId: agentData?.id,
|
|
11
|
+
isIncremental: message.data?.isIncremental,
|
|
12
|
+
previousContentLength: message.data?.previousContentLength,
|
|
13
|
+
totalContentLength: message.data?.totalContentLength,
|
|
14
|
+
});
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
setIsWaitingForResponse(false);
|
|
18
|
+
isWaitingRef.current = false;
|
|
19
|
+
if (message.data?.deltaContent) {
|
|
20
|
+
setIsAgentThinking(false);
|
|
21
|
+
}
|
|
22
|
+
const cost = message.cost;
|
|
23
|
+
const nextTotals = liveTotalsFromStreamCost(cost);
|
|
24
|
+
if (nextTotals) {
|
|
25
|
+
if (hasNonZeroLiveTotals(nextTotals)) {
|
|
26
|
+
actions.replaceLiveTotals(nextTotals);
|
|
27
|
+
}
|
|
28
|
+
if (cost &&
|
|
29
|
+
cost.limit &&
|
|
30
|
+
cost.total &&
|
|
31
|
+
Number(cost.total) > Number(cost.limit)) {
|
|
32
|
+
actions.replaceCostLimitExceeded({
|
|
33
|
+
totalCost: Number(cost.total),
|
|
34
|
+
costLimit: Number(cost.limit),
|
|
35
|
+
initialCostLimit: Number(cost.limit),
|
|
36
|
+
});
|
|
37
|
+
setIsWaitingForResponse(false);
|
|
38
|
+
shouldCreateNewMessageRef.current = false;
|
|
39
|
+
}
|
|
40
|
+
const contextWindowStatus = contextWindowStatusFromStreamCost(cost, agentData?.model || agent?.model || "");
|
|
41
|
+
if (contextWindowStatus) {
|
|
42
|
+
actions.replaceContextWindowStatus(contextWindowStatus);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const contentChunk = {
|
|
46
|
+
messageId,
|
|
47
|
+
deltaContent: message.data?.deltaContent,
|
|
48
|
+
reasoning: message.data?.reasoning,
|
|
49
|
+
isIncremental: message.data?.isIncremental,
|
|
50
|
+
totalContentLength: message.data?.totalContentLength,
|
|
51
|
+
createMessage: () => createNewStreamMessage(messageId, agentData),
|
|
52
|
+
};
|
|
53
|
+
const currentMessages = messagesRef.current;
|
|
54
|
+
const existingMessageIndex = currentMessages.findIndex((msg) => msg.id === messageId);
|
|
55
|
+
const previousContentLength = message.data?.previousContentLength || 0;
|
|
56
|
+
if (existingMessageIndex === -1) {
|
|
57
|
+
if (message.data?.isIncremental && previousContentLength > 0) {
|
|
58
|
+
console.warn("[AgentTerminal] Incremental chunk arrived before its base message existed", {
|
|
59
|
+
messageId,
|
|
60
|
+
previousContentLength,
|
|
61
|
+
totalContentLength: message.data?.totalContentLength,
|
|
62
|
+
deltaLength: (message.data?.deltaContent || "").length,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
const existingMessage = currentMessages[existingMessageIndex];
|
|
68
|
+
const currentContentLength = existingMessage?.content?.length || 0;
|
|
69
|
+
const totalContentLength = message.data?.totalContentLength || 0;
|
|
70
|
+
if (message.data?.isIncremental &&
|
|
71
|
+
previousContentLength !== currentContentLength &&
|
|
72
|
+
(previousContentLength > 0 || currentContentLength > 0)) {
|
|
73
|
+
console.warn("[AgentTerminal] Content chunk length mismatch", {
|
|
74
|
+
messageId,
|
|
75
|
+
previousContentLength,
|
|
76
|
+
currentContentLength,
|
|
77
|
+
totalContentLength,
|
|
78
|
+
deltaLength: (message.data?.deltaContent || "").length,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
messagesRef.current = applyAssistantContentChunkToTranscript(currentMessages, contentChunk);
|
|
83
|
+
actions.assistantContentChunk(contentChunk);
|
|
84
|
+
}, [
|
|
85
|
+
actions,
|
|
86
|
+
agent?.model,
|
|
87
|
+
createNewStreamMessage,
|
|
88
|
+
isWaitingRef,
|
|
89
|
+
messagesRef,
|
|
90
|
+
setIsAgentThinking,
|
|
91
|
+
setIsWaitingForResponse,
|
|
92
|
+
shouldCreateNewMessageRef,
|
|
93
|
+
]);
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=useAgentContentChunkHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentContentChunkHandler.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentContentChunkHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AgentMetadata } from "../../services/agentService";
|
|
2
|
+
export declare function useAgentContextDisplayNames(input: {
|
|
3
|
+
agentMetadata: AgentMetadata | null | undefined;
|
|
4
|
+
editContext: any;
|
|
5
|
+
}): {
|
|
6
|
+
resolvedPageName: string | undefined;
|
|
7
|
+
resolvedComponentName: string | undefined;
|
|
8
|
+
resolvedFieldName: string | undefined;
|
|
9
|
+
};
|