@parhelia/core 0.4.12796 → 0.4.12818
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 +9 -2
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +2 -0
- package/dist/config/types.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 +164 -127
- 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/Agents.js +13 -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/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/agentSessionState.d.ts +0 -2
- package/dist/editor/ai/terminal/agentSessionState.js +8 -12
- 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 +48 -6
- 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 +3 -71
- 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/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 +12 -9
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +1 -1
- 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/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/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/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.js +18 -5
- 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 +9 -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 +34 -0
- package/dist/editor/bridge/protocol.js +3 -1
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/EditorShell.js +30 -21
- 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 +53 -13
- 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 +26 -13
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/commands/mediaCommands.d.ts +5 -0
- package/dist/editor/commands/mediaCommands.js +59 -0
- package/dist/editor/commands/mediaCommands.js.map +1 -0
- 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/FieldHistoryBoundary.d.ts +7 -0
- package/dist/editor/field-types/FieldHistoryBoundary.js +19 -0
- package/dist/editor/field-types/FieldHistoryBoundary.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 +9 -2
- 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 +59 -8
- 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 +32 -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/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/UploadMediaFileDialog.d.ts +5 -0
- package/dist/editor/media-selector/UploadMediaFileDialog.js +14 -0
- package/dist/editor/media-selector/UploadMediaFileDialog.js.map +1 -0
- 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/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 +1 -1
- package/dist/editor/menubar/ToolbarFactory.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/ViewportControls.js +6 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.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/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 +2 -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 +59 -13
- 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.js +22 -24
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +204 -27
- 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/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/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 +47 -13
- package/dist/editor/reviews/CommentEditor.js.map +1 -1
- 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/CreateReviewDialog.js +21 -4
- package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
- package/dist/editor/reviews/CreateReviewReviewersStep.d.ts +6 -1
- package/dist/editor/reviews/CreateReviewReviewersStep.js +29 -27
- package/dist/editor/reviews/CreateReviewReviewersStep.js.map +1 -1
- package/dist/editor/reviews/CreateReviewSuccessStep.d.ts +8 -1
- package/dist/editor/reviews/CreateReviewSuccessStep.js +4 -3
- package/dist/editor/reviews/CreateReviewSuccessStep.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 +11 -3
- 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/commentAi.d.ts +27 -3
- package/dist/editor/reviews/commentAi.js +109 -28
- 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 +45 -0
- package/dist/editor/reviews/useCommentImagePaste.js +149 -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/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/reviewsService.d.ts +2 -2
- package/dist/editor/services/reviewsService.js +3 -1
- package/dist/editor/services/reviewsService.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/About.js +4 -3
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/SettingsView.js +1 -1
- package/dist/editor/settings/SettingsView.js.map +1 -1
- package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js +11 -0
- package/dist/editor/settings/panels/JavaScriptToolConfigPanel.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 +38 -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/Validation.js +38 -44
- package/dist/editor/sidebar/Validation.js.map +1 -1
- package/dist/editor/sidebar/liveComponentThumbnails.d.ts +62 -0
- package/dist/editor/sidebar/liveComponentThumbnails.js +215 -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/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/utils/keyboardNavigation.js +20 -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/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ModernSplashScreen.js +6 -5
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/splash-screen/RecentPages.js +33 -18
- package/dist/splash-screen/RecentPages.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +65 -49
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- 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 +32 -1
- package/dist/task-board/components/GoalDataView.js +207 -51
- package/dist/task-board/components/GoalDataView.js.map +1 -1
- 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 +115 -10
- 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/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 +62 -23
- package/dist/task-board/components/TaskDetailPanel.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/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 +4 -0
- package/dist/task-board/utils/projectDashboardModel.d.ts +68 -0
- package/dist/task-board/utils/projectDashboardModel.js +355 -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 +23 -3
- package/dist/tour/Tour.js.map +1 -1
- package/dist/tour/TourInputBoundary.d.ts +6 -0
- package/dist/tour/TourInputBoundary.js +82 -0
- package/dist/tour/TourInputBoundary.js.map +1 -0
- package/dist/tour/sandbox-tour.js +1 -0
- package/dist/tour/sandbox-tour.js.map +1 -1
- package/dist/types.d.ts +29 -0
- package/images/Parhelia-Onboarding-Beach.jpg +0 -0
- package/package.json +1 -1
- 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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"}
|
|
@@ -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"}
|
|
@@ -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: {
|
|
@@ -1,20 +1,20 @@
|
|
|
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";
|
|
7
7
|
import { useAgentToolCallHandler } from "./useAgentToolCallHandler";
|
|
8
8
|
import { useAgentToolResultHandler } from "./useAgentToolResultHandler";
|
|
9
9
|
export function useAgentRunMessagePipeline(input) {
|
|
10
|
-
const { streamMessageFactory, contextUpdate, sequenceGuard,
|
|
10
|
+
const { streamMessageFactory, contextUpdate, sequenceGuard, providerWait, settle, contentChunk, toolCall, toolResult, } = input;
|
|
11
11
|
const createNewStreamMessage = useAgentStreamMessageFactory(streamMessageFactory);
|
|
12
12
|
const handleContextUpdate = useAgentContextUpdateHandler(contextUpdate);
|
|
13
13
|
const acceptRunSequenceFrame = useAgentRunSequenceGuard(sequenceGuard);
|
|
14
|
-
const
|
|
14
|
+
const providerWaitHandlers = useAgentProviderWait(providerWait);
|
|
15
15
|
const settleCompletedRun = useAgentSettleCompletedRun({
|
|
16
16
|
...settle,
|
|
17
|
-
|
|
17
|
+
clearProviderWait: providerWaitHandlers.clearProviderWait,
|
|
18
18
|
});
|
|
19
19
|
const handleContentChunk = useAgentContentChunkHandler({
|
|
20
20
|
...contentChunk,
|
|
@@ -29,7 +29,7 @@ export function useAgentRunMessagePipeline(input) {
|
|
|
29
29
|
createNewStreamMessage,
|
|
30
30
|
handleContextUpdate,
|
|
31
31
|
acceptRunSequenceFrame,
|
|
32
|
-
...
|
|
32
|
+
...providerWaitHandlers,
|
|
33
33
|
settleCompletedRun,
|
|
34
34
|
handleContentChunk,
|
|
35
35
|
handleToolCall,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAgentRunMessagePipeline.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentRunMessagePipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useAgentRunMessagePipeline.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentRunMessagePipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAaxE,MAAM,UAAU,0BAA0B,CAAC,KAS1C;IACC,MAAM,EACJ,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,UAAU,GACX,GAAG,KAAK,CAAC;IAEV,MAAM,sBAAsB,GAC1B,4BAA4B,CAAC,oBAAoB,CAAC,CAAC;IACrD,MAAM,mBAAmB,GAAG,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACxE,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACvE,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;QACpD,GAAG,MAAM;QACT,iBAAiB,EAAE,oBAAoB,CAAC,iBAAiB;KAC1D,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;QACrD,GAAG,YAAY;QACf,sBAAsB;KACvB,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,uBAAuB,CAAC;QAC7C,GAAG,QAAQ;QACX,sBAAsB;KACvB,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAE/D,OAAO;QACL,sBAAsB;QACtB,mBAAmB;QACnB,sBAAsB;QACtB,GAAG,oBAAoB;QACvB,kBAAkB;QAClB,kBAAkB;QAClB,cAAc;QACd,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
|
|
@@ -22,7 +22,7 @@ export declare function useAgentRunStatusSocketHandler(input: {
|
|
|
22
22
|
seq: number | undefined;
|
|
23
23
|
}) => boolean;
|
|
24
24
|
clearStopGuard: () => void;
|
|
25
|
-
|
|
25
|
+
clearProviderWait: () => void;
|
|
26
26
|
schedulePendingDialogReplay: (targetAgentId: string, callbackId: string, dialogType?: string | null) => void;
|
|
27
27
|
settleCompletedRun: (finalStatus?: "completed" | "cancelled", runId?: string | null) => void;
|
|
28
28
|
setAgent: StateSetter<AgentDetails | undefined>;
|
|
@@ -7,33 +7,40 @@ import { hasNonZeroLiveTotals, liveTotalsFromToolResultData, liveTotalsFromStatu
|
|
|
7
7
|
import { markStaleRunningLoadSuppressed } from "./useAgentSessionSync";
|
|
8
8
|
import { isBrowserCaptureDialogType } from "../dialogs/agentDialogTypes";
|
|
9
9
|
export function useAgentRunStatusSocketHandler(input) {
|
|
10
|
-
const { agent, agentStubId, actions, currentRunIdRef, isStoppingRef, isWaitingRef, messagesRef, shouldCreateNewMessageRef, lastNonHeartbeatUpdateAtRef, reconcileServerStateRef, normalizeRunId, noteMissingRunId, appendToolUiEvent, acceptRunSequenceFrame, clearStopGuard,
|
|
10
|
+
const { agent, agentStubId, actions, currentRunIdRef, isStoppingRef, isWaitingRef, messagesRef, shouldCreateNewMessageRef, lastNonHeartbeatUpdateAtRef, reconcileServerStateRef, normalizeRunId, noteMissingRunId, appendToolUiEvent, acceptRunSequenceFrame, clearStopGuard, clearProviderWait, schedulePendingDialogReplay, settleCompletedRun, setAgent, setAgentMetadata, setError, setLastRunStatusReason, setIsConnecting, setIsWaitingForResponse, setIsAgentThinking, } = input;
|
|
11
11
|
return useCallback((messageType, payload) => {
|
|
12
12
|
if (messageType !== "agent:run:status") {
|
|
13
13
|
return false;
|
|
14
14
|
}
|
|
15
15
|
const agentId = payload?.agentId;
|
|
16
|
+
const { seq, data: statusData } = payload;
|
|
16
17
|
// Drop stale-run status — see matching block in agent:run:delta handler.
|
|
17
18
|
const statusRunId = normalizeRunId(payload?.runId);
|
|
18
|
-
|
|
19
|
+
// Context can change between runs (for example, task todo backfill).
|
|
20
|
+
// Such updates have no run ID and do not belong to the run's sequence.
|
|
21
|
+
const isAgentContextUpdate = statusRunId === null && statusData?.state === "contextChanged";
|
|
22
|
+
if (statusRunId === null && !isAgentContextUpdate) {
|
|
19
23
|
noteMissingRunId("agent:run:status");
|
|
20
24
|
}
|
|
21
|
-
else if (
|
|
25
|
+
else if (!isAgentContextUpdate &&
|
|
26
|
+
currentRunIdRef.current !== null &&
|
|
22
27
|
statusRunId !== currentRunIdRef.current) {
|
|
23
28
|
appendToolUiEvent("ui:stream-runid-dropped", `agent:run:status runId=${statusRunId} currentRunId=${currentRunIdRef.current}`);
|
|
24
29
|
return true;
|
|
25
30
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
if (!isAgentContextUpdate &&
|
|
32
|
+
!acceptRunSequenceFrame({
|
|
33
|
+
eventName: "agent:run:status",
|
|
34
|
+
runId: payload?.runId,
|
|
35
|
+
seq,
|
|
36
|
+
})) {
|
|
32
37
|
return true;
|
|
33
38
|
}
|
|
34
|
-
//
|
|
35
|
-
//
|
|
36
|
-
|
|
39
|
+
// Run status updates count as progress for the watchdog. Agent context
|
|
40
|
+
// changes can arrive independently and do not show that the run is alive.
|
|
41
|
+
if (!isAgentContextUpdate) {
|
|
42
|
+
lastNonHeartbeatUpdateAtRef.current = Date.now();
|
|
43
|
+
}
|
|
37
44
|
// Route based on statusData.state
|
|
38
45
|
try {
|
|
39
46
|
// Normalize various status shapes and handle Cancelled uniformly
|
|
@@ -54,7 +61,7 @@ export function useAgentRunStatusSocketHandler(input) {
|
|
|
54
61
|
actions.runStatus("idle", statusReason);
|
|
55
62
|
setError(null);
|
|
56
63
|
// Stop indicators and mark any in-progress streaming messages as completed
|
|
57
|
-
|
|
64
|
+
clearProviderWait();
|
|
58
65
|
setAgent((prev) => (prev ? { ...prev, status: "idle" } : prev));
|
|
59
66
|
isWaitingRef.current = false;
|
|
60
67
|
shouldCreateNewMessageRef.current = false;
|
|
@@ -294,7 +301,7 @@ export function useAgentRunStatusSocketHandler(input) {
|
|
|
294
301
|
return true;
|
|
295
302
|
}
|
|
296
303
|
if (statusReason === MACHINE_CAPACITY_REASON) {
|
|
297
|
-
|
|
304
|
+
clearProviderWait();
|
|
298
305
|
setLastRunStatusReason(statusReason);
|
|
299
306
|
setAgent((prev) => prev
|
|
300
307
|
? {
|
|
@@ -331,7 +338,7 @@ export function useAgentRunStatusSocketHandler(input) {
|
|
|
331
338
|
const errorMsg = toUserFacingAgentErrorMessage(statusData?.statusMessage ??
|
|
332
339
|
statusData?.message ??
|
|
333
340
|
statusData?.error) || "Unknown error";
|
|
334
|
-
|
|
341
|
+
clearProviderWait();
|
|
335
342
|
setError(errorMsg);
|
|
336
343
|
setAgent((prev) => prev ? { ...prev, status: "error", statusMessage: errorMsg } : prev);
|
|
337
344
|
setIsWaitingForResponse(false);
|
|
@@ -351,7 +358,7 @@ export function useAgentRunStatusSocketHandler(input) {
|
|
|
351
358
|
agent,
|
|
352
359
|
agentStubId,
|
|
353
360
|
appendToolUiEvent,
|
|
354
|
-
|
|
361
|
+
clearProviderWait,
|
|
355
362
|
clearStopGuard,
|
|
356
363
|
currentRunIdRef,
|
|
357
364
|
isStoppingRef,
|