@parhelia/core 0.4.12800 → 0.4.12825
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/agents-view/AgentsWorkspaceView.d.ts +2 -0
- package/dist/agents-view/AgentsWorkspaceView.js +12 -3
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/components/WorkspaceHomeView.d.ts +14 -3
- package/dist/components/WorkspaceHomeView.js +7 -4
- package/dist/components/WorkspaceHomeView.js.map +1 -1
- package/dist/components/ui/dialog.d.ts +7 -1
- package/dist/components/ui/dialog.js +6 -3
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/popover.d.ts +8 -0
- package/dist/components/ui/popover.js +40 -6
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/tooltip.d.ts +2 -2
- package/dist/components/ui/tooltip.js +9 -4
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/config/config.js +5 -2
- package/dist/config/config.js.map +1 -1
- package/dist/editor/ConfirmationDialog.d.ts +1 -0
- package/dist/editor/ConfirmationDialog.js +9 -2
- package/dist/editor/ConfirmationDialog.js.map +1 -1
- package/dist/editor/ContentTree.d.ts +9 -1
- package/dist/editor/ContentTree.js +50 -23
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/FieldList.js +41 -4
- package/dist/editor/FieldList.js.map +1 -1
- package/dist/editor/FieldListField.js +156 -123
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/LinkEditorDialog.d.ts +3 -0
- package/dist/editor/LinkEditorDialog.js +9 -4
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/MainLayout.js +9 -2
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/SetupWizard.js +1 -1
- package/dist/editor/SetupWizard.js.map +1 -1
- package/dist/editor/UsedBy.d.ts +2 -0
- package/dist/editor/UsedBy.js +50 -10
- package/dist/editor/UsedBy.js.map +1 -1
- package/dist/editor/agent-changes/agentChangeTargets.d.ts +58 -0
- package/dist/editor/agent-changes/agentChangeTargets.js +174 -0
- package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +57 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.js +109 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.js.map +1 -0
- package/dist/editor/ai/AgentImagePreview.d.ts +13 -0
- package/dist/editor/ai/AgentImagePreview.js +41 -0
- package/dist/editor/ai/AgentImagePreview.js.map +1 -0
- package/dist/editor/ai/AgentStatusBadge.js +11 -9
- package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
- package/dist/editor/ai/Agents.js +2 -2
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/ContentInspectorPopover.d.ts +2 -1
- package/dist/editor/ai/ContentInspectorPopover.js +3 -3
- package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
- package/dist/editor/ai/MediaImage.js +2 -1
- package/dist/editor/ai/MediaImage.js.map +1 -1
- package/dist/editor/ai/activityRowNavigation.d.ts +28 -0
- package/dist/editor/ai/activityRowNavigation.js +53 -0
- package/dist/editor/ai/activityRowNavigation.js.map +1 -0
- package/dist/editor/ai/agentDiagnostics.d.ts +1 -1
- package/dist/editor/ai/agentDiagnostics.js +8 -0
- package/dist/editor/ai/agentDiagnostics.js.map +1 -1
- package/dist/editor/ai/agentMessageGrouping.d.ts +1 -1
- package/dist/editor/ai/agentMessageGrouping.js +2 -13
- package/dist/editor/ai/agentMessageGrouping.js.map +1 -1
- package/dist/editor/ai/agentMessageHelpers.js +21 -1
- package/dist/editor/ai/agentMessageHelpers.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionSelectors.js +0 -4
- package/dist/editor/ai/terminal/agentSessionSelectors.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionSnapshot.d.ts +15 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.js +103 -3
- package/dist/editor/ai/terminal/agentSessionSnapshot.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionState.d.ts +0 -2
- package/dist/editor/ai/terminal/agentSessionState.js +13 -13
- package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
- package/dist/editor/ai/terminal/agentTurnTiming.d.ts +2 -0
- package/dist/editor/ai/terminal/agentTurnTiming.js +26 -1
- package/dist/editor/ai/terminal/agentTurnTiming.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +3 -1
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +53 -11
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentBanners.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentBanners.js +3 -2
- package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js +6 -5
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentDocumentList.js +20 -10
- package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentMemoryPanel.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentMemoryPanel.js +12 -9
- package/dist/editor/ai/terminal/components/AgentMemoryPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.d.ts +9 -0
- package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js +75 -0
- package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +4 -72
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js +2 -2
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js +2 -1
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsSections.d.ts +1 -0
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.js +2 -2
- package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js +2 -2
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +9 -3
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -6
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +8 -2
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.d.ts +6 -1
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js +5 -3
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +20 -16
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +2 -2
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.d.ts +3 -0
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js +47 -0
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js.map +1 -0
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +15 -4
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +2 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js +22 -54
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/UserMessage.d.ts +6 -0
- package/dist/editor/ai/terminal/components/UserMessage.js +17 -4
- package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/agentThinkingStyles.d.ts +5 -0
- package/dist/editor/ai/terminal/components/agentThinkingStyles.js +5 -0
- package/dist/editor/ai/terminal/components/agentThinkingStyles.js.map +1 -1
- package/dist/editor/ai/terminal/components/toolCallContentRenderers.d.ts +2 -0
- package/dist/editor/ai/terminal/components/toolCallContentRenderers.js +6 -0
- package/dist/editor/ai/terminal/components/toolCallContentRenderers.js.map +1 -1
- package/dist/editor/ai/terminal/components/toolCallResultJson.d.ts +1 -0
- package/dist/editor/ai/terminal/components/toolCallResultJson.js +46 -0
- package/dist/editor/ai/terminal/components/toolCallResultJson.js.map +1 -0
- package/dist/editor/ai/terminal/types.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js +51 -14
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentEditorContext.js +13 -3
- package/dist/editor/ai/terminal/useAgentEditorContext.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentLoadPipeline.js +3 -1
- package/dist/editor/ai/terminal/useAgentLoadPipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.js +5 -1
- package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentOperationSocketHandler.js +33 -1
- package/dist/editor/ai/terminal/useAgentOperationSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentProviderWait.d.ts +18 -0
- package/dist/editor/ai/terminal/useAgentProviderWait.js +23 -0
- package/dist/editor/ai/terminal/useAgentProviderWait.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js +3 -3
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js +5 -5
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js +14 -10
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.d.ts +6 -7
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js +5 -5
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +23 -16
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentServerReconciler.js +11 -0
- package/dist/editor/ai/terminal/useAgentServerReconciler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSession.d.ts +0 -2
- package/dist/editor/ai/terminal/useAgentSession.js +8 -15
- package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSessionFacade.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.js +2 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js +3 -3
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js +5 -5
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +0 -1
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +3 -12
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +24 -7
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js +6 -1
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +13 -10
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js +1 -1
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
- package/dist/editor/bridge/bridgeKeys.d.ts +5 -0
- package/dist/editor/bridge/bridgeKeys.js +8 -0
- package/dist/editor/bridge/bridgeKeys.js.map +1 -0
- package/dist/editor/bridge/linkDownload.d.ts +3 -0
- package/dist/editor/bridge/linkDownload.js +52 -0
- package/dist/editor/bridge/linkDownload.js.map +1 -0
- package/dist/editor/bridge/protocol.d.ts +39 -0
- package/dist/editor/bridge/protocol.js +3 -1
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/EditorShell.js +34 -24
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/OperationDialogContent.d.ts +10 -3
- package/dist/editor/client/OperationDialogContent.js +27 -4
- package/dist/editor/client/OperationDialogContent.js.map +1 -1
- package/dist/editor/client/agentLoadItemPolicy.d.ts +22 -0
- package/dist/editor/client/agentLoadItemPolicy.js +60 -0
- package/dist/editor/client/agentLoadItemPolicy.js.map +1 -0
- package/dist/editor/client/editContext.d.ts +16 -0
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +5 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +56 -14
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/itemsRepository.js +26 -7
- package/dist/editor/client/itemsRepository.js.map +1 -1
- package/dist/editor/client/localUserEditActivity.d.ts +3 -0
- package/dist/editor/client/localUserEditActivity.js +12 -0
- package/dist/editor/client/localUserEditActivity.js.map +1 -0
- package/dist/editor/client/operations.js +60 -15
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/commands/commands.d.ts +6 -0
- package/dist/editor/commands/commands.js.map +1 -1
- package/dist/editor/commands/undo.js +8 -2
- package/dist/editor/commands/undo.js.map +1 -1
- package/dist/editor/componentVisualMode.d.ts +14 -0
- package/dist/editor/componentVisualMode.js +43 -0
- package/dist/editor/componentVisualMode.js.map +1 -0
- package/dist/editor/field-types/ImageFieldEditor.js +1 -1
- package/dist/editor/field-types/ImageFieldEditor.js.map +1 -1
- package/dist/editor/field-types/MultiLineText.js +29 -46
- package/dist/editor/field-types/MultiLineText.js.map +1 -1
- package/dist/editor/field-types/PictureFieldEditor.js +1 -1
- package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditorComponent.js +19 -3
- package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +28 -79
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/field-types/richtext/components/ReactSlate.js +67 -10
- package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
- package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js +4 -1
- package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js.map +1 -1
- package/dist/editor/field-types/richtext/components/ToolbarButton.js +4 -1
- package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
- package/dist/editor/field-types/richtext/types.d.ts +7 -0
- package/dist/editor/field-types/richtext/types.js.map +1 -1
- package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +18 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.js +57 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -0
- package/dist/editor/field-types/useFormFieldCaretPresence.d.ts +11 -0
- package/dist/editor/field-types/useFormFieldCaretPresence.js +33 -16
- package/dist/editor/field-types/useFormFieldCaretPresence.js.map +1 -1
- package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +36 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js +123 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -0
- package/dist/editor/field-types/useTextCompletion.js +13 -3
- package/dist/editor/field-types/useTextCompletion.js.map +1 -1
- package/dist/editor/find-replace/FindReplacePanel.d.ts +11 -0
- package/dist/editor/find-replace/FindReplacePanel.js +311 -0
- package/dist/editor/find-replace/FindReplacePanel.js.map +1 -0
- package/dist/editor/find-replace/findReplaceCommand.d.ts +8 -0
- package/dist/editor/find-replace/findReplaceCommand.js +25 -0
- package/dist/editor/find-replace/findReplaceCommand.js.map +1 -0
- package/dist/editor/find-replace/findReplaceMatches.d.ts +42 -0
- package/dist/editor/find-replace/findReplaceMatches.js +66 -0
- package/dist/editor/find-replace/findReplaceMatches.js.map +1 -0
- package/dist/editor/find-replace/findReplaceStore.d.ts +30 -0
- package/dist/editor/find-replace/findReplaceStore.js +61 -0
- package/dist/editor/find-replace/findReplaceStore.js.map +1 -0
- package/dist/editor/find-replace/findReplaceTargets.d.ts +49 -0
- package/dist/editor/find-replace/findReplaceTargets.js +110 -0
- package/dist/editor/find-replace/findReplaceTargets.js.map +1 -0
- package/dist/editor/find-replace/findReplaceText.d.ts +50 -0
- package/dist/editor/find-replace/findReplaceText.js +189 -0
- package/dist/editor/find-replace/findReplaceText.js.map +1 -0
- package/dist/editor/media-selector/AiImageSearchPrompt.d.ts +2 -1
- package/dist/editor/media-selector/AiImageSearchPrompt.js +2 -2
- package/dist/editor/media-selector/AiImageSearchPrompt.js.map +1 -1
- package/dist/editor/media-selector/Thumbnails.d.ts +2 -1
- package/dist/editor/media-selector/Thumbnails.js +2 -2
- package/dist/editor/media-selector/Thumbnails.js.map +1 -1
- package/dist/editor/media-selector/TreeSelector.js +142 -42
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/media-selector/UploadZone.d.ts +6 -1
- package/dist/editor/media-selector/UploadZone.js +10 -7
- package/dist/editor/media-selector/UploadZone.js.map +1 -1
- package/dist/editor/media-selector/mediaFileType.d.ts +2 -0
- package/dist/editor/media-selector/mediaFileType.js +37 -0
- package/dist/editor/media-selector/mediaFileType.js.map +1 -1
- package/dist/editor/menubar/ActiveUsers.js +1 -1
- package/dist/editor/menubar/ActiveUsers.js.map +1 -1
- package/dist/editor/menubar/GenericToolbar.d.ts +2 -1
- package/dist/editor/menubar/GenericToolbar.js +2 -2
- package/dist/editor/menubar/GenericToolbar.js.map +1 -1
- package/dist/editor/menubar/ToolbarFactory.js +10 -2
- package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.js +2 -2
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +10 -3
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/FindReplaceControls.d.ts +6 -0
- package/dist/editor/menubar/toolbar-sections/FindReplaceControls.js +31 -0
- package/dist/editor/menubar/toolbar-sections/FindReplaceControls.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +6 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/index.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/index.js +1 -0
- package/dist/editor/menubar/toolbar-sections/index.js.map +1 -1
- package/dist/editor/notifications/WatchButton.js +11 -4
- package/dist/editor/notifications/WatchButton.js.map +1 -1
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +20 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +31 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +2 -2
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +33 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +290 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/FieldActionIndicator.js +8 -4
- package/dist/editor/page-editor-chrome/FieldActionIndicator.js.map +1 -1
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.d.ts +11 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js +117 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js +27 -10
- package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js.map +1 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +6 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js +53 -6
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.js +3 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +14 -2
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +67 -14
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +6 -271
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/diffRulerSegments.d.ts +18 -0
- package/dist/editor/page-editor-chrome/diffRulerSegments.js +37 -0
- package/dist/editor/page-editor-chrome/diffRulerSegments.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +15 -2
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +2 -0
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +58 -5
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
- package/dist/editor/page-viewer/DeviceToolbar.js +53 -10
- package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
- package/dist/editor/page-viewer/MiniMap.d.ts +6 -2
- package/dist/editor/page-viewer/MiniMap.js +152 -36
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +225 -32
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeFieldPatch.js +1 -0
- package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
- package/dist/editor/page-viewer/bridgeKeyboardShortcuts.d.ts +6 -0
- package/dist/editor/page-viewer/bridgeKeyboardShortcuts.js +19 -1
- package/dist/editor/page-viewer/bridgeKeyboardShortcuts.js.map +1 -1
- package/dist/editor/page-viewer/compareFrameWidth.d.ts +8 -0
- package/dist/editor/page-viewer/compareFrameWidth.js +25 -0
- package/dist/editor/page-viewer/compareFrameWidth.js.map +1 -0
- package/dist/editor/page-viewer/minimapViewport.d.ts +2 -0
- package/dist/editor/page-viewer/minimapViewport.js +31 -0
- package/dist/editor/page-viewer/minimapViewport.js.map +1 -0
- package/dist/editor/page-viewer/pageViewContext.d.ts +2 -1
- package/dist/editor/page-viewer/pageViewContext.js +10 -4
- package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
- package/dist/editor/pageModel.d.ts +2 -0
- package/dist/editor/reviews/Comment.js +13 -12
- package/dist/editor/reviews/Comment.js.map +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js +25 -29
- package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/CommentEditor.js +58 -19
- package/dist/editor/reviews/CommentEditor.js.map +1 -1
- package/dist/editor/reviews/CommentImageAttachments.d.ts +12 -0
- package/dist/editor/reviews/CommentImageAttachments.js +19 -0
- package/dist/editor/reviews/CommentImageAttachments.js.map +1 -0
- package/dist/editor/reviews/CommentQuote.d.ts +4 -0
- package/dist/editor/reviews/CommentQuote.js +30 -0
- package/dist/editor/reviews/CommentQuote.js.map +1 -0
- package/dist/editor/reviews/CommentThreadAgentLink.d.ts +23 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js +37 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -0
- package/dist/editor/reviews/CommentView.d.ts +2 -3
- package/dist/editor/reviews/CommentView.js +17 -14
- package/dist/editor/reviews/CommentView.js.map +1 -1
- package/dist/editor/reviews/Comments.js +14 -5
- package/dist/editor/reviews/Comments.js.map +1 -1
- package/dist/editor/reviews/MentionText.d.ts +5 -1
- package/dist/editor/reviews/MentionText.js +23 -0
- package/dist/editor/reviews/MentionText.js.map +1 -1
- package/dist/editor/reviews/ReviewCard.js +14 -8
- package/dist/editor/reviews/ReviewCard.js.map +1 -1
- package/dist/editor/reviews/ReviewersPanel.js +7 -2
- package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +75 -15
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/SuggestionCommentThread.js +5 -4
- package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -1
- package/dist/editor/reviews/SuggestionDisplayPopover.d.ts +3 -1
- package/dist/editor/reviews/SuggestionDisplayPopover.js +7 -2
- package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/commentAgentAttachments.d.ts +5 -0
- package/dist/editor/reviews/commentAgentAttachments.js +51 -0
- package/dist/editor/reviews/commentAgentAttachments.js.map +1 -0
- package/dist/editor/reviews/commentAi.d.ts +29 -3
- package/dist/editor/reviews/commentAi.js +122 -34
- package/dist/editor/reviews/commentAi.js.map +1 -1
- package/dist/editor/reviews/commentImages.d.ts +49 -0
- package/dist/editor/reviews/commentImages.js +164 -0
- package/dist/editor/reviews/commentImages.js.map +1 -0
- package/dist/editor/reviews/feedbackAvatar.js +11 -5
- package/dist/editor/reviews/feedbackAvatar.js.map +1 -1
- package/dist/editor/reviews/feedbackCommentRules.d.ts +1 -1
- package/dist/editor/reviews/feedbackCommentRules.js +3 -9
- package/dist/editor/reviews/feedbackCommentRules.js.map +1 -1
- package/dist/editor/reviews/feedbackSelection.d.ts +13 -0
- package/dist/editor/reviews/feedbackSelection.js +37 -0
- package/dist/editor/reviews/feedbackSelection.js.map +1 -1
- package/dist/editor/reviews/suggestionDisplayValue.d.ts +24 -2
- package/dist/editor/reviews/suggestionDisplayValue.js +28 -4
- package/dist/editor/reviews/suggestionDisplayValue.js.map +1 -1
- package/dist/editor/reviews/useCommentImagePaste.d.ts +72 -0
- package/dist/editor/reviews/useCommentImagePaste.js +188 -0
- package/dist/editor/reviews/useCommentImagePaste.js.map +1 -0
- package/dist/editor/services/agentErrorMessage.js +5 -1
- package/dist/editor/services/agentErrorMessage.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +12 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/agentStatus.d.ts +1 -0
- package/dist/editor/services/agentStatus.js +14 -0
- package/dist/editor/services/agentStatus.js.map +1 -1
- package/dist/editor/services/contentService.d.ts +2 -0
- package/dist/editor/services/contentService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +17 -2
- package/dist/editor/services/editService.js +7 -2
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/services/searchService.d.ts +2 -1
- package/dist/editor/services/searchService.js +2 -1
- package/dist/editor/services/searchService.js.map +1 -1
- package/dist/editor/services/userResolution.js +6 -5
- package/dist/editor/services/userResolution.js.map +1 -1
- package/dist/editor/settings/index/RecentBatchesList.js +2 -1
- package/dist/editor/settings/index/RecentBatchesList.js.map +1 -1
- package/dist/editor/sidebar/ComponentPalette.js +12 -4
- package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +41 -22
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/EditHistory.js +2 -2
- package/dist/editor/sidebar/EditHistory.js.map +1 -1
- package/dist/editor/sidebar/MainContentTree.js +1 -1
- package/dist/editor/sidebar/MainContentTree.js.map +1 -1
- package/dist/editor/sidebar/MorePanelsButton.js +2 -2
- package/dist/editor/sidebar/MorePanelsButton.js.map +1 -1
- package/dist/editor/sidebar/NavigationPanelMenuItem.js +2 -2
- package/dist/editor/sidebar/NavigationPanelMenuItem.js.map +1 -1
- package/dist/editor/sidebar/OperationItem.js +2 -1
- package/dist/editor/sidebar/OperationItem.js.map +1 -1
- package/dist/editor/sidebar/Validation.js +38 -44
- package/dist/editor/sidebar/Validation.js.map +1 -1
- package/dist/editor/sidebar/liveComponentThumbnails.d.ts +66 -0
- package/dist/editor/sidebar/liveComponentThumbnails.js +220 -0
- package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -0
- package/dist/editor/ui/ItemCollectionEditor.d.ts +17 -1
- package/dist/editor/ui/ItemCollectionEditor.js +17 -5
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/ItemList.d.ts +5 -0
- package/dist/editor/ui/ItemList.js +10 -2
- package/dist/editor/ui/ItemList.js.map +1 -1
- package/dist/editor/ui/ItemSearch.d.ts +7 -0
- package/dist/editor/ui/ItemSearch.js +14 -6
- package/dist/editor/ui/ItemSearch.js.map +1 -1
- package/dist/editor/ui/ParheliaMark.d.ts +15 -0
- package/dist/editor/ui/ParheliaMark.js +12 -0
- package/dist/editor/ui/ParheliaMark.js.map +1 -0
- package/dist/editor/ui/PublishDialog.js +3 -2
- package/dist/editor/ui/PublishDialog.js.map +1 -1
- package/dist/editor/ui/SimpleTabs.js +58 -3
- package/dist/editor/ui/SimpleTabs.js.map +1 -1
- package/dist/editor/ui/Splitter.d.ts +15 -0
- package/dist/editor/ui/Splitter.js +77 -100
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/ui/TreeListSelector.d.ts +15 -1
- package/dist/editor/ui/TreeListSelector.js +2 -2
- package/dist/editor/ui/TreeListSelector.js.map +1 -1
- package/dist/editor/ui/WorkboxItemsTable.d.ts +6 -1
- package/dist/editor/ui/WorkboxItemsTable.js +44 -48
- package/dist/editor/ui/WorkboxItemsTable.js.map +1 -1
- package/dist/editor/ui/publishReadiness.d.ts +13 -0
- package/dist/editor/ui/publishReadiness.js +56 -0
- package/dist/editor/ui/publishReadiness.js.map +1 -1
- package/dist/editor/undoEligibility.d.ts +2 -0
- package/dist/editor/undoEligibility.js +8 -0
- package/dist/editor/undoEligibility.js.map +1 -0
- package/dist/editor/utils/keyboardNavigation.js +16 -0
- package/dist/editor/utils/keyboardNavigation.js.map +1 -1
- package/dist/editor/validation/ValidationIssuesPopover.d.ts +39 -0
- package/dist/editor/validation/ValidationIssuesPopover.js +51 -0
- package/dist/editor/validation/ValidationIssuesPopover.js.map +1 -0
- package/dist/editor/validation/navigateToValidationIssue.d.ts +13 -0
- package/dist/editor/validation/navigateToValidationIssue.js +43 -0
- package/dist/editor/validation/navigateToValidationIssue.js.map +1 -0
- package/dist/editor/validation/validationFixAgent.d.ts +26 -0
- package/dist/editor/validation/validationFixAgent.js +124 -0
- package/dist/editor/validation/validationFixAgent.js.map +1 -0
- package/dist/editor/validation/validationSeverity.d.ts +15 -0
- package/dist/editor/validation/validationSeverity.js +47 -0
- package/dist/editor/validation/validationSeverity.js.map +1 -0
- package/dist/editor/version-diff/versionDiffGeometryKeys.d.ts +10 -4
- package/dist/editor/version-diff/versionDiffGeometryKeys.js +21 -7
- package/dist/editor/version-diff/versionDiffGeometryKeys.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.d.ts +6 -1
- package/dist/editor/version-diff/versionDiffTargets.js +5 -5
- package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
- package/dist/editor/views/editorSlotContext.d.ts +4 -0
- package/dist/editor/views/editorSlotContext.js +37 -1
- package/dist/editor/views/editorSlotContext.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/utils.d.ts +5 -0
- package/dist/lib/utils.js +7 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ModernSplashScreen.js +10 -8
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/splash-screen/RecentPages.js +35 -20
- package/dist/splash-screen/RecentPages.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +243 -81
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/AttentionPromptDialog.d.ts +13 -0
- package/dist/task-board/components/AttentionPromptDialog.js +45 -0
- package/dist/task-board/components/AttentionPromptDialog.js.map +1 -0
- package/dist/task-board/components/CommentsList.js +11 -11
- package/dist/task-board/components/CommentsList.js.map +1 -1
- package/dist/task-board/components/GoalDataView.d.ts +53 -1
- package/dist/task-board/components/GoalDataView.js +164 -55
- package/dist/task-board/components/GoalDataView.js.map +1 -1
- package/dist/task-board/components/GoalFindingsTable.d.ts +43 -0
- package/dist/task-board/components/GoalFindingsTable.js +160 -0
- package/dist/task-board/components/GoalFindingsTable.js.map +1 -0
- package/dist/task-board/components/GoalsMatrix.js +33 -6
- package/dist/task-board/components/GoalsMatrix.js.map +1 -1
- package/dist/task-board/components/IssuePanel.d.ts +31 -0
- package/dist/task-board/components/IssuePanel.js +268 -0
- package/dist/task-board/components/IssuePanel.js.map +1 -0
- package/dist/task-board/components/ProjectDashboard.d.ts +2 -18
- package/dist/task-board/components/ProjectDashboard.js +2 -206
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectGoalsPanel.js +173 -15
- package/dist/task-board/components/ProjectGoalsPanel.js.map +1 -1
- package/dist/task-board/components/ProjectProgressIndicator.d.ts +8 -0
- package/dist/task-board/components/ProjectProgressIndicator.js +17 -0
- package/dist/task-board/components/ProjectProgressIndicator.js.map +1 -0
- package/dist/task-board/components/SubgoalFindings.d.ts +40 -0
- package/dist/task-board/components/SubgoalFindings.js +88 -0
- package/dist/task-board/components/SubgoalFindings.js.map +1 -0
- package/dist/task-board/components/TaskAgentPanel.d.ts +2 -0
- package/dist/task-board/components/TaskAgentPanel.js +5 -4
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
- package/dist/task-board/components/TaskBoardHomeView.d.ts +11 -0
- package/dist/task-board/components/TaskBoardHomeView.js +40 -2
- package/dist/task-board/components/TaskBoardHomeView.js.map +1 -1
- package/dist/task-board/components/TaskBoardProjectListSidebar.js +2 -11
- package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.js +58 -23
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationCenter.d.ts +2 -0
- package/dist/task-board/components/WizardCommunicationCenter.js +5 -3
- package/dist/task-board/components/WizardCommunicationCenter.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationShared.js +2 -1
- package/dist/task-board/components/WizardCommunicationShared.js.map +1 -1
- package/dist/task-board/components/WizardTask.d.ts +2 -0
- package/dist/task-board/components/WizardTask.js +2 -2
- package/dist/task-board/components/WizardTask.js.map +1 -1
- package/dist/task-board/components/WizardTaskDetailsPanel.d.ts +4 -0
- package/dist/task-board/components/WizardTaskDetailsPanel.js +16 -3
- package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
- package/dist/task-board/components/commentAuthor.d.ts +14 -0
- package/dist/task-board/components/commentAuthor.js +25 -0
- package/dist/task-board/components/commentAuthor.js.map +1 -0
- package/dist/task-board/services/issueService.d.ts +193 -0
- package/dist/task-board/services/issueService.js +97 -0
- package/dist/task-board/services/issueService.js.map +1 -0
- package/dist/task-board/taskBoardNavStore.d.ts +6 -0
- package/dist/task-board/taskBoardNavStore.js +36 -1
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/task-board/types.d.ts +28 -0
- package/dist/task-board/utils/projectDashboardModel.d.ts +68 -0
- package/dist/task-board/utils/projectDashboardModel.js +363 -0
- package/dist/task-board/utils/projectDashboardModel.js.map +1 -0
- package/dist/task-board/views/DependencyGraphView.d.ts +7 -1
- package/dist/task-board/views/DependencyGraphView.js +58 -19
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/task-board/views/ProjectDashboardView.d.ts +28 -0
- package/dist/task-board/views/ProjectDashboardView.js +316 -0
- package/dist/task-board/views/ProjectDashboardView.js.map +1 -0
- package/dist/tour/Tour.js +21 -2
- package/dist/tour/Tour.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/images/Parhelia-Onboarding-Beach.jpg +0 -0
- package/package.json +1 -1
- package/styles.css +57 -3
- package/images/Parhelia-Onboarding-BG.jpg +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { useCallback, useRef, } from "react";
|
|
1
|
+
import { useCallback, useEffect, useRef, } from "react";
|
|
2
2
|
import { sanitizeAgentMetadata } from "./agentSessionMetadata";
|
|
3
3
|
import { normalizeAgentId } from "../agentMessageHelpers";
|
|
4
|
+
import { toEditorContextSnapshot } from "./agentContextMerge";
|
|
4
5
|
function getInitialProfileId(initialMetadata) {
|
|
5
6
|
try {
|
|
6
7
|
return initialMetadata?.additionalData?.profileId;
|
|
@@ -22,9 +23,9 @@ function getInitialProfileName(initialMetadata) {
|
|
|
22
23
|
function mergeInitialMetadataWithLocalContext(input) {
|
|
23
24
|
const { initialMetadata, localContext } = input;
|
|
24
25
|
if (!initialMetadata) {
|
|
25
|
-
return localContext;
|
|
26
|
+
return localContext ? { ...localContext } : null;
|
|
26
27
|
}
|
|
27
|
-
const base = { ...initialMetadata };
|
|
28
|
+
const base = { ...localContext, ...initialMetadata };
|
|
28
29
|
if (!localContext) {
|
|
29
30
|
return base;
|
|
30
31
|
}
|
|
@@ -52,9 +53,11 @@ function mergeInitialMetadataWithLocalContext(input) {
|
|
|
52
53
|
return base;
|
|
53
54
|
}
|
|
54
55
|
export function useAgentDraftInitializer(input) {
|
|
55
|
-
const { agentStub, initialMetadata, messagesRef, actions, setAgent, setAgentMetadata, setError, setPrompt, } = input;
|
|
56
|
+
const { agentStub, initialMetadata, profiles, profilesLoading = false, currentItemDescriptor, buildEditorContextPayload, onDraftMetadataUpdate, messagesRef, actions, setAgent, setAgentMetadata, setError, setPrompt, } = input;
|
|
56
57
|
const initializedDraftAgentIdRef = useRef(null);
|
|
57
|
-
|
|
58
|
+
const creationContextRef = useRef(null);
|
|
59
|
+
const waitingForProfilesRef = useRef(false);
|
|
60
|
+
const initialize = useCallback(() => {
|
|
58
61
|
const draftAgentId = normalizeAgentId(agentStub.id);
|
|
59
62
|
const hasExistingMessages = messagesRef.current.some((message) => normalizeAgentId(message.agentId) === draftAgentId);
|
|
60
63
|
if (agentStub.status !== "new" || agentStub.userId) {
|
|
@@ -74,9 +77,28 @@ export function useAgentDraftInitializer(input) {
|
|
|
74
77
|
actions.finishReady();
|
|
75
78
|
return true;
|
|
76
79
|
}
|
|
80
|
+
// Freeze the launch context before profile loading or navigation can change
|
|
81
|
+
// the editor. Keep it local until we know whether the profile opts in.
|
|
82
|
+
if (creationContextRef.current?.agentId !== draftAgentId) {
|
|
83
|
+
creationContextRef.current = {
|
|
84
|
+
agentId: draftAgentId,
|
|
85
|
+
context: structuredClone(buildEditorContextPayload(currentItemDescriptor)),
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
if (profilesLoading) {
|
|
89
|
+
waitingForProfilesRef.current = true;
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
waitingForProfilesRef.current = false;
|
|
77
93
|
initializedDraftAgentIdRef.current = draftAgentId;
|
|
78
|
-
const initialProfileId = getInitialProfileId(initialMetadata);
|
|
79
|
-
const initialProfileName = getInitialProfileName(initialMetadata);
|
|
94
|
+
const initialProfileId = getInitialProfileId(initialMetadata) || agentStub.profileId;
|
|
95
|
+
const initialProfileName = getInitialProfileName(initialMetadata) || agentStub.profileName;
|
|
96
|
+
const profile = profiles.find((candidate) => candidate.id?.toLowerCase() === initialProfileId?.toLowerCase());
|
|
97
|
+
const capturedContext = profile?.captureEditorContextOnCreate
|
|
98
|
+
? (initialMetadata?.editorContext?.startedFrom ??
|
|
99
|
+
toEditorContextSnapshot(creationContextRef.current.context) ??
|
|
100
|
+
{})
|
|
101
|
+
: undefined;
|
|
80
102
|
setAgent({
|
|
81
103
|
...agentStub,
|
|
82
104
|
messages: [],
|
|
@@ -104,17 +126,22 @@ export function useAgentDraftInitializer(input) {
|
|
|
104
126
|
actions.replaceTranscript([]);
|
|
105
127
|
setError(null);
|
|
106
128
|
actions.finishReady();
|
|
107
|
-
// Editor context is no longer auto-seeded on create. The user opts in to
|
|
108
|
-
// the currently viewed page/component/field via the "include currently
|
|
109
|
-
// viewed page" checkbox, or pins it explicitly. Only explicit invocation
|
|
110
|
-
// context carried on initialMetadata (e.g. a review comment or field) is
|
|
111
|
-
// kept here.
|
|
112
129
|
const nextMetadata = mergeInitialMetadataWithLocalContext({
|
|
113
130
|
initialMetadata,
|
|
114
|
-
localContext: null,
|
|
131
|
+
localContext: capturedContext ?? null,
|
|
115
132
|
});
|
|
133
|
+
if (nextMetadata && capturedContext) {
|
|
134
|
+
nextMetadata.editorContext = {
|
|
135
|
+
...nextMetadata.editorContext,
|
|
136
|
+
startedFrom: capturedContext,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
116
139
|
if (nextMetadata) {
|
|
117
|
-
|
|
140
|
+
const sanitizedMetadata = sanitizeAgentMetadata(nextMetadata);
|
|
141
|
+
setAgentMetadata(sanitizedMetadata);
|
|
142
|
+
if (capturedContext && sanitizedMetadata) {
|
|
143
|
+
onDraftMetadataUpdate?.(sanitizedMetadata);
|
|
144
|
+
}
|
|
118
145
|
try {
|
|
119
146
|
const maybePrompt = nextMetadata?.additionalData
|
|
120
147
|
?.initialPrompt;
|
|
@@ -129,6 +156,11 @@ export function useAgentDraftInitializer(input) {
|
|
|
129
156
|
actions,
|
|
130
157
|
agentStub,
|
|
131
158
|
initialMetadata,
|
|
159
|
+
profiles,
|
|
160
|
+
profilesLoading,
|
|
161
|
+
currentItemDescriptor,
|
|
162
|
+
buildEditorContextPayload,
|
|
163
|
+
onDraftMetadataUpdate,
|
|
132
164
|
initializedDraftAgentIdRef,
|
|
133
165
|
messagesRef,
|
|
134
166
|
setAgent,
|
|
@@ -136,5 +168,10 @@ export function useAgentDraftInitializer(input) {
|
|
|
136
168
|
setError,
|
|
137
169
|
setPrompt,
|
|
138
170
|
]);
|
|
171
|
+
useEffect(() => {
|
|
172
|
+
if (waitingForProfilesRef.current && !profilesLoading)
|
|
173
|
+
initialize();
|
|
174
|
+
}, [initialize, profilesLoading]);
|
|
175
|
+
return initialize;
|
|
139
176
|
}
|
|
140
177
|
//# sourceMappingURL=useAgentDraftInitializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAgentDraftInitializer.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentDraftInitializer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,MAAM,GAGP,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"useAgentDraftInitializer.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentDraftInitializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
2
|
import { getComponentById } from "../../componentTreeHelper";
|
|
3
|
+
import { useCanvasSelection } from "../../client/editContext";
|
|
3
4
|
export function useAgentEditorContext(input) {
|
|
4
5
|
const { editContext, fieldsContext } = input;
|
|
6
|
+
const selection = useCanvasSelection();
|
|
5
7
|
const collectVisibleTestIds = useCallback(() => {
|
|
6
8
|
try {
|
|
7
9
|
const elements = document.querySelectorAll("[data-testid]");
|
|
@@ -70,9 +72,12 @@ export function useAgentEditorContext(input) {
|
|
|
70
72
|
editContext?.page?.item?.path,
|
|
71
73
|
]);
|
|
72
74
|
const buildComponentContext = useCallback((item) => {
|
|
73
|
-
|
|
75
|
+
// Subscribe for the context preview, but read at send time as well: a
|
|
76
|
+
// canvas click can update selection before React commits another render.
|
|
77
|
+
const selectedIds = editContext?.getSelection?.() ?? selection;
|
|
78
|
+
if (!selectedIds.length)
|
|
74
79
|
return undefined;
|
|
75
|
-
return
|
|
80
|
+
return selectedIds.map((componentId) => {
|
|
76
81
|
let componentName;
|
|
77
82
|
let componentType;
|
|
78
83
|
let renderingItemId;
|
|
@@ -94,7 +99,12 @@ export function useAgentEditorContext(input) {
|
|
|
94
99
|
pageItem: buildPageContextItem(item),
|
|
95
100
|
};
|
|
96
101
|
});
|
|
97
|
-
}, [
|
|
102
|
+
}, [
|
|
103
|
+
buildPageContextItem,
|
|
104
|
+
editContext?.page,
|
|
105
|
+
editContext?.getSelection,
|
|
106
|
+
selection,
|
|
107
|
+
]);
|
|
98
108
|
const buildFieldContext = useCallback(() => {
|
|
99
109
|
const focusedField = fieldsContext?.focusedField;
|
|
100
110
|
if (!focusedField?.fieldId || !focusedField?.item?.id)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAgentEditorContext.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentEditorContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useAgentEditorContext.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentEditorContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ export declare function useAgentLoadPipeline(input: {
|
|
|
12
12
|
agentStub: DraftInput["agentStub"];
|
|
13
13
|
initialMetadata: DraftInput["initialMetadata"];
|
|
14
14
|
profiles: DraftInput["profiles"];
|
|
15
|
+
profilesLoading?: boolean;
|
|
16
|
+
onDraftMetadataUpdate?: DraftInput["onDraftMetadataUpdate"];
|
|
15
17
|
currentItemDescriptor: DraftInput["currentItemDescriptor"];
|
|
16
18
|
buildEditorContextPayload: DraftInput["buildEditorContextPayload"];
|
|
17
19
|
messagesRef: DraftInput["messagesRef"];
|
|
@@ -7,11 +7,13 @@ import { useAgentLoadLifecycle } from "./useAgentLoadLifecycle";
|
|
|
7
7
|
import { useAgentOperationHistoryLoader } from "./useAgentOperationHistoryLoader";
|
|
8
8
|
import { useAgentServerReconciler } from "./useAgentServerReconciler";
|
|
9
9
|
export function useAgentLoadPipeline(input) {
|
|
10
|
-
const { agent, agentStub, initialMetadata, profiles, currentItemDescriptor, buildEditorContextPayload, messagesRef, sessionActions, setAgent, setAgentMetadata, setError, setPrompt, onAgentNotFound, isStoppingRef, isWaitingRef, setIsWaitingForResponse, setIsConnecting, setIsAgentThinking, seenMessageIdsRef, sanitizeAgentMetadata, effectiveIsVisible, sessionCostLimitExceeded, sessionLiveTotalCost, } = input;
|
|
10
|
+
const { agent, agentStub, initialMetadata, profiles, profilesLoading, onDraftMetadataUpdate, currentItemDescriptor, buildEditorContextPayload, messagesRef, sessionActions, setAgent, setAgentMetadata, setError, setPrompt, onAgentNotFound, isStoppingRef, isWaitingRef, setIsWaitingForResponse, setIsConnecting, setIsAgentThinking, seenMessageIdsRef, sanitizeAgentMetadata, effectiveIsVisible, sessionCostLimitExceeded, sessionLiveTotalCost, } = input;
|
|
11
11
|
const initializeDraftAgent = useAgentDraftInitializer({
|
|
12
12
|
agentStub,
|
|
13
13
|
initialMetadata,
|
|
14
14
|
profiles,
|
|
15
|
+
profilesLoading,
|
|
16
|
+
onDraftMetadataUpdate,
|
|
15
17
|
currentItemDescriptor,
|
|
16
18
|
buildEditorContextPayload,
|
|
17
19
|
messagesRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAgentLoadPipeline.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentLoadPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAQtE,MAAM,UAAU,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"useAgentLoadPipeline.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentLoadPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAQtE,MAAM,UAAU,oBAAoB,CAAC,KA0BpC;IACC,MAAM,EACJ,KAAK,EACL,SAAS,EACT,eAAe,EACf,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,WAAW,EACX,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,eAAe,EACf,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GACrB,GAAG,KAAK,CAAC;IAEV,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;QACpD,SAAS;QACT,eAAe;QACf,QAAQ;QACR,eAAe;QACf,qBAAqB;QACrB,qBAAqB;QACrB,yBAAyB;QACzB,WAAW;QACX,OAAO,EAAE,cAAc;QACvB,QAAQ;QACR,gBAAgB;QAChB,QAAQ;QACR,SAAS;KACV,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;QACpD,aAAa;QACb,YAAY;QACZ,uBAAuB;QACvB,eAAe;QACf,kBAAkB;KACnB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,wBAAwB,CAAC;QAC/C,OAAO,EAAE,SAAS,CAAC,EAAE;QACrB,WAAW;QACX,OAAO,EAAE,cAAc;QACvB,QAAQ;QACR,QAAQ;QACR,eAAe;KAChB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,cAAc,CAAC;QAC/B,SAAS;QACT,eAAe;QACf,OAAO,EAAE,cAAc;QACvB,WAAW;QACX,iBAAiB;QACjB,aAAa;QACb,oBAAoB;QACpB,kBAAkB;QAClB,qBAAqB;QACrB,eAAe;QACf,QAAQ;QACR,gBAAgB;QAChB,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAExE,qBAAqB,CAAC;QACpB,KAAK;QACL,OAAO,EAAE,SAAS,CAAC,EAAE;QACrB,kBAAkB;QAClB,SAAS;KACV,CAAC,CAAC;IAEH,8BAA8B,CAAC;QAC7B,KAAK;QACL,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAEH,wBAAwB,CAAC;QACvB,KAAK;QACL,wBAAwB;QACxB,oBAAoB;QACpB,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAEH,OAAO;QACL,SAAS;QACT,uBAAuB;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { loadAgentSessionOperationHistory } from "./useAgentSessionSync";
|
|
|
4
4
|
export function useAgentOperationHistoryLoader(input) {
|
|
5
5
|
const { agent, actions } = input;
|
|
6
6
|
useEffect(() => {
|
|
7
|
+
let cancelled = false;
|
|
7
8
|
const fetchOperations = async () => {
|
|
8
9
|
if (!agent?.id) {
|
|
9
10
|
actions.replaceOperationHistory([]);
|
|
@@ -12,7 +13,7 @@ export function useAgentOperationHistoryLoader(input) {
|
|
|
12
13
|
actions.replaceOperationHistory([]);
|
|
13
14
|
try {
|
|
14
15
|
const result = await loadAgentSessionOperationHistory(agent.id, AGENT_HISTORY_LIMIT);
|
|
15
|
-
if (result.type === "success") {
|
|
16
|
+
if (!cancelled && result.type === "success") {
|
|
16
17
|
actions.replaceOperationHistory(result.data ?? []);
|
|
17
18
|
}
|
|
18
19
|
}
|
|
@@ -21,6 +22,9 @@ export function useAgentOperationHistoryLoader(input) {
|
|
|
21
22
|
}
|
|
22
23
|
};
|
|
23
24
|
void fetchOperations();
|
|
25
|
+
return () => {
|
|
26
|
+
cancelled = true;
|
|
27
|
+
};
|
|
24
28
|
}, [actions, agent?.id]);
|
|
25
29
|
}
|
|
26
30
|
//# sourceMappingURL=useAgentOperationHistoryLoader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAgentOperationHistoryLoader.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentOperationHistoryLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAKzE,MAAM,UAAU,8BAA8B,CAAC,KAG9C;IACC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAEpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,gCAAgC,CACnD,KAAK,CAAC,EAAE,EACR,mBAAmB,CACpB,CAAC;gBACF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"useAgentOperationHistoryLoader.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentOperationHistoryLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAKzE,MAAM,UAAU,8BAA8B,CAAC,KAG9C;IACC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAEpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,gCAAgC,CACnD,KAAK,CAAC,EAAE,EACR,mBAAmB,CACpB,CAAC;gBACF,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5C,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,eAAe,EAAE,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
|
-
import { useCallback } from "react";
|
|
1
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
2
|
+
import { loadAgentSessionOperationHistory } from "./useAgentSessionSync";
|
|
3
|
+
import { AGENT_HISTORY_LIMIT } from "../agentMessageHelpers";
|
|
2
4
|
export function useAgentOperationSocketHandler(input) {
|
|
3
5
|
const { agent, actions } = input;
|
|
6
|
+
const refreshTimer = useRef(undefined);
|
|
7
|
+
const revision = useRef(0);
|
|
8
|
+
const refreshNeeded = useRef(false);
|
|
9
|
+
useEffect(() => () => {
|
|
10
|
+
revision.current += 1;
|
|
11
|
+
refreshNeeded.current = false;
|
|
12
|
+
clearTimeout(refreshTimer.current);
|
|
13
|
+
}, [agent?.id, actions]);
|
|
4
14
|
return useCallback((messageType, payload) => {
|
|
5
15
|
if (messageType !== "edit-operation") {
|
|
6
16
|
return false;
|
|
@@ -13,6 +23,28 @@ export function useAgentOperationSocketHandler(input) {
|
|
|
13
23
|
if (operationAgentId === agent.id) {
|
|
14
24
|
actions.mergeOperationHistory([operation]);
|
|
15
25
|
}
|
|
26
|
+
// A deletion, version removal, template change, or restoration can change
|
|
27
|
+
// eligibility of earlier operations, including changes by another user.
|
|
28
|
+
refreshNeeded.current ||=
|
|
29
|
+
operation.type !== "edit-field" &&
|
|
30
|
+
operation.executionStatus !== "executing";
|
|
31
|
+
if (refreshNeeded.current) {
|
|
32
|
+
const requestRevision = ++revision.current;
|
|
33
|
+
clearTimeout(refreshTimer.current);
|
|
34
|
+
refreshTimer.current = setTimeout(async () => {
|
|
35
|
+
try {
|
|
36
|
+
const result = await loadAgentSessionOperationHistory(agent.id, AGENT_HISTORY_LIMIT);
|
|
37
|
+
if (revision.current === requestRevision &&
|
|
38
|
+
result.type === "success") {
|
|
39
|
+
refreshNeeded.current = false;
|
|
40
|
+
actions.mergeOperationHistory(result.data ?? []);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
console.error("Failed to refresh agent undo eligibility:", error);
|
|
45
|
+
}
|
|
46
|
+
}, 250);
|
|
47
|
+
}
|
|
16
48
|
return true;
|
|
17
49
|
}, [actions, agent]);
|
|
18
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAgentOperationSocketHandler.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentOperationSocketHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useAgentOperationSocketHandler.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentOperationSocketHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAIvD,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,UAAU,8BAA8B,CAAC,KAG9C;IACC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,CACzB,SAAS,CACV,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEpC,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;QACtB,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;QAC9B,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CACrB,CAAC;IAEF,OAAO,WAAW,CAChB,CAAC,WAAmB,EAAE,OAAY,EAAW,EAAE;QAC7C,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,OAAwB,CAAC;QAC3C,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;QACtE,IAAI,gBAAgB,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,aAAa,CAAC,OAAO;YACnB,SAAS,CAAC,IAAI,KAAK,YAAY;gBAC/B,SAAS,CAAC,eAAe,KAAK,WAAW,CAAC;QAC5C,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,eAAe,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC;YAC3C,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,YAAY,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;gBAC3C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,gCAAgC,CACnD,KAAK,CAAC,EAAE,EACR,mBAAmB,CACpB,CAAC;oBACF,IACE,QAAQ,CAAC,OAAO,KAAK,eAAe;wBACpC,MAAM,CAAC,IAAI,KAAK,SAAS,EACzB,CAAC;wBACD,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;wBAC9B,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,EACD,CAAC,OAAO,EAAE,KAAK,CAAC,CACjB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AgentStreamMessage } from "../../services/agentService";
|
|
2
|
+
import type { useAgentSession } from "./useAgentSession";
|
|
3
|
+
type AgentSessionActions = ReturnType<typeof useAgentSession>["actions"];
|
|
4
|
+
/**
|
|
5
|
+
* Tracks whether the run is waiting on the model provider. The server emits a
|
|
6
|
+
* Heartbeat delta every few seconds while a provider request has produced no
|
|
7
|
+
* first chunk; the flag flips on at the first heartbeat and off again on the
|
|
8
|
+
* next real delta or status change. It never adds anything to the transcript:
|
|
9
|
+
* the live "Thinking" label reads it to switch its wording, and that is the
|
|
10
|
+
* whole surface.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useAgentProviderWait(input: {
|
|
13
|
+
actions: AgentSessionActions;
|
|
14
|
+
}): {
|
|
15
|
+
handleHeartbeatDelta: (_message: AgentStreamMessage) => void;
|
|
16
|
+
clearProviderWait: () => void;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Tracks whether the run is waiting on the model provider. The server emits a
|
|
4
|
+
* Heartbeat delta every few seconds while a provider request has produced no
|
|
5
|
+
* first chunk; the flag flips on at the first heartbeat and off again on the
|
|
6
|
+
* next real delta or status change. It never adds anything to the transcript:
|
|
7
|
+
* the live "Thinking" label reads it to switch its wording, and that is the
|
|
8
|
+
* whole surface.
|
|
9
|
+
*/
|
|
10
|
+
export function useAgentProviderWait(input) {
|
|
11
|
+
const { actions } = input;
|
|
12
|
+
const handleHeartbeatDelta = useCallback((_message) => {
|
|
13
|
+
actions.patchRunState({ isWaitingForProvider: true });
|
|
14
|
+
}, [actions]);
|
|
15
|
+
const clearProviderWait = useCallback(() => {
|
|
16
|
+
actions.patchRunState({ isWaitingForProvider: false });
|
|
17
|
+
}, [actions]);
|
|
18
|
+
return {
|
|
19
|
+
handleHeartbeatDelta,
|
|
20
|
+
clearProviderWait,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=useAgentProviderWait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentProviderWait.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentProviderWait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAMpC;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAuC;IAC1E,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1B,MAAM,oBAAoB,GAAG,WAAW,CACtC,CAAC,QAA4B,EAAE,EAAE;QAC/B,OAAO,CAAC,aAAa,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,OAAO,CAAC,aAAa,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO;QACL,oBAAoB;QACpB,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -11,7 +11,7 @@ export declare function useAgentRunCompletionSocketHandler(input: {
|
|
|
11
11
|
normalizeRunId: (value: unknown) => string | null;
|
|
12
12
|
noteMissingRunId: (source: string) => void;
|
|
13
13
|
settleCompletedRun: (finalStatus?: "completed" | "cancelled", runId?: string | null) => void;
|
|
14
|
-
|
|
14
|
+
clearProviderWait: () => void;
|
|
15
15
|
setError: StateSetter<string | null>;
|
|
16
16
|
setAgent: StateSetter<AgentDetails | undefined>;
|
|
17
17
|
setLastRunStatusReason: (reason: string | null) => void;
|
|
@@ -2,7 +2,7 @@ import { useCallback } from "react";
|
|
|
2
2
|
import { toUserFacingAgentErrorMessage } from "../../services/agentErrorMessage";
|
|
3
3
|
import { normalizeServerExecutionStatus } from "../agentMessageHelpers";
|
|
4
4
|
export function useAgentRunCompletionSocketHandler(input) {
|
|
5
|
-
const { actions, currentRunIdRef, lastSettledRunIdRef, lastNonHeartbeatUpdateAtRef, isWaitingRef, normalizeRunId, noteMissingRunId, settleCompletedRun,
|
|
5
|
+
const { actions, currentRunIdRef, lastSettledRunIdRef, lastNonHeartbeatUpdateAtRef, isWaitingRef, normalizeRunId, noteMissingRunId, settleCompletedRun, clearProviderWait, setError, setAgent, setLastRunStatusReason, setIsWaitingForResponse, setIsConnecting, setIsAgentThinking, } = input;
|
|
6
6
|
return useCallback((messageType, payload) => {
|
|
7
7
|
if (messageType === "agent:run:complete") {
|
|
8
8
|
lastNonHeartbeatUpdateAtRef.current = Date.now();
|
|
@@ -37,7 +37,7 @@ export function useAgentRunCompletionSocketHandler(input) {
|
|
|
37
37
|
}
|
|
38
38
|
const errorMessage = toUserFacingAgentErrorMessage(payload?.error) ||
|
|
39
39
|
"AI could not complete this request.";
|
|
40
|
-
|
|
40
|
+
clearProviderWait();
|
|
41
41
|
setLastRunStatusReason(null);
|
|
42
42
|
setError(errorMessage);
|
|
43
43
|
setAgent((prev) => prev ? { ...prev, status: "error", statusMessage: errorMessage } : prev);
|
|
@@ -48,7 +48,7 @@ export function useAgentRunCompletionSocketHandler(input) {
|
|
|
48
48
|
return true;
|
|
49
49
|
}, [
|
|
50
50
|
actions,
|
|
51
|
-
|
|
51
|
+
clearProviderWait,
|
|
52
52
|
currentRunIdRef,
|
|
53
53
|
isWaitingRef,
|
|
54
54
|
lastNonHeartbeatUpdateAtRef,
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"useAgentRunCompletionSocketHandler.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentRunCompletionSocketHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,11 @@ import type { AgentChatMessage, AgentDetails, AgentStreamMessage } from "../../s
|
|
|
3
3
|
export declare function useAgentRunDeltaRouter(input: {
|
|
4
4
|
agent: AgentDetails | undefined;
|
|
5
5
|
messagesRef: MutableRefObject<AgentChatMessage[]>;
|
|
6
|
-
|
|
6
|
+
clearProviderWait: () => void;
|
|
7
7
|
handleContentChunk: (message: AgentStreamMessage, agent: AgentDetails) => void;
|
|
8
8
|
handleToolCall: (message: AgentStreamMessage, agent: AgentDetails) => void;
|
|
9
9
|
handleToolResult: (message: AgentStreamMessage, agent: AgentDetails) => void;
|
|
10
|
-
|
|
10
|
+
handleHeartbeatDelta: (message: AgentStreamMessage) => void;
|
|
11
11
|
handleContextUpdate: (contextData: any) => void;
|
|
12
12
|
appendToolUiEvent: (type: string, details?: string, seq?: number | null) => void;
|
|
13
13
|
}): (delta: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
2
|
export function useAgentRunDeltaRouter(input) {
|
|
3
|
-
const { agent, messagesRef,
|
|
3
|
+
const { agent, messagesRef, clearProviderWait, handleContentChunk, handleToolCall, handleToolResult, handleHeartbeatDelta, handleContextUpdate, appendToolUiEvent, } = input;
|
|
4
4
|
return useCallback((delta) => {
|
|
5
5
|
if (!agent) {
|
|
6
6
|
return;
|
|
@@ -18,7 +18,7 @@ export function useAgentRunDeltaRouter(input) {
|
|
|
18
18
|
delta.type === "ToolResult" ||
|
|
19
19
|
delta.type === "toolResult";
|
|
20
20
|
if (shouldClearHeartbeat) {
|
|
21
|
-
|
|
21
|
+
clearProviderWait();
|
|
22
22
|
}
|
|
23
23
|
if (delta.type === "ContentChunk" || delta.type === "contentChunk") {
|
|
24
24
|
handleContentChunk(agentStreamMessage, agent);
|
|
@@ -32,7 +32,7 @@ export function useAgentRunDeltaRouter(input) {
|
|
|
32
32
|
handleToolResult(agentStreamMessage, agent);
|
|
33
33
|
}
|
|
34
34
|
else if (delta.type === "Heartbeat" || delta.type === "heartbeat") {
|
|
35
|
-
|
|
35
|
+
handleHeartbeatDelta(agentStreamMessage);
|
|
36
36
|
}
|
|
37
37
|
else if (delta.type === "ContextUpdate" ||
|
|
38
38
|
delta.type === "contextUpdate") {
|
|
@@ -41,10 +41,10 @@ export function useAgentRunDeltaRouter(input) {
|
|
|
41
41
|
}, [
|
|
42
42
|
agent,
|
|
43
43
|
appendToolUiEvent,
|
|
44
|
-
|
|
44
|
+
clearProviderWait,
|
|
45
45
|
handleContentChunk,
|
|
46
46
|
handleContextUpdate,
|
|
47
|
-
|
|
47
|
+
handleHeartbeatDelta,
|
|
48
48
|
handleToolCall,
|
|
49
49
|
handleToolResult,
|
|
50
50
|
messagesRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAgentRunDeltaRouter.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentRunDeltaRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,OAAO,CAAC;AAO3D,MAAM,UAAU,sBAAsB,CAAC,KAiBtC;IACC,MAAM,EACJ,KAAK,EACL,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"useAgentRunDeltaRouter.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentRunDeltaRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,16 +8,20 @@ export function useAgentRunDeltaSocketHandler(input) {
|
|
|
8
8
|
if (!agent || isStoppingRef.current) {
|
|
9
9
|
return true;
|
|
10
10
|
}
|
|
11
|
+
const { seq, type, data, cost } = payload;
|
|
12
|
+
const isContextUpdate = type === "ContextUpdate" || type === "contextUpdate";
|
|
11
13
|
const deltaRunId = normalizeRunId(payload?.runId);
|
|
12
|
-
|
|
14
|
+
// Agent context updates also arrive between runs, on their own sequence.
|
|
15
|
+
const isAgentContextUpdate = deltaRunId === null && isContextUpdate;
|
|
16
|
+
if (deltaRunId === null && !isAgentContextUpdate) {
|
|
13
17
|
noteMissingRunId("agent:run:delta");
|
|
14
18
|
}
|
|
15
|
-
else if (
|
|
19
|
+
else if (!isAgentContextUpdate &&
|
|
20
|
+
currentRunIdRef.current !== null &&
|
|
16
21
|
deltaRunId !== currentRunIdRef.current) {
|
|
17
22
|
appendToolUiEvent("ui:stream-runid-dropped", `agent:run:delta runId=${deltaRunId} currentRunId=${currentRunIdRef.current}`);
|
|
18
23
|
return true;
|
|
19
24
|
}
|
|
20
|
-
const { seq, type, data, cost } = payload;
|
|
21
25
|
if ((!seq || seq === 0) && data?.messageId) {
|
|
22
26
|
const replayMessageId = String(data.messageId).toLowerCase();
|
|
23
27
|
if (lastResyncedMessageIdsRef.current.has(replayMessageId)) {
|
|
@@ -25,7 +29,6 @@ export function useAgentRunDeltaSocketHandler(input) {
|
|
|
25
29
|
return true;
|
|
26
30
|
}
|
|
27
31
|
}
|
|
28
|
-
const isContextUpdate = type === "ContextUpdate" || type === "contextUpdate";
|
|
29
32
|
const isHeartbeat = type === "Heartbeat" || type === "heartbeat";
|
|
30
33
|
const isRunning = agent.status === "running" || agent.status === 1;
|
|
31
34
|
const hasStreaming = messagesRef.current.some((message) => !message.isCompleted && message.messageType === "streaming");
|
|
@@ -37,14 +40,15 @@ export function useAgentRunDeltaSocketHandler(input) {
|
|
|
37
40
|
!hasMessageId) {
|
|
38
41
|
return true;
|
|
39
42
|
}
|
|
40
|
-
if (!
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
if (!isAgentContextUpdate &&
|
|
44
|
+
!acceptRunSequenceFrame({
|
|
45
|
+
eventName: "agent:run:delta",
|
|
46
|
+
runId: payload?.runId,
|
|
47
|
+
seq,
|
|
48
|
+
})) {
|
|
45
49
|
return true;
|
|
46
50
|
}
|
|
47
|
-
if (!isHeartbeat) {
|
|
51
|
+
if (!isHeartbeat && !isAgentContextUpdate) {
|
|
48
52
|
lastNonHeartbeatUpdateAtRef.current = Date.now();
|
|
49
53
|
}
|
|
50
54
|
routeRunDelta({ type, data, cost, seq });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAgentRunDeltaSocketHandler.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentRunDeltaSocketHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,OAAO,CAAC;AAM3D,MAAM,UAAU,6BAA6B,CAAC,KAyB7C;IACC,MAAM,EACJ,KAAK,EACL,aAAa,EACb,eAAe,EACf,yBAAyB,EACzB,WAAW,EACX,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,GACd,GAAG,KAAK,CAAC;IAEV,OAAO,WAAW,CAChB,CAAC,WAAmB,EAAE,OAAY,EAAW,EAAE;QAC7C,IAAI,WAAW,KAAK,iBAAiB,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"useAgentRunDeltaSocketHandler.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentRunDeltaSocketHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useAgentContentChunkHandler } from "./useAgentContentChunkHandler";
|
|
2
2
|
import { useAgentContextUpdateHandler } from "./useAgentContextUpdateHandler";
|
|
3
|
-
import {
|
|
3
|
+
import { useAgentProviderWait } from "./useAgentProviderWait";
|
|
4
4
|
import { useAgentRunSequenceGuard } from "./useAgentRunSequenceGuard";
|
|
5
5
|
import { useAgentSettleCompletedRun } from "./useAgentSettleCompletedRun";
|
|
6
6
|
import { useAgentStreamMessageFactory } from "./useAgentStreamMessageFactory";
|
|
@@ -9,7 +9,7 @@ import { useAgentToolResultHandler } from "./useAgentToolResultHandler";
|
|
|
9
9
|
type StreamMessageFactoryInput = Parameters<typeof useAgentStreamMessageFactory>[0];
|
|
10
10
|
type ContextUpdateInput = Parameters<typeof useAgentContextUpdateHandler>[0];
|
|
11
11
|
type SequenceGuardInput = Parameters<typeof useAgentRunSequenceGuard>[0];
|
|
12
|
-
type
|
|
12
|
+
type ProviderWaitInput = Parameters<typeof useAgentProviderWait>[0];
|
|
13
13
|
type SettleInput = Parameters<typeof useAgentSettleCompletedRun>[0];
|
|
14
14
|
type ContentChunkInput = Parameters<typeof useAgentContentChunkHandler>[0];
|
|
15
15
|
type ToolCallInput = Parameters<typeof useAgentToolCallHandler>[0];
|
|
@@ -18,15 +18,14 @@ export declare function useAgentRunMessagePipeline(input: {
|
|
|
18
18
|
streamMessageFactory: StreamMessageFactoryInput;
|
|
19
19
|
contextUpdate: ContextUpdateInput;
|
|
20
20
|
sequenceGuard: SequenceGuardInput;
|
|
21
|
-
|
|
22
|
-
settle: Omit<SettleInput, "
|
|
21
|
+
providerWait: ProviderWaitInput;
|
|
22
|
+
settle: Omit<SettleInput, "clearProviderWait">;
|
|
23
23
|
contentChunk: Omit<ContentChunkInput, "createNewStreamMessage">;
|
|
24
24
|
toolCall: Omit<ToolCallInput, "createNewStreamMessage">;
|
|
25
25
|
toolResult: ToolResultInput;
|
|
26
26
|
}): {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
clearHeartbeatMessages: () => void;
|
|
27
|
+
handleHeartbeatDelta: (_message: import("../../services/agentService").AgentStreamMessage) => void;
|
|
28
|
+
clearProviderWait: () => void;
|
|
30
29
|
createNewStreamMessage: (messageId: string, agentData?: import("../../services/agentService").AgentDetails) => import("../../services/agentService").AgentChatMessage;
|
|
31
30
|
handleContextUpdate: (contextData: any) => void;
|
|
32
31
|
acceptRunSequenceFrame: (frame: {
|