@parhelia/core 0.3.12831 → 0.3.12833
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/components/emoji/EmojiPicker.d.ts +18 -0
- package/dist/components/emoji/EmojiPicker.js +102 -0
- package/dist/components/emoji/EmojiPicker.js.map +1 -0
- package/dist/components/emoji/EmojiText.d.ts +19 -0
- package/dist/components/emoji/EmojiText.js +30 -0
- package/dist/components/emoji/EmojiText.js.map +1 -0
- package/dist/components/emoji/emojiData.generated.d.ts +2 -0
- package/dist/components/emoji/emojiData.generated.js +1878 -0
- package/dist/components/emoji/emojiData.generated.js.map +1 -0
- package/dist/components/emoji/emojiIndex.d.ts +46 -0
- package/dist/components/emoji/emojiIndex.js +173 -0
- package/dist/components/emoji/emojiIndex.js.map +1 -0
- package/dist/components/emoji/emoticons.d.ts +21 -0
- package/dist/components/emoji/emoticons.js +167 -0
- package/dist/components/emoji/emoticons.js.map +1 -0
- package/dist/components/emoji/textareaInsert.d.ts +19 -0
- package/dist/components/emoji/textareaInsert.js +29 -0
- package/dist/components/emoji/textareaInsert.js.map +1 -0
- package/dist/components/emoji/twemoji.d.ts +30 -0
- package/dist/components/emoji/twemoji.js +84 -0
- package/dist/components/emoji/twemoji.js.map +1 -0
- package/dist/editor/agent-changes/agentChangeTargets.d.ts +58 -0
- package/dist/editor/agent-changes/agentChangeTargets.js +180 -0
- package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +101 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.js +167 -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/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/terminal/activeReasoningModel.d.ts +9 -0
- package/dist/editor/ai/terminal/activeReasoningModel.js +20 -0
- package/dist/editor/ai/terminal/activeReasoningModel.js.map +1 -0
- package/dist/editor/ai/terminal/agentDurations.d.ts +27 -0
- package/dist/editor/ai/terminal/agentDurations.js +89 -0
- package/dist/editor/ai/terminal/agentDurations.js.map +1 -0
- package/dist/editor/ai/terminal/agentTurnTiming.d.ts +35 -0
- package/dist/editor/ai/terminal/agentTurnTiming.js +128 -0
- package/dist/editor/ai/terminal/agentTurnTiming.js.map +1 -0
- 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/AgentProfileRecovery.d.ts +10 -0
- package/dist/editor/ai/terminal/components/AgentProfileRecovery.js +12 -0
- package/dist/editor/ai/terminal/components/AgentProfileRecovery.js.map +1 -0
- 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.d.ts +15 -0
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +62 -0
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -0
- package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.d.ts +6 -0
- package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.js +61 -0
- package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.js.map +1 -0
- 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/reasoningEffortLevels.d.ts +8 -0
- package/dist/editor/ai/terminal/reasoningEffortLevels.js +54 -0
- package/dist/editor/ai/terminal/reasoningEffortLevels.js.map +1 -0
- package/dist/editor/ai/terminal/requestUsage.d.ts +3 -0
- package/dist/editor/ai/terminal/requestUsage.js +22 -0
- package/dist/editor/ai/terminal/requestUsage.js.map +1 -0
- package/dist/editor/ai/terminal/toolCallDiagnostics.d.ts +34 -0
- package/dist/editor/ai/terminal/toolCallDiagnostics.js +218 -0
- package/dist/editor/ai/terminal/toolCallDiagnostics.js.map +1 -0
- 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/useAgentReasoningEffortState.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentReasoningEffortState.js +10 -0
- package/dist/editor/ai/terminal/useAgentReasoningEffortState.js.map +1 -0
- 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/client/SessionsDialog.d.ts +2 -0
- package/dist/editor/client/SessionsDialog.js +27 -0
- package/dist/editor/client/SessionsDialog.js.map +1 -0
- 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/clipboardStorage.d.ts +10 -0
- package/dist/editor/client/clipboardStorage.js +57 -0
- package/dist/editor/client/clipboardStorage.js.map +1 -0
- package/dist/editor/client/hooks/useRepositoryItemRefresh.d.ts +4 -0
- package/dist/editor/client/hooks/useRepositoryItemRefresh.js +62 -0
- package/dist/editor/client/hooks/useRepositoryItemRefresh.js.map +1 -0
- package/dist/editor/client/liveEditState.d.ts +16 -0
- package/dist/editor/client/liveEditState.js +25 -0
- package/dist/editor/client/liveEditState.js.map +1 -0
- package/dist/editor/client/liveSessionState.d.ts +6 -0
- package/dist/editor/client/liveSessionState.js +20 -0
- package/dist/editor/client/liveSessionState.js.map +1 -0
- 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/valueStore.d.ts +22 -0
- package/dist/editor/client/valueStore.js +29 -0
- package/dist/editor/client/valueStore.js.map +1 -0
- package/dist/editor/commands/componentClipboardCommands.d.ts +35 -0
- package/dist/editor/commands/componentClipboardCommands.js +271 -0
- package/dist/editor/commands/componentClipboardCommands.js.map +1 -0
- package/dist/editor/commands/componentMenuGroups.d.ts +2 -0
- package/dist/editor/commands/componentMenuGroups.js +43 -0
- package/dist/editor/commands/componentMenuGroups.js.map +1 -0
- 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/component-conversion/ComponentTypePickerDialog.d.ts +12 -0
- package/dist/editor/component-conversion/ComponentTypePickerDialog.js +40 -0
- package/dist/editor/component-conversion/ComponentTypePickerDialog.js.map +1 -0
- package/dist/editor/component-conversion/ConversionAiDebugButton.d.ts +17 -0
- package/dist/editor/component-conversion/ConversionAiDebugButton.js +80 -0
- package/dist/editor/component-conversion/ConversionAiDebugButton.js.map +1 -0
- package/dist/editor/component-conversion/ConvertComponentDialog.d.ts +28 -0
- package/dist/editor/component-conversion/ConvertComponentDialog.js +633 -0
- package/dist/editor/component-conversion/ConvertComponentDialog.js.map +1 -0
- package/dist/editor/component-conversion/conversionModel.d.ts +109 -0
- package/dist/editor/component-conversion/conversionModel.js +519 -0
- package/dist/editor/component-conversion/conversionModel.js.map +1 -0
- package/dist/editor/component-conversion/conversionService.d.ts +12 -0
- package/dist/editor/component-conversion/conversionService.js +16 -0
- package/dist/editor/component-conversion/conversionService.js.map +1 -0
- package/dist/editor/component-conversion/conversionTypes.d.ts +214 -0
- package/dist/editor/component-conversion/conversionTypes.js +2 -0
- package/dist/editor/component-conversion/conversionTypes.js.map +1 -0
- package/dist/editor/component-conversion/convertComponentsCommand.d.ts +25 -0
- package/dist/editor/component-conversion/convertComponentsCommand.js +196 -0
- package/dist/editor/component-conversion/convertComponentsCommand.js.map +1 -0
- 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 +40 -0
- package/dist/editor/field-types/FieldHistoryBoundary.js.map +1 -0
- package/dist/editor/field-types/fieldStyles.d.ts +21 -0
- package/dist/editor/field-types/fieldStyles.js +22 -0
- package/dist/editor/field-types/fieldStyles.js.map +1 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +32 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.js +68 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -0
- package/dist/editor/field-types/richtext/utils/spellCheckText.d.ts +31 -0
- package/dist/editor/field-types/richtext/utils/spellCheckText.js +82 -0
- package/dist/editor/field-types/richtext/utils/spellCheckText.js.map +1 -0
- package/dist/editor/field-types/useFocusedFieldInput.d.ts +13 -0
- package/dist/editor/field-types/useFocusedFieldInput.js +50 -0
- package/dist/editor/field-types/useFocusedFieldInput.js.map +1 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +43 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js +149 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -0
- 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 +51 -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/itemContextMenuGroups.d.ts +16 -0
- package/dist/editor/itemContextMenuGroups.js +57 -0
- package/dist/editor/itemContextMenuGroups.js.map +1 -0
- package/dist/editor/media-selector/MediaDetailsView.d.ts +14 -0
- package/dist/editor/media-selector/MediaDetailsView.js +152 -0
- package/dist/editor/media-selector/MediaDetailsView.js.map +1 -0
- 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/useMediaFolderDrag.d.ts +26 -0
- package/dist/editor/media-selector/useMediaFolderDrag.js +153 -0
- package/dist/editor/media-selector/useMediaFolderDrag.js.map +1 -0
- package/dist/editor/menubar/OpenPublishedPageButton.d.ts +1 -0
- package/dist/editor/menubar/OpenPublishedPageButton.js +22 -0
- package/dist/editor/menubar/OpenPublishedPageButton.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.d.ts +11 -0
- package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.js +65 -0
- package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.js.map +1 -0
- 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/SpellCheckToggleControl.d.ts +5 -0
- package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.js +16 -0
- package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.js.map +1 -0
- package/dist/editor/mobileBottomPanel.d.ts +40 -0
- package/dist/editor/mobileBottomPanel.js +63 -0
- package/dist/editor/mobileBottomPanel.js.map +1 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +17 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +33 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.d.ts +6 -0
- package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.js +100 -0
- package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.d.ts +9 -0
- package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.js +32 -0
- package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.js.map +1 -0
- package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.d.ts +14 -0
- package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.js +110 -0
- package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.js.map +1 -0
- package/dist/editor/page-editor-chrome/ConversionIndicators.d.ts +8 -0
- package/dist/editor/page-editor-chrome/ConversionIndicators.js +75 -0
- package/dist/editor/page-editor-chrome/ConversionIndicators.js.map +1 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +29 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +295 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.d.ts +15 -0
- package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.js +31 -0
- package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.js.map +1 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.d.ts +11 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js +120 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/SpellCheckHighlightings.d.ts +12 -0
- package/dist/editor/page-editor-chrome/SpellCheckHighlightings.js +197 -0
- package/dist/editor/page-editor-chrome/SpellCheckHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/ValidationRulerMarks.d.ts +11 -0
- package/dist/editor/page-editor-chrome/ValidationRulerMarks.js +56 -0
- package/dist/editor/page-editor-chrome/ValidationRulerMarks.js.map +1 -0
- 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/feedbackAnchorMeasurements.d.ts +44 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.js +89 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.d.ts +17 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.js +53 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.d.ts +11 -0
- package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.js +84 -0
- package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.d.ts +34 -0
- package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.js +229 -0
- package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.d.ts +9 -0
- package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.js +34 -0
- package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.d.ts +49 -0
- package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.js +241 -0
- package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.js.map +1 -0
- package/dist/editor/page-viewer/CanvasOverviewRuler.d.ts +11 -0
- package/dist/editor/page-viewer/CanvasOverviewRuler.js +65 -0
- package/dist/editor/page-viewer/CanvasOverviewRuler.js.map +1 -0
- package/dist/editor/page-viewer/DynamicRenderingsBar.d.ts +23 -0
- package/dist/editor/page-viewer/DynamicRenderingsBar.js +28 -0
- package/dist/editor/page-viewer/DynamicRenderingsBar.js.map +1 -0
- package/dist/editor/page-viewer/DynamicRenderingsStrip.d.ts +18 -0
- package/dist/editor/page-viewer/DynamicRenderingsStrip.js +29 -0
- package/dist/editor/page-viewer/DynamicRenderingsStrip.js.map +1 -0
- package/dist/editor/page-viewer/FeedbackMargin.d.ts +57 -0
- package/dist/editor/page-viewer/FeedbackMargin.js +377 -0
- package/dist/editor/page-viewer/FeedbackMargin.js.map +1 -0
- package/dist/editor/page-viewer/FeedbackMarginController.d.ts +76 -0
- package/dist/editor/page-viewer/FeedbackMarginController.js +241 -0
- package/dist/editor/page-viewer/FeedbackMarginController.js.map +1 -0
- package/dist/editor/page-viewer/FeedbackMarginMarker.d.ts +16 -0
- package/dist/editor/page-viewer/FeedbackMarginMarker.js +24 -0
- package/dist/editor/page-viewer/FeedbackMarginMarker.js.map +1 -0
- package/dist/editor/page-viewer/FeedbackMarginResizeHandle.d.ts +23 -0
- package/dist/editor/page-viewer/FeedbackMarginResizeHandle.js +105 -0
- package/dist/editor/page-viewer/FeedbackMarginResizeHandle.js.map +1 -0
- package/dist/editor/page-viewer/InteractivePreviewBar.d.ts +24 -0
- package/dist/editor/page-viewer/InteractivePreviewBar.js +31 -0
- package/dist/editor/page-viewer/InteractivePreviewBar.js.map +1 -0
- package/dist/editor/page-viewer/MobileCommentsPanel.d.ts +16 -0
- package/dist/editor/page-viewer/MobileCommentsPanel.js +112 -0
- package/dist/editor/page-viewer/MobileCommentsPanel.js.map +1 -0
- package/dist/editor/page-viewer/PreviewModeNotice.d.ts +7 -0
- package/dist/editor/page-viewer/PreviewModeNotice.js +19 -0
- package/dist/editor/page-viewer/PreviewModeNotice.js.map +1 -0
- package/dist/editor/page-viewer/RenderingAiCheck.d.ts +18 -0
- package/dist/editor/page-viewer/RenderingAiCheck.js +45 -0
- package/dist/editor/page-viewer/RenderingAiCheck.js.map +1 -0
- package/dist/editor/page-viewer/RenderingApprovalDialog.d.ts +32 -0
- package/dist/editor/page-viewer/RenderingApprovalDialog.js +191 -0
- package/dist/editor/page-viewer/RenderingApprovalDialog.js.map +1 -0
- package/dist/editor/page-viewer/SealedClientCodePreview.d.ts +17 -0
- package/dist/editor/page-viewer/SealedClientCodePreview.js +38 -0
- package/dist/editor/page-viewer/SealedClientCodePreview.js.map +1 -0
- package/dist/editor/page-viewer/canvasFrameNavigation.d.ts +18 -0
- package/dist/editor/page-viewer/canvasFrameNavigation.js +36 -0
- package/dist/editor/page-viewer/canvasFrameNavigation.js.map +1 -0
- package/dist/editor/page-viewer/canvasLoadSettling.d.ts +42 -0
- package/dist/editor/page-viewer/canvasLoadSettling.js +46 -0
- package/dist/editor/page-viewer/canvasLoadSettling.js.map +1 -0
- package/dist/editor/page-viewer/canvasScrollHandoff.d.ts +34 -0
- package/dist/editor/page-viewer/canvasScrollHandoff.js +55 -0
- package/dist/editor/page-viewer/canvasScrollHandoff.js.map +1 -0
- 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/feedbackMarginLayout.d.ts +119 -0
- package/dist/editor/page-viewer/feedbackMarginLayout.js +155 -0
- package/dist/editor/page-viewer/feedbackMarginLayout.js.map +1 -0
- package/dist/editor/page-viewer/feedbackMarginSources.d.ts +36 -0
- package/dist/editor/page-viewer/feedbackMarginSources.js +196 -0
- package/dist/editor/page-viewer/feedbackMarginSources.js.map +1 -0
- package/dist/editor/page-viewer/feedbackMarginWidth.d.ts +43 -0
- package/dist/editor/page-viewer/feedbackMarginWidth.js +107 -0
- package/dist/editor/page-viewer/feedbackMarginWidth.js.map +1 -0
- package/dist/editor/page-viewer/interactivePreview.d.ts +168 -0
- package/dist/editor/page-viewer/interactivePreview.js +344 -0
- package/dist/editor/page-viewer/interactivePreview.js.map +1 -0
- package/dist/editor/page-viewer/minimapViewport.d.ts +2 -0
- package/dist/editor/page-viewer/minimapViewport.js +34 -0
- package/dist/editor/page-viewer/minimapViewport.js.map +1 -0
- package/dist/editor/page-viewer/openPageItems.d.ts +29 -0
- package/dist/editor/page-viewer/openPageItems.js +73 -0
- package/dist/editor/page-viewer/openPageItems.js.map +1 -0
- package/dist/editor/page-viewer/overviewRuler.d.ts +128 -0
- package/dist/editor/page-viewer/overviewRuler.js +226 -0
- package/dist/editor/page-viewer/overviewRuler.js.map +1 -0
- package/dist/editor/page-viewer/previewEditAttempt.d.ts +31 -0
- package/dist/editor/page-viewer/previewEditAttempt.js +68 -0
- package/dist/editor/page-viewer/previewEditAttempt.js.map +1 -0
- package/dist/editor/page-viewer/renderingApproval.d.ts +59 -0
- package/dist/editor/page-viewer/renderingApproval.js +186 -0
- package/dist/editor/page-viewer/renderingApproval.js.map +1 -0
- package/dist/editor/page-viewer/renderingChanges.d.ts +29 -0
- package/dist/editor/page-viewer/renderingChanges.js +40 -0
- package/dist/editor/page-viewer/renderingChanges.js.map +1 -0
- package/dist/editor/page-viewer/scrollIntoViewTextRanges.d.ts +23 -0
- package/dist/editor/page-viewer/scrollIntoViewTextRanges.js +26 -0
- package/dist/editor/page-viewer/scrollIntoViewTextRanges.js.map +1 -0
- package/dist/editor/page-viewer/useInteractivePreview.d.ts +77 -0
- package/dist/editor/page-viewer/useInteractivePreview.js +210 -0
- package/dist/editor/page-viewer/useInteractivePreview.js.map +1 -0
- package/dist/editor/reviews/CollapsibleText.d.ts +13 -0
- package/dist/editor/reviews/CollapsibleText.js +41 -0
- package/dist/editor/reviews/CollapsibleText.js.map +1 -0
- 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 +13 -0
- package/dist/editor/reviews/CommentQuote.js +35 -0
- package/dist/editor/reviews/CommentQuote.js.map +1 -0
- package/dist/editor/reviews/CommentTargetOutline.d.ts +13 -0
- package/dist/editor/reviews/CommentTargetOutline.js +21 -0
- package/dist/editor/reviews/CommentTargetOutline.js.map +1 -0
- package/dist/editor/reviews/CommentTargetPickerDomLayer.d.ts +7 -0
- package/dist/editor/reviews/CommentTargetPickerDomLayer.js +117 -0
- package/dist/editor/reviews/CommentTargetPickerDomLayer.js.map +1 -0
- package/dist/editor/reviews/CommentThreadAgentLink.d.ts +28 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js +37 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -0
- package/dist/editor/reviews/CommentThreadCard.d.ts +34 -0
- package/dist/editor/reviews/CommentThreadCard.js +156 -0
- package/dist/editor/reviews/CommentThreadCard.js.map +1 -0
- package/dist/editor/reviews/SuggestionThreadCard.d.ts +19 -0
- package/dist/editor/reviews/SuggestionThreadCard.js +25 -0
- package/dist/editor/reviews/SuggestionThreadCard.js.map +1 -0
- package/dist/editor/reviews/addCommentOnTarget.d.ts +22 -0
- package/dist/editor/reviews/addCommentOnTarget.js +32 -0
- package/dist/editor/reviews/addCommentOnTarget.js.map +1 -0
- package/dist/editor/reviews/balloonLayout.d.ts +51 -0
- package/dist/editor/reviews/balloonLayout.js +101 -0
- package/dist/editor/reviews/balloonLayout.js.map +1 -0
- 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/commentImages.d.ts +48 -0
- package/dist/editor/reviews/commentImages.js +128 -0
- package/dist/editor/reviews/commentImages.js.map +1 -0
- package/dist/editor/reviews/commentTargetPicker.d.ts +114 -0
- package/dist/editor/reviews/commentTargetPicker.js +153 -0
- package/dist/editor/reviews/commentTargetPicker.js.map +1 -0
- package/dist/editor/reviews/feedbackBalloonDate.d.ts +8 -0
- package/dist/editor/reviews/feedbackBalloonDate.js +22 -0
- package/dist/editor/reviews/feedbackBalloonDate.js.map +1 -0
- package/dist/editor/reviews/feedbackDrafts.d.ts +49 -0
- package/dist/editor/reviews/feedbackDrafts.js +74 -0
- package/dist/editor/reviews/feedbackDrafts.js.map +1 -0
- package/dist/editor/reviews/feedbackHoverState.d.ts +18 -0
- package/dist/editor/reviews/feedbackHoverState.js +35 -0
- package/dist/editor/reviews/feedbackHoverState.js.map +1 -0
- package/dist/editor/reviews/feedbackPersonFilter.d.ts +3 -0
- package/dist/editor/reviews/feedbackPersonFilter.js +32 -0
- package/dist/editor/reviews/feedbackPersonFilter.js.map +1 -0
- package/dist/editor/reviews/feedbackThreadSelection.d.ts +10 -0
- package/dist/editor/reviews/feedbackThreadSelection.js +31 -0
- package/dist/editor/reviews/feedbackThreadSelection.js.map +1 -0
- package/dist/editor/reviews/feedbackThreads.d.ts +50 -0
- package/dist/editor/reviews/feedbackThreads.js +135 -0
- package/dist/editor/reviews/feedbackThreads.js.map +1 -0
- package/dist/editor/reviews/feedbackWheelForwarding.d.ts +34 -0
- package/dist/editor/reviews/feedbackWheelForwarding.js +108 -0
- package/dist/editor/reviews/feedbackWheelForwarding.js.map +1 -0
- package/dist/editor/reviews/reviewUrlScope.d.ts +23 -0
- package/dist/editor/reviews/reviewUrlScope.js +86 -0
- package/dist/editor/reviews/reviewUrlScope.js.map +1 -0
- package/dist/editor/reviews/scrollWithin.d.ts +29 -0
- package/dist/editor/reviews/scrollWithin.js +87 -0
- package/dist/editor/reviews/scrollWithin.js.map +1 -0
- package/dist/editor/reviews/subtreeFeedback.d.ts +57 -0
- package/dist/editor/reviews/subtreeFeedback.js +137 -0
- package/dist/editor/reviews/subtreeFeedback.js.map +1 -0
- package/dist/editor/reviews/useCommentImagePaste.d.ts +80 -0
- package/dist/editor/reviews/useCommentImagePaste.js +252 -0
- package/dist/editor/reviews/useCommentImagePaste.js.map +1 -0
- package/dist/editor/reviews/useFeedbackThreads.d.ts +35 -0
- package/dist/editor/reviews/useFeedbackThreads.js +137 -0
- package/dist/editor/reviews/useFeedbackThreads.js.map +1 -0
- package/dist/editor/reviews/useMeasuredHeights.d.ts +25 -0
- package/dist/editor/reviews/useMeasuredHeights.js +176 -0
- package/dist/editor/reviews/useMeasuredHeights.js.map +1 -0
- package/dist/editor/reviews/usePendingFeedbackFocus.d.ts +7 -0
- package/dist/editor/reviews/usePendingFeedbackFocus.js +42 -0
- package/dist/editor/reviews/usePendingFeedbackFocus.js.map +1 -0
- package/dist/editor/services/mcpAccessService.d.ts +93 -0
- package/dist/editor/services/mcpAccessService.js +41 -0
- package/dist/editor/services/mcpAccessService.js.map +1 -0
- package/dist/editor/services/migrationService.d.ts +31 -0
- package/dist/editor/services/migrationService.js +22 -0
- package/dist/editor/services/migrationService.js.map +1 -0
- package/dist/editor/services/previewTokenService.d.ts +14 -0
- package/dist/editor/services/previewTokenService.js +34 -0
- package/dist/editor/services/previewTokenService.js.map +1 -0
- package/dist/editor/services/publicSiteService.d.ts +40 -0
- package/dist/editor/services/publicSiteService.js +5 -0
- package/dist/editor/services/publicSiteService.js.map +1 -0
- package/dist/editor/services/renderingsService.d.ts +117 -0
- package/dist/editor/services/renderingsService.js +245 -0
- package/dist/editor/services/renderingsService.js.map +1 -0
- package/dist/editor/services/spellCheckService.d.ts +13 -0
- package/dist/editor/services/spellCheckService.js +33 -0
- package/dist/editor/services/spellCheckService.js.map +1 -0
- package/dist/editor/settings/MigrationJournalCard.d.ts +12 -0
- package/dist/editor/settings/MigrationJournalCard.js +114 -0
- package/dist/editor/settings/MigrationJournalCard.js.map +1 -0
- package/dist/editor/settings/panels/McpAccessPanel.d.ts +7 -0
- package/dist/editor/settings/panels/McpAccessPanel.js +95 -0
- package/dist/editor/settings/panels/McpAccessPanel.js.map +1 -0
- package/dist/editor/settings/panels/McpAccessSettingsView.d.ts +8 -0
- package/dist/editor/settings/panels/McpAccessSettingsView.js +221 -0
- package/dist/editor/settings/panels/McpAccessSettingsView.js.map +1 -0
- package/dist/editor/settings/panels/PublicSiteEntryDialog.d.ts +8 -0
- package/dist/editor/settings/panels/PublicSiteEntryDialog.js +113 -0
- package/dist/editor/settings/panels/PublicSiteEntryDialog.js.map +1 -0
- package/dist/editor/settings/panels/PublicSitesPanel.d.ts +1 -0
- package/dist/editor/settings/panels/PublicSitesPanel.js +153 -0
- package/dist/editor/settings/panels/PublicSitesPanel.js.map +1 -0
- package/dist/editor/settings/panels/SpellCheckPanel.d.ts +8 -0
- package/dist/editor/settings/panels/SpellCheckPanel.js +253 -0
- package/dist/editor/settings/panels/SpellCheckPanel.js.map +1 -0
- package/dist/editor/settings/panels/publicSiteHelpers.d.ts +6 -0
- package/dist/editor/settings/panels/publicSiteHelpers.js +30 -0
- package/dist/editor/settings/panels/publicSiteHelpers.js.map +1 -0
- package/dist/editor/sidebar/FeedbackSidebar.d.ts +7 -0
- package/dist/editor/sidebar/FeedbackSidebar.js +300 -0
- package/dist/editor/sidebar/FeedbackSidebar.js.map +1 -0
- package/dist/editor/sidebar/OperationDetailsContent.d.ts +14 -0
- package/dist/editor/sidebar/OperationDetailsContent.js +571 -0
- package/dist/editor/sidebar/OperationDetailsContent.js.map +1 -0
- package/dist/editor/sidebar/liveComponentThumbnails.d.ts +66 -0
- package/dist/editor/sidebar/liveComponentThumbnails.js +225 -0
- package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -0
- package/dist/editor/spellcheck/canvasSpellCheckContextMenu.d.ts +30 -0
- package/dist/editor/spellcheck/canvasSpellCheckContextMenu.js +69 -0
- package/dist/editor/spellcheck/canvasSpellCheckContextMenu.js.map +1 -0
- package/dist/editor/spellcheck/htmlSpellDocument.d.ts +60 -0
- package/dist/editor/spellcheck/htmlSpellDocument.js +181 -0
- package/dist/editor/spellcheck/htmlSpellDocument.js.map +1 -0
- package/dist/editor/spellcheck/htmlSpellTokenizer.d.ts +45 -0
- package/dist/editor/spellcheck/htmlSpellTokenizer.js +277 -0
- package/dist/editor/spellcheck/htmlSpellTokenizer.js.map +1 -0
- package/dist/editor/spellcheck/replacementGuard.d.ts +27 -0
- package/dist/editor/spellcheck/replacementGuard.js +29 -0
- package/dist/editor/spellcheck/replacementGuard.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckCanvasStore.d.ts +17 -0
- package/dist/editor/spellcheck/spellCheckCanvasStore.js +37 -0
- package/dist/editor/spellcheck/spellCheckCanvasStore.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckCanvasTargets.d.ts +71 -0
- package/dist/editor/spellcheck/spellCheckCanvasTargets.js +126 -0
- package/dist/editor/spellcheck/spellCheckCanvasTargets.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckClient.d.ts +66 -0
- package/dist/editor/spellcheck/spellCheckClient.js +0 -0
- package/dist/editor/spellcheck/spellCheckClient.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckContextMenu.d.ts +52 -0
- package/dist/editor/spellcheck/spellCheckContextMenu.js +120 -0
- package/dist/editor/spellcheck/spellCheckContextMenu.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckReplace.d.ts +8 -0
- package/dist/editor/spellcheck/spellCheckReplace.js +20 -0
- package/dist/editor/spellcheck/spellCheckReplace.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckStyles.d.ts +11 -0
- package/dist/editor/spellcheck/spellCheckStyles.js +12 -0
- package/dist/editor/spellcheck/spellCheckStyles.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckTypes.d.ts +94 -0
- package/dist/editor/spellcheck/spellCheckTypes.js +2 -0
- package/dist/editor/spellcheck/spellCheckTypes.js.map +1 -0
- package/dist/editor/spellcheck/textMarkHitTest.d.ts +14 -0
- package/dist/editor/spellcheck/textMarkHitTest.js +39 -0
- package/dist/editor/spellcheck/textMarkHitTest.js.map +1 -0
- package/dist/editor/spellcheck/useSpellCheck.d.ts +16 -0
- package/dist/editor/spellcheck/useSpellCheck.js +57 -0
- package/dist/editor/spellcheck/useSpellCheck.js.map +1 -0
- package/dist/editor/ui/DynamicRenderingsPublishWarning.d.ts +14 -0
- package/dist/editor/ui/DynamicRenderingsPublishWarning.js +40 -0
- package/dist/editor/ui/DynamicRenderingsPublishWarning.js.map +1 -0
- 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/PublishReadinessSummary.d.ts +12 -0
- package/dist/editor/ui/PublishReadinessSummary.js +34 -0
- package/dist/editor/ui/PublishReadinessSummary.js.map +1 -0
- package/dist/editor/ui/RootItemPicker.d.ts +18 -0
- package/dist/editor/ui/RootItemPicker.js +112 -0
- package/dist/editor/ui/RootItemPicker.js.map +1 -0
- package/dist/editor/ui/publishReadiness.d.ts +98 -0
- package/dist/editor/ui/publishReadiness.js +307 -0
- package/dist/editor/ui/publishReadiness.js.map +1 -0
- package/dist/editor/ui/usePublishingItem.d.ts +8 -0
- package/dist/editor/ui/usePublishingItem.js +47 -0
- package/dist/editor/ui/usePublishingItem.js.map +1 -0
- 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/dataTransferImages.d.ts +7 -0
- package/dist/editor/utils/dataTransferImages.js +43 -0
- package/dist/editor/utils/dataTransferImages.js.map +1 -0
- package/dist/editor/utils/linkDisplay.d.ts +12 -0
- package/dist/editor/utils/linkDisplay.js +23 -0
- package/dist/editor/utils/linkDisplay.js.map +1 -0
- 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/validationRulerIssues.d.ts +17 -0
- package/dist/editor/validation/validationRulerIssues.js +44 -0
- package/dist/editor/validation/validationRulerIssues.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/lib/viewportClip.d.ts +18 -0
- package/dist/lib/viewportClip.js +22 -0
- package/dist/lib/viewportClip.js.map +1 -0
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- 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/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/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/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/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/taskBlockers.d.ts +10 -0
- package/dist/task-board/taskBlockers.js +66 -0
- package/dist/task-board/taskBlockers.js.map +1 -0
- package/dist/task-board/utils/projectDashboardModel.d.ts +68 -0
- package/dist/task-board/utils/projectDashboardModel.js +369 -0
- package/dist/task-board/utils/projectDashboardModel.js.map +1 -0
- package/dist/task-board/views/ProjectDashboardView.d.ts +28 -0
- package/dist/task-board/views/ProjectDashboardView.js +308 -0
- package/dist/task-board/views/ProjectDashboardView.js.map +1 -0
- 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-copy.d.ts +8 -0
- package/dist/tour/sandbox-tour-copy.js +8 -0
- package/dist/tour/sandbox-tour-copy.js.map +1 -1
- package/dist/tour/sandbox-tour.d.ts +3 -0
- package/dist/tour/sandbox-tour.js +112 -6
- package/dist/tour/sandbox-tour.js.map +1 -1
- package/dist/tour/tour-utils.d.ts +6 -0
- package/dist/tour/tour-utils.js +10 -0
- package/dist/tour/tour-utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/editor/page-editor-chrome/bridgeLinkValue.d.ts +0 -10
- package/dist/editor/page-editor-chrome/bridgeLinkValue.js +0 -55
- package/dist/editor/page-editor-chrome/bridgeLinkValue.js.map +0 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
|
+
import { Tooltip, TooltipContent, TooltipTrigger, } from "../../../../components/ui/tooltip";
|
|
4
|
+
import { cn } from "../../../../lib/utils";
|
|
5
|
+
import { formatTime } from "../../../utils";
|
|
6
|
+
import { formatDurationMs, formatElapsedMs } from "../agentDurations";
|
|
7
|
+
const TICK_INTERVAL_MS = 1000;
|
|
8
|
+
/**
|
|
9
|
+
* Current time that refreshes once per interval while `active`. Stops ticking
|
|
10
|
+
* when inactive and keeps the last value, so a settled turn reads the moment
|
|
11
|
+
* it settled until persisted timestamps arrive.
|
|
12
|
+
*/
|
|
13
|
+
export function useNowTicker(active, intervalMs = TICK_INTERVAL_MS) {
|
|
14
|
+
const [now, setNow] = useState(() => Date.now());
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (!active) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
const handle = window.setInterval(() => {
|
|
20
|
+
setNow(Date.now());
|
|
21
|
+
}, intervalMs);
|
|
22
|
+
return () => {
|
|
23
|
+
window.clearInterval(handle);
|
|
24
|
+
};
|
|
25
|
+
}, [active, intervalMs]);
|
|
26
|
+
return now;
|
|
27
|
+
}
|
|
28
|
+
const formatClock = (epochMs) => formatTime(new Date(epochMs), { second: "numeric" });
|
|
29
|
+
/**
|
|
30
|
+
* Wall-clock duration of one response turn. Ticks while the turn is running
|
|
31
|
+
* and settles on the persisted timing once the response has completed.
|
|
32
|
+
*/
|
|
33
|
+
export function ResponseTurnDuration({ timing, className, }) {
|
|
34
|
+
const { startedAt, endedAt, isLive } = timing;
|
|
35
|
+
const now = useNowTicker(isLive);
|
|
36
|
+
const wasLive = useRef(isLive);
|
|
37
|
+
if (isLive)
|
|
38
|
+
wasLive.current = true;
|
|
39
|
+
// While live the clock is the end. Once settled, prefer the persisted end;
|
|
40
|
+
// until the snapshot brings it, the last tick is within a second of it.
|
|
41
|
+
const effectiveEnd = isLive ? now : (endedAt ?? now);
|
|
42
|
+
const durationMs = !isLive && timing.processingMs !== undefined
|
|
43
|
+
? timing.processingMs
|
|
44
|
+
: Math.max(0, effectiveEnd - startedAt);
|
|
45
|
+
const label = isLive
|
|
46
|
+
? formatElapsedMs(durationMs)
|
|
47
|
+
: formatDurationMs(durationMs);
|
|
48
|
+
if (!label ||
|
|
49
|
+
(!isLive &&
|
|
50
|
+
!wasLive.current &&
|
|
51
|
+
endedAt === null &&
|
|
52
|
+
timing.processingMs === undefined)) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const tooltip = isLive
|
|
56
|
+
? `Responding for ${label}, since ${formatClock(startedAt)}`
|
|
57
|
+
: timing.processingMs !== undefined
|
|
58
|
+
? `Processing took ${label}; time waiting between attempts and approvals is excluded.`
|
|
59
|
+
: `Elapsed time from prompt to response: ${label} (${formatClock(startedAt)} to ${formatClock(effectiveEnd)}), including time waiting.`;
|
|
60
|
+
return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { className: cn("text-neutral-grey-50 inline-flex shrink-0 cursor-help items-center text-[10px] leading-4 tabular-nums", className), "data-testid": "agent-turn-duration", "data-live": isLive ? "true" : "false", "data-duration-ms": durationMs, children: label }) }), _jsx(TooltipContent, { side: "top", children: tooltip })] }));
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=ResponseTurnDuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseTurnDuration.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/ResponseTurnDuration.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AgentToolCallDiagnostics } from "../../../services/agentService";
|
|
2
|
+
import { type ToolCallDiagnosticsRow } from "../toolCallDiagnostics";
|
|
3
|
+
export declare function ToolCallDiagnosticsPanel({ diagnostics, rows, }: {
|
|
4
|
+
diagnostics: AgentToolCallDiagnostics;
|
|
5
|
+
rows: ToolCallDiagnosticsRow[];
|
|
6
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronRight } from "lucide-react";
|
|
3
|
+
import { Badge } from "../../../../components/ui/badge";
|
|
4
|
+
import { CopyButton } from "../../../../components/ui/copy-button";
|
|
5
|
+
import { cn } from "../../../../lib/utils";
|
|
6
|
+
import { describeReview, describeReviewUsage, prettyJson, truncationNote, } from "../toolCallDiagnostics";
|
|
7
|
+
const statusClassName = {
|
|
8
|
+
completed: "bg-feedback-green-light text-feedback-green",
|
|
9
|
+
failed: "bg-feedback-red-light text-feedback-red",
|
|
10
|
+
running: "bg-feedback-blue-light text-feedback-blue",
|
|
11
|
+
waiting: "bg-feedback-grey-light text-feedback-grey",
|
|
12
|
+
pruned: "bg-feedback-grey-light text-feedback-grey",
|
|
13
|
+
};
|
|
14
|
+
const approvalClassName = {
|
|
15
|
+
"not-required": "bg-feedback-grey-light text-feedback-grey",
|
|
16
|
+
pending: "bg-feedback-orange-light text-feedback-orange",
|
|
17
|
+
"approved-by-person": "bg-feedback-green-light text-feedback-green",
|
|
18
|
+
"approved-by-auto": "bg-feedback-blue-light text-feedback-blue",
|
|
19
|
+
rejected: "bg-feedback-red-light text-feedback-red",
|
|
20
|
+
"denied-by-auto": "bg-feedback-red-light text-feedback-red",
|
|
21
|
+
};
|
|
22
|
+
function formatTime(value) {
|
|
23
|
+
if (!value)
|
|
24
|
+
return "—";
|
|
25
|
+
const parsed = new Date(value);
|
|
26
|
+
return Number.isNaN(parsed.getTime()) ? value : parsed.toLocaleString();
|
|
27
|
+
}
|
|
28
|
+
function Disclosure({ summary, children, className, testId, }) {
|
|
29
|
+
return (_jsxs("details", { className: cn("group/disclosure", className), "data-testid": testId, children: [_jsxs("summary", { className: "hover:bg-neutral-grey-5 flex cursor-pointer list-none items-center gap-1.5 rounded px-1 py-1 [&::-webkit-details-marker]:hidden", children: [_jsx(ChevronRight, { className: "text-neutral-grey-50 size-3 shrink-0 transition-transform group-open/disclosure:rotate-90", strokeWidth: 1.5 }), summary] }), _jsx("div", { className: "pt-1 pb-2 pl-5", children: children })] }));
|
|
30
|
+
}
|
|
31
|
+
function TextBlock({ label, text, note, }) {
|
|
32
|
+
return (_jsxs("div", { className: "mt-2", children: [_jsxs("div", { className: "text-neutral-grey-50 flex items-center gap-1 text-[10px] font-medium tracking-wider uppercase", children: [_jsx("span", { children: label }), note ? (_jsx("span", { className: "font-normal tracking-normal normal-case", children: note })) : null, _jsx(CopyButton, { textToCopy: text, iconOnly: true, label: `Copy ${label.toLowerCase()}`, className: "ml-auto" })] }), _jsx("pre", { className: "bg-neutral-grey-5 text-neutral-grey-100 mt-1 max-h-80 overflow-auto rounded p-2 font-mono text-[11px] break-words whitespace-pre-wrap", children: text })] }));
|
|
33
|
+
}
|
|
34
|
+
function Field({ label, children }) {
|
|
35
|
+
return (_jsxs("div", { className: "flex gap-2 text-[11px] leading-5", children: [_jsx("span", { className: "text-neutral-grey-50 w-28 shrink-0", children: label }), _jsx("span", { className: "text-neutral-grey-100 min-w-0 break-words", children: children })] }));
|
|
36
|
+
}
|
|
37
|
+
function ReviewerRequest({ request, }) {
|
|
38
|
+
const usage = describeReviewUsage(request);
|
|
39
|
+
return (_jsxs(Disclosure, { testId: "tool-call-diagnostics-review-request", summary: _jsxs("span", { className: "text-neutral-grey-100 flex min-w-0 items-center gap-2 text-[11px]", children: [_jsxs("span", { className: "font-medium", children: ["Reviewer request, attempt ", request.attempt] }), _jsxs("span", { className: "text-neutral-grey-50 truncate", children: [formatTime(request.createdAtUtc), usage ? ` · ${usage}` : ""] }), request.error ? (_jsx(Badge, { size: "sm", variant: "destructive", className: "shrink-0", title: request.error, children: "error" })) : null] }), children: [request.error ? _jsx(Field, { label: "Error", children: request.error }) : null, _jsx(TextBlock, { label: "Prompt", text: prettyJson(request.userPrompt) }), _jsx(TextBlock, { label: "Response", text: request.response ? prettyJson(request.response) : "(none)" }), request.systemPrompt ? (_jsx(Disclosure, { className: "mt-2", summary: _jsxs("span", { className: "text-neutral-grey-50 text-[11px]", children: ["System prompt (", request.promptVersion ?? "unknown version", ")"] }), children: _jsx(TextBlock, { label: "System prompt", text: request.systemPrompt }) })) : null] }));
|
|
40
|
+
}
|
|
41
|
+
function ToolCallRow({ row }) {
|
|
42
|
+
const { call } = row;
|
|
43
|
+
return (_jsxs(Disclosure, { className: "border-border-default border-b last:border-b-0", testId: "tool-call-diagnostics-row", summary: _jsxs("span", { className: "flex min-w-0 flex-1 items-center gap-2 text-[11px]", children: [_jsxs("span", { className: "text-neutral-grey-50 w-8 shrink-0 text-right tabular-nums", children: ["#", row.index] }), _jsx("span", { className: "text-neutral-grey-100 truncate font-medium", children: call.functionName ?? "(unknown tool)" }), _jsx(Badge, { size: "sm", variant: "outline", className: cn("border-transparent", statusClassName[row.status]), children: row.status }), _jsx(Badge, { size: "sm", variant: "outline", "data-testid": "tool-call-diagnostics-approval", className: cn("border-transparent", approvalClassName[row.approval]), children: row.approvalLabel }), row.reviews.length > 0 ? (_jsx(Badge, { size: "sm", variant: "secondary", children: row.reviews.length === 1
|
|
44
|
+
? "1 review"
|
|
45
|
+
: `${row.reviews.length} reviews` })) : null, _jsx("span", { className: "text-neutral-grey-50 ml-auto shrink-0 tabular-nums", children: formatTime(call.createdDate) })] }), children: [_jsx(Field, { label: "Tool call ID", children: call.toolCallId ?? "—" }), _jsxs(Field, { label: "Position", children: ["Message ", call.messageIndex, call.callOrdinal != null ? `, call ${call.callOrdinal}` : ""] }), call.responseTimeMs != null ? (_jsxs(Field, { label: "Response time", children: [call.responseTimeMs.toLocaleString(), " ms"] })) : null, call.executionStartedAt ? (_jsxs(Field, { label: "Executed", children: [formatTime(call.executionStartedAt), call.executionCompletedAt
|
|
46
|
+
? ` – ${formatTime(call.executionCompletedAt)}`
|
|
47
|
+
: "", call.executionSource ? ` (${call.executionSource})` : ""] })) : null, call.frozenApprovalRequirement ? (_jsx(Field, { label: "Auto route", children: call.frozenApprovalRequirement })) : null, call.approvalBy || call.approvalAt ? (_jsxs(Field, { label: "Approved by", children: [call.approvalBy ?? "—", " at ", formatTime(call.approvalAt)] })) : null, row.reviews.map((review) => (_jsxs("div", { className: "border-border-default mt-2 rounded border p-2", "data-testid": "tool-call-diagnostics-review", children: [_jsxs("div", { className: "text-neutral-grey-100 text-[11px] font-medium", children: ["Auto review \u00B7 ", formatTime(review.createdAtUtc)] }), _jsx(Field, { label: "Outcome", children: describeReview(review) }), review.rationale ? (_jsx(Field, { label: "Rationale", children: review.rationale })) : null, _jsxs(Field, { label: "Batch", children: [review.batchId ?? "—", " (generation ", review.generation, ")"] }), _jsx(Field, { label: "Usage", children: describeReviewUsage({
|
|
48
|
+
modelName: review.modelName,
|
|
49
|
+
durationMs: review.durationMs,
|
|
50
|
+
inputTokens: review.batchInputTokens,
|
|
51
|
+
outputTokens: review.batchOutputTokens,
|
|
52
|
+
cost: review.batchCost,
|
|
53
|
+
}) || "—" }), _jsxs(Field, { label: "Versions", children: ["prompt ", review.promptVersion ?? "—", ", policy", " ", review.policyVersion ?? "—"] })] }, review.reviewId))), row.requests.length > 0 ? (_jsx("div", { className: "mt-2", children: row.requests.map((request) => (_jsx(ReviewerRequest, { request: request }, request.requestId))) })) : row.reviews.length > 0 ? (_jsx("div", { className: "text-neutral-grey-50 mt-2 text-[11px]", children: "The reviewer's prompt and answer were not recorded for this review." })) : null, call.functionArguments ? (_jsx(TextBlock, { label: "Arguments", text: prettyJson(call.functionArguments), note: truncationNote(call.functionArguments, call.argumentsLength) })) : null, call.functionError ? (_jsx(TextBlock, { label: "Error", text: call.functionError, note: truncationNote(call.functionError, call.errorLength) })) : call.functionResult ? (_jsx(TextBlock, { label: "Result", text: prettyJson(call.functionResult), note: truncationNote(call.functionResult, call.resultLength) })) : null] }));
|
|
54
|
+
}
|
|
55
|
+
export function ToolCallDiagnosticsPanel({ diagnostics, rows, }) {
|
|
56
|
+
const reviewed = rows.filter((row) => row.reviews.length > 0).length;
|
|
57
|
+
return (_jsxs("div", { className: "border-border-default min-h-0 flex-1 overflow-y-auto rounded border bg-white p-1", "data-testid": "tool-call-diagnostics", children: [_jsxs("div", { className: "text-neutral-grey-50 px-1 pb-1 text-[11px]", children: [rows.length.toLocaleString(), " tool calls", reviewed > 0 ? `, ${reviewed.toLocaleString()} reviewed by Auto` : "", diagnostics.toolCalls.length >= diagnostics.toolCallLimit
|
|
58
|
+
? ` (newest ${diagnostics.toolCallLimit.toLocaleString()} shown)`
|
|
59
|
+
: ""] }), [...rows].reverse().map((row) => (_jsx(ToolCallRow, { row: row }, `${row.call.messageId}:${row.call.toolCallId ?? row.index}`)))] }));
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=ToolCallDiagnosticsPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolCallDiagnosticsPanel.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/ToolCallDiagnosticsPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const parseJsonString: (json: string | object) => any | null;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const MAX_AUTO_PARSE_JSON_CHARS = 25_000;
|
|
2
|
+
// Helper function to parse JSON string to object
|
|
3
|
+
export const parseJsonString = (json) => {
|
|
4
|
+
// If it's already an object, return it directly
|
|
5
|
+
if (typeof json === "object" && json !== null) {
|
|
6
|
+
return json;
|
|
7
|
+
}
|
|
8
|
+
// Convert to string if not already
|
|
9
|
+
const jsonString = typeof json === "string" ? json : String(json);
|
|
10
|
+
const trimmed = jsonString.trim();
|
|
11
|
+
if (!trimmed || trimmed.length > MAX_AUTO_PARSE_JSON_CHARS) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const firstChar = trimmed[0];
|
|
15
|
+
if (firstChar !== "{" && firstChar !== "[" && firstChar !== '"') {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
// Try to parse as JSON
|
|
19
|
+
try {
|
|
20
|
+
let parsed = JSON.parse(trimmed);
|
|
21
|
+
// If the result is still a string that looks like JSON, parse it again
|
|
22
|
+
if (typeof parsed === "string" &&
|
|
23
|
+
(parsed.startsWith("{") || parsed.startsWith("["))) {
|
|
24
|
+
try {
|
|
25
|
+
parsed = JSON.parse(parsed);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Keep the first parsed value when nested JSON is incomplete.
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return parsed;
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// Try to handle double-escaped JSON
|
|
35
|
+
try {
|
|
36
|
+
const unescaped = trimmed.replace(/\\"/g, '"').replace(/\\\\/g, "\\");
|
|
37
|
+
const parsed = JSON.parse(unescaped);
|
|
38
|
+
return parsed;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// If all parsing fails, return null to indicate we should display as plain text
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=toolCallResultJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolCallResultJson.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/toolCallResultJson.ts"],"names":[],"mappings":"AAAA,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAqB,EAAc,EAAE;IACnE,gDAAgD;IAChD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mCAAmC;IACnC,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAElC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjC,uEAAuE;QACvE,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,8DAA8D;YAChE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;QACpC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,gFAAgF;YAChF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AiModel } from "../../services/aiService";
|
|
2
|
+
export declare const REASONING_EFFORT_LADDER: readonly ["none", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
3
|
+
export declare function getReasoningEffortOptions(model?: AiModel): {
|
|
4
|
+
value: string;
|
|
5
|
+
label: string;
|
|
6
|
+
}[];
|
|
7
|
+
export declare function getEffectiveReasoningEffort(selected: string, model?: AiModel): string | undefined;
|
|
8
|
+
export declare function getReasoningEffortHint(selected: string, model?: AiModel, activeModel?: AiModel): string;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export const REASONING_EFFORT_LADDER = [
|
|
2
|
+
"none",
|
|
3
|
+
"minimal",
|
|
4
|
+
"low",
|
|
5
|
+
"medium",
|
|
6
|
+
"high",
|
|
7
|
+
"xhigh",
|
|
8
|
+
"max",
|
|
9
|
+
];
|
|
10
|
+
export function getReasoningEffortOptions(model) {
|
|
11
|
+
return [
|
|
12
|
+
{
|
|
13
|
+
value: "",
|
|
14
|
+
label: `Model default (${model?.reasoningEffort || "provider default"})`,
|
|
15
|
+
},
|
|
16
|
+
...REASONING_EFFORT_LADDER.map((value) => ({ value, label: value })),
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
export function getEffectiveReasoningEffort(selected, model) {
|
|
20
|
+
return model?.effectiveReasoningEfforts?.[selected];
|
|
21
|
+
}
|
|
22
|
+
export function getReasoningEffortHint(selected, model, activeModel) {
|
|
23
|
+
// The selected model's hint always accompanies the select (its lock is what disables it).
|
|
24
|
+
const selectedHint = describeModelEffort(selected, model);
|
|
25
|
+
if (!activeModel ||
|
|
26
|
+
!model ||
|
|
27
|
+
activeModel.id.toLowerCase() === model.id.toLowerCase()) {
|
|
28
|
+
return selectedHint;
|
|
29
|
+
}
|
|
30
|
+
const activeEffective = getEffectiveReasoningEffort(selected, activeModel);
|
|
31
|
+
const activeHint = describeModelEffort(selected, activeModel) ||
|
|
32
|
+
(activeEffective === undefined
|
|
33
|
+
? "effort mapping unavailable"
|
|
34
|
+
: activeEffective
|
|
35
|
+
? `sent as ${activeEffective}`
|
|
36
|
+
: "not sent, provider default");
|
|
37
|
+
return `current run uses ${activeModel.name}: ${activeHint}; ${model.name} applies from the next run${selectedHint ? ` (${selectedHint})` : ""}`;
|
|
38
|
+
}
|
|
39
|
+
function describeModelEffort(selected, model) {
|
|
40
|
+
const effective = getEffectiveReasoningEffort(selected, model);
|
|
41
|
+
const locked = model?.reasoningEffortLocked;
|
|
42
|
+
if (locked) {
|
|
43
|
+
let hint = `Locked to ${locked} by the model's Additional Parameters`;
|
|
44
|
+
if (effective !== undefined && effective !== locked)
|
|
45
|
+
hint += `, sent as ${effective || "nothing"}`;
|
|
46
|
+
return hint;
|
|
47
|
+
}
|
|
48
|
+
if (model?.supportedReasoningLevels?.length === 0)
|
|
49
|
+
return "not sent, model ignores effort";
|
|
50
|
+
if (effective !== undefined && effective !== selected)
|
|
51
|
+
return effective ? `sent as ${effective}` : "not sent, provider default";
|
|
52
|
+
return "";
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=reasoningEffortLevels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasoningEffortLevels.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/reasoningEffortLevels.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,MAAM;IACN,SAAS;IACT,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;CACG,CAAC;AAEX,MAAM,UAAU,yBAAyB,CAAC,KAAe;IACvD,OAAO;QACL;YACE,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,kBAAkB,KAAK,EAAE,eAAe,IAAI,kBAAkB,GAAG;SACzE;QACD,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,QAAgB,EAAE,KAAe;IAC3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,KAAe,EACf,WAAqB;IAErB,0FAA0F;IAC1F,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1D,IACE,CAAC,WAAW;QACZ,CAAC,KAAK;QACN,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,EACvD,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,MAAM,eAAe,GAAG,2BAA2B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC3E,MAAM,UAAU,GACd,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC;QAC1C,CAAC,eAAe,KAAK,SAAS;YAC5B,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,eAAe;gBACf,CAAC,CAAC,WAAW,eAAe,EAAE;gBAC9B,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACtC,OAAO,oBAAoB,WAAW,CAAC,IAAI,KAAK,UAAU,KAAK,KAAK,CAAC,IAAI,6BAA6B,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnJ,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,KAAe;IAC5D,MAAM,SAAS,GAAG,2BAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,EAAE,qBAAqB,CAAC;IAC5C,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,IAAI,GAAG,aAAa,MAAM,uCAAuC,CAAC;QACtE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,MAAM;YACjD,IAAI,IAAI,aAAa,SAAS,IAAI,SAAS,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,EAAE,wBAAwB,EAAE,MAAM,KAAK,CAAC;QAC/C,OAAO,gCAAgC,CAAC;IAC1C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,QAAQ;QACnD,OAAO,SAAS,CAAC,CAAC,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC;IAC3E,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function mergeUsage(previous, incoming) {
|
|
2
|
+
const oldRequest = previous.requestUsage;
|
|
3
|
+
const nextRequest = incoming.requestUsage;
|
|
4
|
+
const acceptRequest = nextRequest &&
|
|
5
|
+
(!oldRequest ||
|
|
6
|
+
(nextRequest.requestId === oldRequest.requestId
|
|
7
|
+
? nextRequest.revision >= oldRequest.revision
|
|
8
|
+
: incoming.conversationUsage && previous.conversationUsage
|
|
9
|
+
? incoming.conversationUsage.revision >
|
|
10
|
+
previous.conversationUsage.revision
|
|
11
|
+
: nextRequest.createdAt > oldRequest.createdAt));
|
|
12
|
+
const nextConversation = incoming.conversationUsage;
|
|
13
|
+
return {
|
|
14
|
+
requestUsage: acceptRequest ? nextRequest : oldRequest,
|
|
15
|
+
conversationUsage: nextConversation &&
|
|
16
|
+
(!previous.conversationUsage ||
|
|
17
|
+
nextConversation.revision >= previous.conversationUsage.revision)
|
|
18
|
+
? nextConversation
|
|
19
|
+
: previous.conversationUsage,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=requestUsage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestUsage.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/requestUsage.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,UAAU,CACxB,QAAwB,EACxB,QAAwB;IAExB,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAC;IACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC1C,MAAM,aAAa,GACjB,WAAW;QACX,CAAC,CAAC,UAAU;YACV,CAAC,WAAW,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS;gBAC7C,CAAC,CAAC,WAAW,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ;gBAC7C,CAAC,CAAC,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB;oBACxD,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ;wBACnC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ;oBACrC,CAAC,CAAC,WAAW,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACpD,OAAO;QACL,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;QACtD,iBAAiB,EACf,gBAAgB;YAChB,CAAC,CAAC,QAAQ,CAAC,iBAAiB;gBAC1B,gBAAgB,CAAC,QAAQ,IAAI,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YACjE,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,QAAQ,CAAC,iBAAiB;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { AgentAutoReviewDiagnosticsEntry, AgentAutoReviewRequestDiagnosticsEntry, AgentChatMessage, AgentToolCallDiagnostics, AgentToolCallDiagnosticsEntry } from "../../services/agentService";
|
|
2
|
+
/** Tool call IDs the transcript shows as awaiting a person's approval. */
|
|
3
|
+
export declare function awaitingApprovalToolCallIds(messages: AgentChatMessage[]): Set<string>;
|
|
4
|
+
export type ToolCallApprovalKind = "not-required" | "pending" | "approved-by-person" | "approved-by-auto" | "rejected" | "denied-by-auto";
|
|
5
|
+
export type ToolCallStatusKind = "completed" | "failed" | "running" | "waiting" | "pruned";
|
|
6
|
+
export interface ToolCallDiagnosticsRow {
|
|
7
|
+
call: AgentToolCallDiagnosticsEntry;
|
|
8
|
+
/** 1-based position in the returned list (oldest first). */
|
|
9
|
+
index: number;
|
|
10
|
+
status: ToolCallStatusKind;
|
|
11
|
+
approval: ToolCallApprovalKind;
|
|
12
|
+
approvalLabel: string;
|
|
13
|
+
/** Every Auto review of this call, oldest first (a call is reviewed again after a generation change). */
|
|
14
|
+
reviews: AgentAutoReviewDiagnosticsEntry[];
|
|
15
|
+
/** The reviewer's requests for the batches those reviews belong to, oldest first. */
|
|
16
|
+
requests: AgentAutoReviewRequestDiagnosticsEntry[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Joins each tool call with its Auto reviews and the reviewer's requests for them.
|
|
20
|
+
* `awaitingApprovalIds` are the tool call IDs the transcript shows as awaiting approval.
|
|
21
|
+
*/
|
|
22
|
+
export declare function buildToolCallDiagnosticsRows(diagnostics: AgentToolCallDiagnostics, awaitingApprovalIds?: ReadonlySet<string>): ToolCallDiagnosticsRow[];
|
|
23
|
+
/** Pretty-prints JSON text; anything else is returned as is. */
|
|
24
|
+
export declare function prettyJson(value: string | null | undefined): string;
|
|
25
|
+
/** Notes a text the server cut to its diagnostics limit. */
|
|
26
|
+
export declare function truncationNote(shown: string | null | undefined, fullLength: number | null | undefined): string | null;
|
|
27
|
+
export declare function describeReview(review: AgentAutoReviewDiagnosticsEntry): string;
|
|
28
|
+
export declare function describeReviewUsage(entry: Pick<AgentAutoReviewDiagnosticsEntry, "modelName" | "durationMs"> & {
|
|
29
|
+
inputTokens?: number | null;
|
|
30
|
+
outputTokens?: number | null;
|
|
31
|
+
cost?: number | null;
|
|
32
|
+
}): string;
|
|
33
|
+
/** Plain-text version of the section, for copy, download and search. */
|
|
34
|
+
export declare function formatToolCallDiagnosticsText(diagnostics: AgentToolCallDiagnostics, rows: ToolCallDiagnosticsRow[]): string;
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/** Tool call IDs the transcript shows as awaiting a person's approval. */
|
|
2
|
+
export function awaitingApprovalToolCallIds(messages) {
|
|
3
|
+
const ids = new Set();
|
|
4
|
+
for (const message of messages) {
|
|
5
|
+
for (const toolCall of message.toolCalls ?? []) {
|
|
6
|
+
if (toolCall.requiresApproval &&
|
|
7
|
+
!toolCall.isCompleted &&
|
|
8
|
+
!/\((approved|rejected)\)$/.test(toolCall.functionName ?? "") &&
|
|
9
|
+
toolCall.toolCallId) {
|
|
10
|
+
ids.add(toolCall.toolCallId);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return ids;
|
|
15
|
+
}
|
|
16
|
+
function sameMessage(a, b) {
|
|
17
|
+
// A review row without a message (none is stored today) matches on the call ID alone.
|
|
18
|
+
return !a || !b || a.toLowerCase() === b.toLowerCase();
|
|
19
|
+
}
|
|
20
|
+
function byTime(a, b) {
|
|
21
|
+
return a.createdAtUtc.localeCompare(b.createdAtUtc);
|
|
22
|
+
}
|
|
23
|
+
function isRejected(call) {
|
|
24
|
+
return /^REJECTED\b/.test(call.functionError ?? "");
|
|
25
|
+
}
|
|
26
|
+
function statusOf(call) {
|
|
27
|
+
if (call.isPruned)
|
|
28
|
+
return "pruned";
|
|
29
|
+
if (call.isCompleted)
|
|
30
|
+
return call.functionError ? "failed" : "completed";
|
|
31
|
+
if (call.executionStartedAt)
|
|
32
|
+
return "running";
|
|
33
|
+
return "waiting";
|
|
34
|
+
}
|
|
35
|
+
function approvalOf(call, reviews, awaitsApproval) {
|
|
36
|
+
const lastReview = reviews[reviews.length - 1];
|
|
37
|
+
if (isRejected(call)) {
|
|
38
|
+
return { kind: "rejected", label: "Rejected by a person" };
|
|
39
|
+
}
|
|
40
|
+
if (call.approvalSource === "auto" ||
|
|
41
|
+
call.executionSource === "auto-approved") {
|
|
42
|
+
return { kind: "approved-by-auto", label: "Approved by the Auto reviewer" };
|
|
43
|
+
}
|
|
44
|
+
if (call.approvalBy) {
|
|
45
|
+
return {
|
|
46
|
+
kind: "approved-by-person",
|
|
47
|
+
label: `Approved by ${call.approvalBy}`,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
if (lastReview?.decision === "deny") {
|
|
51
|
+
return { kind: "denied-by-auto", label: "Denied by the Auto reviewer" };
|
|
52
|
+
}
|
|
53
|
+
// Outside Auto the stored row cannot tell a pending approval from a call that has not run yet;
|
|
54
|
+
// the transcript can, so the caller passes the calls it shows as awaiting approval.
|
|
55
|
+
const handedToPerson = awaitsApproval ||
|
|
56
|
+
lastReview?.decision === "require-human" ||
|
|
57
|
+
call.frozenApprovalRequirement === "Human" ||
|
|
58
|
+
call.frozenApprovalRequirement === "Review";
|
|
59
|
+
if (!call.isCompleted && !call.executionStartedAt && handedToPerson) {
|
|
60
|
+
return { kind: "pending", label: "Waiting for a person" };
|
|
61
|
+
}
|
|
62
|
+
return { kind: "not-required", label: "No approval needed" };
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Joins each tool call with its Auto reviews and the reviewer's requests for them.
|
|
66
|
+
* `awaitingApprovalIds` are the tool call IDs the transcript shows as awaiting approval.
|
|
67
|
+
*/
|
|
68
|
+
export function buildToolCallDiagnosticsRows(diagnostics, awaitingApprovalIds = new Set()) {
|
|
69
|
+
const reviews = [...diagnostics.reviews].sort(byTime);
|
|
70
|
+
const requests = [...diagnostics.reviewRequests].sort((a, b) => byTime(a, b) || a.attempt - b.attempt);
|
|
71
|
+
return diagnostics.toolCalls.map((call, position) => {
|
|
72
|
+
const callReviews = reviews.filter((review) => (call.autoReviewId != null &&
|
|
73
|
+
review.reviewId.toLowerCase() === call.autoReviewId.toLowerCase()) ||
|
|
74
|
+
(!!call.toolCallId &&
|
|
75
|
+
review.toolCallId === call.toolCallId &&
|
|
76
|
+
sameMessage(review.messageId, call.messageId)));
|
|
77
|
+
const callRequests = requests.filter((request) => callReviews.some((review) => !!review.batchId &&
|
|
78
|
+
review.batchId === request.batchId &&
|
|
79
|
+
review.generation === request.generation &&
|
|
80
|
+
sameMessage(review.messageId, request.messageId)));
|
|
81
|
+
const approval = approvalOf(call, callReviews, !!call.toolCallId && awaitingApprovalIds.has(call.toolCallId));
|
|
82
|
+
return {
|
|
83
|
+
call,
|
|
84
|
+
index: position + 1,
|
|
85
|
+
status: statusOf(call),
|
|
86
|
+
approval: approval.kind,
|
|
87
|
+
approvalLabel: approval.label,
|
|
88
|
+
reviews: callReviews,
|
|
89
|
+
requests: callRequests,
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/** Pretty-prints JSON text; anything else is returned as is. */
|
|
94
|
+
export function prettyJson(value) {
|
|
95
|
+
if (!value)
|
|
96
|
+
return "";
|
|
97
|
+
const trimmed = value.trim();
|
|
98
|
+
if (!trimmed.startsWith("{") && !trimmed.startsWith("["))
|
|
99
|
+
return value;
|
|
100
|
+
try {
|
|
101
|
+
return JSON.stringify(JSON.parse(trimmed), null, 2);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return value;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Notes a text the server cut to its diagnostics limit. */
|
|
108
|
+
export function truncationNote(shown, fullLength) {
|
|
109
|
+
if (!shown || fullLength == null || fullLength <= shown.length)
|
|
110
|
+
return null;
|
|
111
|
+
return `(cut to ${shown.length.toLocaleString()} of ${fullLength.toLocaleString()} characters)`;
|
|
112
|
+
}
|
|
113
|
+
function formatTime(value) {
|
|
114
|
+
if (!value)
|
|
115
|
+
return "—";
|
|
116
|
+
const parsed = new Date(value);
|
|
117
|
+
return Number.isNaN(parsed.getTime()) ? value : parsed.toLocaleString();
|
|
118
|
+
}
|
|
119
|
+
export function describeReview(review) {
|
|
120
|
+
if (review.state === "failed") {
|
|
121
|
+
return `Review failed, a person decides${review.failure ? `: ${review.failure}` : ""}`;
|
|
122
|
+
}
|
|
123
|
+
const parts = [
|
|
124
|
+
`Decision: ${review.decision ?? "—"}`,
|
|
125
|
+
review.recommendedOutcome
|
|
126
|
+
? `recommended ${review.recommendedOutcome}`
|
|
127
|
+
: null,
|
|
128
|
+
review.riskLevel ? `risk ${review.riskLevel}` : null,
|
|
129
|
+
review.userAuthorization
|
|
130
|
+
? `user authorization ${review.userAuthorization}`
|
|
131
|
+
: null,
|
|
132
|
+
review.reasonCode ? `reason ${review.reasonCode}` : null,
|
|
133
|
+
].filter(Boolean);
|
|
134
|
+
return parts.join(" · ");
|
|
135
|
+
}
|
|
136
|
+
export function describeReviewUsage(entry) {
|
|
137
|
+
return [
|
|
138
|
+
entry.modelName ? `model ${entry.modelName}` : null,
|
|
139
|
+
entry.inputTokens != null || entry.outputTokens != null
|
|
140
|
+
? `${(entry.inputTokens ?? 0).toLocaleString()} in / ${(entry.outputTokens ?? 0).toLocaleString()} out tokens`
|
|
141
|
+
: null,
|
|
142
|
+
entry.cost != null ? `cost ${entry.cost.toFixed(4)}` : null,
|
|
143
|
+
entry.durationMs != null ? `${entry.durationMs.toLocaleString()} ms` : null,
|
|
144
|
+
]
|
|
145
|
+
.filter(Boolean)
|
|
146
|
+
.join(" · ");
|
|
147
|
+
}
|
|
148
|
+
function indent(text, prefix = " ") {
|
|
149
|
+
return text
|
|
150
|
+
.split("\n")
|
|
151
|
+
.map((line) => prefix + line)
|
|
152
|
+
.join("\n");
|
|
153
|
+
}
|
|
154
|
+
/** Plain-text version of the section, for copy, download and search. */
|
|
155
|
+
export function formatToolCallDiagnosticsText(diagnostics, rows) {
|
|
156
|
+
if (rows.length === 0)
|
|
157
|
+
return "";
|
|
158
|
+
const blocks = [];
|
|
159
|
+
if (diagnostics.toolCalls.length >= diagnostics.toolCallLimit) {
|
|
160
|
+
blocks.push(`Showing the newest ${diagnostics.toolCallLimit.toLocaleString()} tool calls.`);
|
|
161
|
+
}
|
|
162
|
+
for (const row of rows) {
|
|
163
|
+
const { call } = row;
|
|
164
|
+
const lines = [
|
|
165
|
+
`#${row.index} ${call.functionName ?? "(unknown tool)"} · ${row.status} · ${row.approvalLabel}`,
|
|
166
|
+
` Created ${formatTime(call.createdDate)} · message ${call.messageIndex}${call.callOrdinal != null ? `, call ${call.callOrdinal}` : ""} · ${call.toolCallId ?? "—"}`,
|
|
167
|
+
];
|
|
168
|
+
if (call.responseTimeMs != null) {
|
|
169
|
+
lines.push(` Response time: ${call.responseTimeMs.toLocaleString()} ms`);
|
|
170
|
+
}
|
|
171
|
+
if (call.executionSource) {
|
|
172
|
+
lines.push(` Execution source: ${call.executionSource}`);
|
|
173
|
+
}
|
|
174
|
+
if (call.frozenApprovalRequirement) {
|
|
175
|
+
lines.push(` Auto route: ${call.frozenApprovalRequirement}`);
|
|
176
|
+
}
|
|
177
|
+
if (call.approvalBy || call.approvalAt) {
|
|
178
|
+
lines.push(` Approved by ${call.approvalBy ?? "—"} at ${formatTime(call.approvalAt)}`);
|
|
179
|
+
}
|
|
180
|
+
for (const review of row.reviews) {
|
|
181
|
+
lines.push(` Auto review (${formatTime(review.createdAtUtc)}): ${describeReview(review)}`);
|
|
182
|
+
if (review.rationale)
|
|
183
|
+
lines.push(` Rationale: ${review.rationale}`);
|
|
184
|
+
const usage = describeReviewUsage({
|
|
185
|
+
modelName: review.modelName,
|
|
186
|
+
durationMs: review.durationMs,
|
|
187
|
+
inputTokens: review.batchInputTokens,
|
|
188
|
+
outputTokens: review.batchOutputTokens,
|
|
189
|
+
cost: review.batchCost,
|
|
190
|
+
});
|
|
191
|
+
if (usage)
|
|
192
|
+
lines.push(` Batch ${review.batchId ?? "—"}: ${usage}`);
|
|
193
|
+
}
|
|
194
|
+
for (const request of row.requests) {
|
|
195
|
+
lines.push(` Reviewer request, attempt ${request.attempt} (${formatTime(request.createdAtUtc)}): ${describeReviewUsage(request) || "—"}`);
|
|
196
|
+
if (request.error)
|
|
197
|
+
lines.push(` Error: ${request.error}`);
|
|
198
|
+
lines.push(" Prompt:", indent(prettyJson(request.userPrompt), " "));
|
|
199
|
+
lines.push(" Response:", indent(request.response ? prettyJson(request.response) : "(none)", " "));
|
|
200
|
+
}
|
|
201
|
+
if (call.functionArguments) {
|
|
202
|
+
lines.push(` Arguments: ${truncationNote(call.functionArguments, call.argumentsLength) ?? ""}`.trimEnd(), indent(prettyJson(call.functionArguments)));
|
|
203
|
+
}
|
|
204
|
+
if (call.functionError) {
|
|
205
|
+
lines.push(` Error: ${truncationNote(call.functionError, call.errorLength) ?? ""}`.trimEnd(), indent(call.functionError));
|
|
206
|
+
}
|
|
207
|
+
else if (call.functionResult) {
|
|
208
|
+
lines.push(` Result: ${truncationNote(call.functionResult, call.resultLength) ?? ""}`.trimEnd(), indent(prettyJson(call.functionResult)));
|
|
209
|
+
}
|
|
210
|
+
blocks.push(lines.join("\n"));
|
|
211
|
+
}
|
|
212
|
+
const systemPrompt = diagnostics.reviewRequests.find((request) => request.systemPrompt);
|
|
213
|
+
if (systemPrompt?.systemPrompt) {
|
|
214
|
+
blocks.push(`Reviewer system prompt (${systemPrompt.promptVersion ?? "unknown version"}):\n${indent(systemPrompt.systemPrompt, " ")}`);
|
|
215
|
+
}
|
|
216
|
+
return blocks.join("\n\n");
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=toolCallDiagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolCallDiagnostics.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/toolCallDiagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 {};
|