@parhelia/core 0.3.12832 → 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.
Files changed (472) hide show
  1. package/dist/components/emoji/EmojiPicker.d.ts +18 -0
  2. package/dist/components/emoji/EmojiPicker.js +102 -0
  3. package/dist/components/emoji/EmojiPicker.js.map +1 -0
  4. package/dist/components/emoji/EmojiText.d.ts +19 -0
  5. package/dist/components/emoji/EmojiText.js +30 -0
  6. package/dist/components/emoji/EmojiText.js.map +1 -0
  7. package/dist/components/emoji/emojiData.generated.d.ts +2 -0
  8. package/dist/components/emoji/emojiData.generated.js +1878 -0
  9. package/dist/components/emoji/emojiData.generated.js.map +1 -0
  10. package/dist/components/emoji/emojiIndex.d.ts +46 -0
  11. package/dist/components/emoji/emojiIndex.js +173 -0
  12. package/dist/components/emoji/emojiIndex.js.map +1 -0
  13. package/dist/components/emoji/emoticons.d.ts +21 -0
  14. package/dist/components/emoji/emoticons.js +167 -0
  15. package/dist/components/emoji/emoticons.js.map +1 -0
  16. package/dist/components/emoji/textareaInsert.d.ts +19 -0
  17. package/dist/components/emoji/textareaInsert.js +29 -0
  18. package/dist/components/emoji/textareaInsert.js.map +1 -0
  19. package/dist/components/emoji/twemoji.d.ts +30 -0
  20. package/dist/components/emoji/twemoji.js +84 -0
  21. package/dist/components/emoji/twemoji.js.map +1 -0
  22. package/dist/editor/agent-changes/agentChangeTargets.js +6 -0
  23. package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -1
  24. package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +48 -4
  25. package/dist/editor/agent-changes/agentChangeTextHighlight.js +67 -9
  26. package/dist/editor/agent-changes/agentChangeTextHighlight.js.map +1 -1
  27. package/dist/editor/ai/AgentImagePreview.d.ts +13 -0
  28. package/dist/editor/ai/AgentImagePreview.js +41 -0
  29. package/dist/editor/ai/AgentImagePreview.js.map +1 -0
  30. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js +1 -1
  31. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js.map +1 -1
  32. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +1 -2
  33. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -1
  34. package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.d.ts +6 -0
  35. package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.js +61 -0
  36. package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.js.map +1 -0
  37. package/dist/editor/ai/terminal/toolCallDiagnostics.d.ts +34 -0
  38. package/dist/editor/ai/terminal/toolCallDiagnostics.js +218 -0
  39. package/dist/editor/ai/terminal/toolCallDiagnostics.js.map +1 -0
  40. package/dist/editor/bridge/linkDownload.d.ts +3 -0
  41. package/dist/editor/bridge/linkDownload.js +52 -0
  42. package/dist/editor/bridge/linkDownload.js.map +1 -0
  43. package/dist/editor/client/clipboardStorage.d.ts +10 -0
  44. package/dist/editor/client/clipboardStorage.js +57 -0
  45. package/dist/editor/client/clipboardStorage.js.map +1 -0
  46. package/dist/editor/client/hooks/useRepositoryItemRefresh.d.ts +4 -0
  47. package/dist/editor/client/hooks/useRepositoryItemRefresh.js +62 -0
  48. package/dist/editor/client/hooks/useRepositoryItemRefresh.js.map +1 -0
  49. package/dist/editor/client/liveEditState.d.ts +16 -0
  50. package/dist/editor/client/liveEditState.js +25 -0
  51. package/dist/editor/client/liveEditState.js.map +1 -0
  52. package/dist/editor/client/liveSessionState.d.ts +6 -0
  53. package/dist/editor/client/liveSessionState.js +20 -0
  54. package/dist/editor/client/liveSessionState.js.map +1 -0
  55. package/dist/editor/client/valueStore.d.ts +22 -0
  56. package/dist/editor/client/valueStore.js +29 -0
  57. package/dist/editor/client/valueStore.js.map +1 -0
  58. package/dist/editor/commands/componentClipboardCommands.d.ts +35 -0
  59. package/dist/editor/commands/componentClipboardCommands.js +271 -0
  60. package/dist/editor/commands/componentClipboardCommands.js.map +1 -0
  61. package/dist/editor/commands/componentMenuGroups.d.ts +2 -0
  62. package/dist/editor/commands/componentMenuGroups.js +43 -0
  63. package/dist/editor/commands/componentMenuGroups.js.map +1 -0
  64. package/dist/editor/component-conversion/ComponentTypePickerDialog.d.ts +12 -0
  65. package/dist/editor/component-conversion/ComponentTypePickerDialog.js +40 -0
  66. package/dist/editor/component-conversion/ComponentTypePickerDialog.js.map +1 -0
  67. package/dist/editor/component-conversion/ConversionAiDebugButton.d.ts +17 -0
  68. package/dist/editor/component-conversion/ConversionAiDebugButton.js +80 -0
  69. package/dist/editor/component-conversion/ConversionAiDebugButton.js.map +1 -0
  70. package/dist/editor/component-conversion/ConvertComponentDialog.d.ts +28 -0
  71. package/dist/editor/component-conversion/ConvertComponentDialog.js +633 -0
  72. package/dist/editor/component-conversion/ConvertComponentDialog.js.map +1 -0
  73. package/dist/editor/component-conversion/conversionModel.d.ts +109 -0
  74. package/dist/editor/component-conversion/conversionModel.js +519 -0
  75. package/dist/editor/component-conversion/conversionModel.js.map +1 -0
  76. package/dist/editor/component-conversion/conversionService.d.ts +12 -0
  77. package/dist/editor/component-conversion/conversionService.js +16 -0
  78. package/dist/editor/component-conversion/conversionService.js.map +1 -0
  79. package/dist/editor/component-conversion/conversionTypes.d.ts +214 -0
  80. package/dist/editor/component-conversion/conversionTypes.js +2 -0
  81. package/dist/editor/component-conversion/conversionTypes.js.map +1 -0
  82. package/dist/editor/component-conversion/convertComponentsCommand.d.ts +25 -0
  83. package/dist/editor/component-conversion/convertComponentsCommand.js +196 -0
  84. package/dist/editor/component-conversion/convertComponentsCommand.js.map +1 -0
  85. package/dist/editor/field-types/FieldHistoryBoundary.js +28 -7
  86. package/dist/editor/field-types/FieldHistoryBoundary.js.map +1 -1
  87. package/dist/editor/field-types/fieldStyles.d.ts +21 -0
  88. package/dist/editor/field-types/fieldStyles.js +22 -0
  89. package/dist/editor/field-types/fieldStyles.js.map +1 -0
  90. package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +14 -0
  91. package/dist/editor/field-types/richtext/utils/changeHighlight.js +12 -1
  92. package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -1
  93. package/dist/editor/field-types/richtext/utils/spellCheckText.d.ts +31 -0
  94. package/dist/editor/field-types/richtext/utils/spellCheckText.js +82 -0
  95. package/dist/editor/field-types/richtext/utils/spellCheckText.js.map +1 -0
  96. package/dist/editor/field-types/useFocusedFieldInput.d.ts +13 -0
  97. package/dist/editor/field-types/useFocusedFieldInput.js +50 -0
  98. package/dist/editor/field-types/useFocusedFieldInput.js.map +1 -0
  99. package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +43 -0
  100. package/dist/editor/field-types/useFormFieldSelectionRange.js +149 -0
  101. package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -0
  102. package/dist/editor/find-replace/FindReplacePanel.d.ts +11 -0
  103. package/dist/editor/find-replace/FindReplacePanel.js +311 -0
  104. package/dist/editor/find-replace/FindReplacePanel.js.map +1 -0
  105. package/dist/editor/find-replace/findReplaceCommand.d.ts +8 -0
  106. package/dist/editor/find-replace/findReplaceCommand.js +25 -0
  107. package/dist/editor/find-replace/findReplaceCommand.js.map +1 -0
  108. package/dist/editor/find-replace/findReplaceMatches.d.ts +42 -0
  109. package/dist/editor/find-replace/findReplaceMatches.js +66 -0
  110. package/dist/editor/find-replace/findReplaceMatches.js.map +1 -0
  111. package/dist/editor/find-replace/findReplaceStore.d.ts +30 -0
  112. package/dist/editor/find-replace/findReplaceStore.js +61 -0
  113. package/dist/editor/find-replace/findReplaceStore.js.map +1 -0
  114. package/dist/editor/find-replace/findReplaceTargets.d.ts +51 -0
  115. package/dist/editor/find-replace/findReplaceTargets.js +110 -0
  116. package/dist/editor/find-replace/findReplaceTargets.js.map +1 -0
  117. package/dist/editor/find-replace/findReplaceText.d.ts +50 -0
  118. package/dist/editor/find-replace/findReplaceText.js +189 -0
  119. package/dist/editor/find-replace/findReplaceText.js.map +1 -0
  120. package/dist/editor/itemContextMenuGroups.js +10 -1
  121. package/dist/editor/itemContextMenuGroups.js.map +1 -1
  122. package/dist/editor/media-selector/MediaDetailsView.d.ts +14 -0
  123. package/dist/editor/media-selector/MediaDetailsView.js +152 -0
  124. package/dist/editor/media-selector/MediaDetailsView.js.map +1 -0
  125. package/dist/editor/media-selector/useMediaFolderDrag.d.ts +26 -0
  126. package/dist/editor/media-selector/useMediaFolderDrag.js +153 -0
  127. package/dist/editor/media-selector/useMediaFolderDrag.js.map +1 -0
  128. package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.d.ts +11 -0
  129. package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.js +65 -0
  130. package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.js.map +1 -0
  131. package/dist/editor/menubar/toolbar-sections/FindReplaceControls.d.ts +6 -0
  132. package/dist/editor/menubar/toolbar-sections/FindReplaceControls.js +31 -0
  133. package/dist/editor/menubar/toolbar-sections/FindReplaceControls.js.map +1 -0
  134. package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.d.ts +5 -0
  135. package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.js +16 -0
  136. package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.js.map +1 -0
  137. package/dist/editor/mobileBottomPanel.d.ts +40 -0
  138. package/dist/editor/mobileBottomPanel.js +63 -0
  139. package/dist/editor/mobileBottomPanel.js.map +1 -0
  140. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +3 -6
  141. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +8 -6
  142. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -1
  143. package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.d.ts +6 -0
  144. package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.js +100 -0
  145. package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.js.map +1 -0
  146. package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.d.ts +9 -0
  147. package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.js +32 -0
  148. package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.js.map +1 -0
  149. package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.d.ts +14 -0
  150. package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.js +110 -0
  151. package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.js.map +1 -0
  152. package/dist/editor/page-editor-chrome/ConversionIndicators.d.ts +8 -0
  153. package/dist/editor/page-editor-chrome/ConversionIndicators.js +75 -0
  154. package/dist/editor/page-editor-chrome/ConversionIndicators.js.map +1 -0
  155. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +9 -13
  156. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +25 -20
  157. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -1
  158. package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.d.ts +15 -0
  159. package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.js +31 -0
  160. package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.js.map +1 -0
  161. package/dist/editor/page-editor-chrome/FindReplaceHighlightings.d.ts +11 -0
  162. package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js +120 -0
  163. package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js.map +1 -0
  164. package/dist/editor/page-editor-chrome/SpellCheckHighlightings.d.ts +12 -0
  165. package/dist/editor/page-editor-chrome/SpellCheckHighlightings.js +197 -0
  166. package/dist/editor/page-editor-chrome/SpellCheckHighlightings.js.map +1 -0
  167. package/dist/editor/page-editor-chrome/ValidationRulerMarks.d.ts +11 -0
  168. package/dist/editor/page-editor-chrome/ValidationRulerMarks.js +56 -0
  169. package/dist/editor/page-editor-chrome/ValidationRulerMarks.js.map +1 -0
  170. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.d.ts +44 -0
  171. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.js +89 -0
  172. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.js.map +1 -0
  173. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.d.ts +17 -0
  174. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.js +53 -0
  175. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.js.map +1 -0
  176. package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.d.ts +11 -0
  177. package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.js +84 -0
  178. package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.js.map +1 -0
  179. package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.d.ts +34 -0
  180. package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.js +229 -0
  181. package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.js.map +1 -0
  182. package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.d.ts +9 -0
  183. package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.js +34 -0
  184. package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.js.map +1 -0
  185. package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.d.ts +49 -0
  186. package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.js +241 -0
  187. package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.js.map +1 -0
  188. package/dist/editor/page-viewer/CanvasOverviewRuler.d.ts +11 -0
  189. package/dist/editor/page-viewer/CanvasOverviewRuler.js +65 -0
  190. package/dist/editor/page-viewer/CanvasOverviewRuler.js.map +1 -0
  191. package/dist/editor/page-viewer/DynamicRenderingsBar.d.ts +23 -0
  192. package/dist/editor/page-viewer/DynamicRenderingsBar.js +28 -0
  193. package/dist/editor/page-viewer/DynamicRenderingsBar.js.map +1 -0
  194. package/dist/editor/page-viewer/DynamicRenderingsStrip.d.ts +18 -0
  195. package/dist/editor/page-viewer/DynamicRenderingsStrip.js +29 -0
  196. package/dist/editor/page-viewer/DynamicRenderingsStrip.js.map +1 -0
  197. package/dist/editor/page-viewer/FeedbackMargin.d.ts +57 -0
  198. package/dist/editor/page-viewer/FeedbackMargin.js +377 -0
  199. package/dist/editor/page-viewer/FeedbackMargin.js.map +1 -0
  200. package/dist/editor/page-viewer/FeedbackMarginController.d.ts +76 -0
  201. package/dist/editor/page-viewer/FeedbackMarginController.js +241 -0
  202. package/dist/editor/page-viewer/FeedbackMarginController.js.map +1 -0
  203. package/dist/editor/page-viewer/FeedbackMarginMarker.d.ts +16 -0
  204. package/dist/editor/page-viewer/FeedbackMarginMarker.js +24 -0
  205. package/dist/editor/page-viewer/FeedbackMarginMarker.js.map +1 -0
  206. package/dist/editor/page-viewer/FeedbackMarginResizeHandle.d.ts +23 -0
  207. package/dist/editor/page-viewer/FeedbackMarginResizeHandle.js +105 -0
  208. package/dist/editor/page-viewer/FeedbackMarginResizeHandle.js.map +1 -0
  209. package/dist/editor/page-viewer/InteractivePreviewBar.d.ts +24 -0
  210. package/dist/editor/page-viewer/InteractivePreviewBar.js +31 -0
  211. package/dist/editor/page-viewer/InteractivePreviewBar.js.map +1 -0
  212. package/dist/editor/page-viewer/MobileCommentsPanel.d.ts +16 -0
  213. package/dist/editor/page-viewer/MobileCommentsPanel.js +112 -0
  214. package/dist/editor/page-viewer/MobileCommentsPanel.js.map +1 -0
  215. package/dist/editor/page-viewer/RenderingAiCheck.d.ts +18 -0
  216. package/dist/editor/page-viewer/RenderingAiCheck.js +45 -0
  217. package/dist/editor/page-viewer/RenderingAiCheck.js.map +1 -0
  218. package/dist/editor/page-viewer/RenderingApprovalDialog.d.ts +32 -0
  219. package/dist/editor/page-viewer/RenderingApprovalDialog.js +191 -0
  220. package/dist/editor/page-viewer/RenderingApprovalDialog.js.map +1 -0
  221. package/dist/editor/page-viewer/SealedClientCodePreview.d.ts +17 -0
  222. package/dist/editor/page-viewer/SealedClientCodePreview.js +38 -0
  223. package/dist/editor/page-viewer/SealedClientCodePreview.js.map +1 -0
  224. package/dist/editor/page-viewer/canvasFrameNavigation.d.ts +18 -0
  225. package/dist/editor/page-viewer/canvasFrameNavigation.js +36 -0
  226. package/dist/editor/page-viewer/canvasFrameNavigation.js.map +1 -0
  227. package/dist/editor/page-viewer/canvasLoadSettling.d.ts +42 -0
  228. package/dist/editor/page-viewer/canvasLoadSettling.js +46 -0
  229. package/dist/editor/page-viewer/canvasLoadSettling.js.map +1 -0
  230. package/dist/editor/page-viewer/canvasScrollHandoff.d.ts +34 -0
  231. package/dist/editor/page-viewer/canvasScrollHandoff.js +55 -0
  232. package/dist/editor/page-viewer/canvasScrollHandoff.js.map +1 -0
  233. package/dist/editor/page-viewer/compareFrameWidth.d.ts +8 -0
  234. package/dist/editor/page-viewer/compareFrameWidth.js +25 -0
  235. package/dist/editor/page-viewer/compareFrameWidth.js.map +1 -0
  236. package/dist/editor/page-viewer/feedbackMarginLayout.d.ts +119 -0
  237. package/dist/editor/page-viewer/feedbackMarginLayout.js +155 -0
  238. package/dist/editor/page-viewer/feedbackMarginLayout.js.map +1 -0
  239. package/dist/editor/page-viewer/feedbackMarginSources.d.ts +36 -0
  240. package/dist/editor/page-viewer/feedbackMarginSources.js +196 -0
  241. package/dist/editor/page-viewer/feedbackMarginSources.js.map +1 -0
  242. package/dist/editor/page-viewer/feedbackMarginWidth.d.ts +43 -0
  243. package/dist/editor/page-viewer/feedbackMarginWidth.js +107 -0
  244. package/dist/editor/page-viewer/feedbackMarginWidth.js.map +1 -0
  245. package/dist/editor/page-viewer/interactivePreview.d.ts +168 -0
  246. package/dist/editor/page-viewer/interactivePreview.js +344 -0
  247. package/dist/editor/page-viewer/interactivePreview.js.map +1 -0
  248. package/dist/editor/page-viewer/minimapViewport.d.ts +2 -0
  249. package/dist/editor/page-viewer/minimapViewport.js +34 -0
  250. package/dist/editor/page-viewer/minimapViewport.js.map +1 -0
  251. package/dist/editor/page-viewer/openPageItems.d.ts +29 -0
  252. package/dist/editor/page-viewer/openPageItems.js +73 -0
  253. package/dist/editor/page-viewer/openPageItems.js.map +1 -0
  254. package/dist/editor/page-viewer/overviewRuler.d.ts +128 -0
  255. package/dist/editor/page-viewer/overviewRuler.js +226 -0
  256. package/dist/editor/page-viewer/overviewRuler.js.map +1 -0
  257. package/dist/editor/page-viewer/renderingApproval.d.ts +59 -0
  258. package/dist/editor/page-viewer/renderingApproval.js +186 -0
  259. package/dist/editor/page-viewer/renderingApproval.js.map +1 -0
  260. package/dist/editor/page-viewer/renderingChanges.d.ts +29 -0
  261. package/dist/editor/page-viewer/renderingChanges.js +40 -0
  262. package/dist/editor/page-viewer/renderingChanges.js.map +1 -0
  263. package/dist/editor/page-viewer/scrollIntoViewTextRanges.d.ts +23 -0
  264. package/dist/editor/page-viewer/scrollIntoViewTextRanges.js +26 -0
  265. package/dist/editor/page-viewer/scrollIntoViewTextRanges.js.map +1 -0
  266. package/dist/editor/page-viewer/useInteractivePreview.d.ts +77 -0
  267. package/dist/editor/page-viewer/useInteractivePreview.js +210 -0
  268. package/dist/editor/page-viewer/useInteractivePreview.js.map +1 -0
  269. package/dist/editor/reviews/CollapsibleText.d.ts +13 -0
  270. package/dist/editor/reviews/CollapsibleText.js +41 -0
  271. package/dist/editor/reviews/CollapsibleText.js.map +1 -0
  272. package/dist/editor/reviews/CommentImageAttachments.d.ts +12 -0
  273. package/dist/editor/reviews/CommentImageAttachments.js +19 -0
  274. package/dist/editor/reviews/CommentImageAttachments.js.map +1 -0
  275. package/dist/editor/reviews/CommentQuote.d.ts +13 -0
  276. package/dist/editor/reviews/CommentQuote.js +35 -0
  277. package/dist/editor/reviews/CommentQuote.js.map +1 -0
  278. package/dist/editor/reviews/CommentTargetOutline.d.ts +13 -0
  279. package/dist/editor/reviews/CommentTargetOutline.js +21 -0
  280. package/dist/editor/reviews/CommentTargetOutline.js.map +1 -0
  281. package/dist/editor/reviews/CommentTargetPickerDomLayer.d.ts +7 -0
  282. package/dist/editor/reviews/CommentTargetPickerDomLayer.js +117 -0
  283. package/dist/editor/reviews/CommentTargetPickerDomLayer.js.map +1 -0
  284. package/dist/editor/reviews/CommentThreadAgentLink.d.ts +28 -0
  285. package/dist/editor/reviews/CommentThreadAgentLink.js +37 -0
  286. package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -0
  287. package/dist/editor/reviews/CommentThreadCard.d.ts +34 -0
  288. package/dist/editor/reviews/CommentThreadCard.js +156 -0
  289. package/dist/editor/reviews/CommentThreadCard.js.map +1 -0
  290. package/dist/editor/reviews/SuggestionThreadCard.d.ts +19 -0
  291. package/dist/editor/reviews/SuggestionThreadCard.js +25 -0
  292. package/dist/editor/reviews/SuggestionThreadCard.js.map +1 -0
  293. package/dist/editor/reviews/addCommentOnTarget.d.ts +22 -0
  294. package/dist/editor/reviews/addCommentOnTarget.js +32 -0
  295. package/dist/editor/reviews/addCommentOnTarget.js.map +1 -0
  296. package/dist/editor/reviews/balloonLayout.d.ts +51 -0
  297. package/dist/editor/reviews/balloonLayout.js +101 -0
  298. package/dist/editor/reviews/balloonLayout.js.map +1 -0
  299. package/dist/editor/reviews/commentAgentAttachments.d.ts +5 -0
  300. package/dist/editor/reviews/commentAgentAttachments.js +51 -0
  301. package/dist/editor/reviews/commentAgentAttachments.js.map +1 -0
  302. package/dist/editor/reviews/commentImages.d.ts +48 -0
  303. package/dist/editor/reviews/commentImages.js +128 -0
  304. package/dist/editor/reviews/commentImages.js.map +1 -0
  305. package/dist/editor/reviews/commentTargetPicker.d.ts +114 -0
  306. package/dist/editor/reviews/commentTargetPicker.js +153 -0
  307. package/dist/editor/reviews/commentTargetPicker.js.map +1 -0
  308. package/dist/editor/reviews/feedbackBalloonDate.d.ts +8 -0
  309. package/dist/editor/reviews/feedbackBalloonDate.js +22 -0
  310. package/dist/editor/reviews/feedbackBalloonDate.js.map +1 -0
  311. package/dist/editor/reviews/feedbackDrafts.d.ts +49 -0
  312. package/dist/editor/reviews/feedbackDrafts.js +74 -0
  313. package/dist/editor/reviews/feedbackDrafts.js.map +1 -0
  314. package/dist/editor/reviews/feedbackHoverState.d.ts +18 -0
  315. package/dist/editor/reviews/feedbackHoverState.js +35 -0
  316. package/dist/editor/reviews/feedbackHoverState.js.map +1 -0
  317. package/dist/editor/reviews/feedbackPersonFilter.d.ts +3 -0
  318. package/dist/editor/reviews/feedbackPersonFilter.js +32 -0
  319. package/dist/editor/reviews/feedbackPersonFilter.js.map +1 -0
  320. package/dist/editor/reviews/feedbackThreadSelection.d.ts +10 -0
  321. package/dist/editor/reviews/feedbackThreadSelection.js +31 -0
  322. package/dist/editor/reviews/feedbackThreadSelection.js.map +1 -0
  323. package/dist/editor/reviews/feedbackThreads.d.ts +50 -0
  324. package/dist/editor/reviews/feedbackThreads.js +135 -0
  325. package/dist/editor/reviews/feedbackThreads.js.map +1 -0
  326. package/dist/editor/reviews/feedbackWheelForwarding.d.ts +34 -0
  327. package/dist/editor/reviews/feedbackWheelForwarding.js +108 -0
  328. package/dist/editor/reviews/feedbackWheelForwarding.js.map +1 -0
  329. package/dist/editor/reviews/reviewUrlScope.d.ts +23 -0
  330. package/dist/editor/reviews/reviewUrlScope.js +86 -0
  331. package/dist/editor/reviews/reviewUrlScope.js.map +1 -0
  332. package/dist/editor/reviews/scrollWithin.d.ts +29 -0
  333. package/dist/editor/reviews/scrollWithin.js +87 -0
  334. package/dist/editor/reviews/scrollWithin.js.map +1 -0
  335. package/dist/editor/reviews/subtreeFeedback.d.ts +57 -0
  336. package/dist/editor/reviews/subtreeFeedback.js +137 -0
  337. package/dist/editor/reviews/subtreeFeedback.js.map +1 -0
  338. package/dist/editor/reviews/useCommentImagePaste.d.ts +80 -0
  339. package/dist/editor/reviews/useCommentImagePaste.js +252 -0
  340. package/dist/editor/reviews/useCommentImagePaste.js.map +1 -0
  341. package/dist/editor/reviews/useFeedbackThreads.d.ts +35 -0
  342. package/dist/editor/reviews/useFeedbackThreads.js +137 -0
  343. package/dist/editor/reviews/useFeedbackThreads.js.map +1 -0
  344. package/dist/editor/reviews/useMeasuredHeights.d.ts +25 -0
  345. package/dist/editor/reviews/useMeasuredHeights.js +176 -0
  346. package/dist/editor/reviews/useMeasuredHeights.js.map +1 -0
  347. package/dist/editor/reviews/usePendingFeedbackFocus.d.ts +7 -0
  348. package/dist/editor/reviews/usePendingFeedbackFocus.js +42 -0
  349. package/dist/editor/reviews/usePendingFeedbackFocus.js.map +1 -0
  350. package/dist/editor/services/mcpAccessService.d.ts +93 -0
  351. package/dist/editor/services/mcpAccessService.js +41 -0
  352. package/dist/editor/services/mcpAccessService.js.map +1 -0
  353. package/dist/editor/services/previewTokenService.d.ts +14 -0
  354. package/dist/editor/services/previewTokenService.js +34 -0
  355. package/dist/editor/services/previewTokenService.js.map +1 -0
  356. package/dist/editor/services/renderingsService.d.ts +117 -0
  357. package/dist/editor/services/renderingsService.js +245 -0
  358. package/dist/editor/services/renderingsService.js.map +1 -0
  359. package/dist/editor/services/spellCheckService.d.ts +13 -0
  360. package/dist/editor/services/spellCheckService.js +33 -0
  361. package/dist/editor/services/spellCheckService.js.map +1 -0
  362. package/dist/editor/settings/panels/McpAccessPanel.d.ts +7 -0
  363. package/dist/editor/settings/panels/McpAccessPanel.js +95 -0
  364. package/dist/editor/settings/panels/McpAccessPanel.js.map +1 -0
  365. package/dist/editor/settings/panels/McpAccessSettingsView.d.ts +8 -0
  366. package/dist/editor/settings/panels/McpAccessSettingsView.js +221 -0
  367. package/dist/editor/settings/panels/McpAccessSettingsView.js.map +1 -0
  368. package/dist/editor/settings/panels/SpellCheckPanel.d.ts +8 -0
  369. package/dist/editor/settings/panels/SpellCheckPanel.js +253 -0
  370. package/dist/editor/settings/panels/SpellCheckPanel.js.map +1 -0
  371. package/dist/editor/sidebar/FeedbackSidebar.d.ts +7 -0
  372. package/dist/editor/sidebar/FeedbackSidebar.js +300 -0
  373. package/dist/editor/sidebar/FeedbackSidebar.js.map +1 -0
  374. package/dist/editor/sidebar/OperationDetailsContent.js +50 -0
  375. package/dist/editor/sidebar/OperationDetailsContent.js.map +1 -1
  376. package/dist/editor/sidebar/liveComponentThumbnails.d.ts +19 -6
  377. package/dist/editor/sidebar/liveComponentThumbnails.js +39 -18
  378. package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -1
  379. package/dist/editor/spellcheck/canvasSpellCheckContextMenu.d.ts +30 -0
  380. package/dist/editor/spellcheck/canvasSpellCheckContextMenu.js +69 -0
  381. package/dist/editor/spellcheck/canvasSpellCheckContextMenu.js.map +1 -0
  382. package/dist/editor/spellcheck/htmlSpellDocument.d.ts +60 -0
  383. package/dist/editor/spellcheck/htmlSpellDocument.js +181 -0
  384. package/dist/editor/spellcheck/htmlSpellDocument.js.map +1 -0
  385. package/dist/editor/spellcheck/htmlSpellTokenizer.d.ts +45 -0
  386. package/dist/editor/spellcheck/htmlSpellTokenizer.js +277 -0
  387. package/dist/editor/spellcheck/htmlSpellTokenizer.js.map +1 -0
  388. package/dist/editor/spellcheck/replacementGuard.d.ts +27 -0
  389. package/dist/editor/spellcheck/replacementGuard.js +29 -0
  390. package/dist/editor/spellcheck/replacementGuard.js.map +1 -0
  391. package/dist/editor/spellcheck/spellCheckCanvasStore.d.ts +17 -0
  392. package/dist/editor/spellcheck/spellCheckCanvasStore.js +37 -0
  393. package/dist/editor/spellcheck/spellCheckCanvasStore.js.map +1 -0
  394. package/dist/editor/spellcheck/spellCheckCanvasTargets.d.ts +71 -0
  395. package/dist/editor/spellcheck/spellCheckCanvasTargets.js +126 -0
  396. package/dist/editor/spellcheck/spellCheckCanvasTargets.js.map +1 -0
  397. package/dist/editor/spellcheck/spellCheckClient.d.ts +66 -0
  398. package/dist/editor/spellcheck/spellCheckClient.js +0 -0
  399. package/dist/editor/spellcheck/spellCheckClient.js.map +1 -0
  400. package/dist/editor/spellcheck/spellCheckContextMenu.d.ts +52 -0
  401. package/dist/editor/spellcheck/spellCheckContextMenu.js +120 -0
  402. package/dist/editor/spellcheck/spellCheckContextMenu.js.map +1 -0
  403. package/dist/editor/spellcheck/spellCheckReplace.d.ts +8 -0
  404. package/dist/editor/spellcheck/spellCheckReplace.js +20 -0
  405. package/dist/editor/spellcheck/spellCheckReplace.js.map +1 -0
  406. package/dist/editor/spellcheck/spellCheckStyles.d.ts +11 -0
  407. package/dist/editor/spellcheck/spellCheckStyles.js +12 -0
  408. package/dist/editor/spellcheck/spellCheckStyles.js.map +1 -0
  409. package/dist/editor/spellcheck/spellCheckTypes.d.ts +94 -0
  410. package/dist/editor/spellcheck/spellCheckTypes.js +2 -0
  411. package/dist/editor/spellcheck/spellCheckTypes.js.map +1 -0
  412. package/dist/editor/spellcheck/textMarkHitTest.d.ts +14 -0
  413. package/dist/editor/spellcheck/textMarkHitTest.js +39 -0
  414. package/dist/editor/spellcheck/textMarkHitTest.js.map +1 -0
  415. package/dist/editor/spellcheck/useSpellCheck.d.ts +16 -0
  416. package/dist/editor/spellcheck/useSpellCheck.js +57 -0
  417. package/dist/editor/spellcheck/useSpellCheck.js.map +1 -0
  418. package/dist/editor/ui/DynamicRenderingsPublishWarning.d.ts +14 -0
  419. package/dist/editor/ui/DynamicRenderingsPublishWarning.js +40 -0
  420. package/dist/editor/ui/DynamicRenderingsPublishWarning.js.map +1 -0
  421. package/dist/editor/ui/ParheliaMark.d.ts +15 -0
  422. package/dist/editor/ui/ParheliaMark.js +12 -0
  423. package/dist/editor/ui/ParheliaMark.js.map +1 -0
  424. package/dist/editor/ui/RootItemPicker.d.ts +18 -0
  425. package/dist/editor/ui/RootItemPicker.js +112 -0
  426. package/dist/editor/ui/RootItemPicker.js.map +1 -0
  427. package/dist/editor/undoEligibility.d.ts +2 -0
  428. package/dist/editor/undoEligibility.js +8 -0
  429. package/dist/editor/undoEligibility.js.map +1 -0
  430. package/dist/editor/utils/dataTransferImages.d.ts +7 -0
  431. package/dist/editor/utils/dataTransferImages.js +43 -0
  432. package/dist/editor/utils/dataTransferImages.js.map +1 -0
  433. package/dist/editor/validation/navigateToValidationIssue.d.ts +2 -2
  434. package/dist/editor/validation/navigateToValidationIssue.js +1 -1
  435. package/dist/editor/validation/navigateToValidationIssue.js.map +1 -1
  436. package/dist/editor/validation/validationRulerIssues.d.ts +17 -0
  437. package/dist/editor/validation/validationRulerIssues.js +44 -0
  438. package/dist/editor/validation/validationRulerIssues.js.map +1 -0
  439. package/dist/revision.d.ts +2 -2
  440. package/dist/revision.js +2 -2
  441. package/dist/task-board/components/AttentionPromptDialog.d.ts +13 -0
  442. package/dist/task-board/components/AttentionPromptDialog.js +45 -0
  443. package/dist/task-board/components/AttentionPromptDialog.js.map +1 -0
  444. package/dist/task-board/components/GoalFindingsTable.d.ts +43 -0
  445. package/dist/task-board/components/GoalFindingsTable.js +160 -0
  446. package/dist/task-board/components/GoalFindingsTable.js.map +1 -0
  447. package/dist/task-board/components/IssuePanel.d.ts +31 -0
  448. package/dist/task-board/components/IssuePanel.js +268 -0
  449. package/dist/task-board/components/IssuePanel.js.map +1 -0
  450. package/dist/task-board/components/SubgoalFindings.d.ts +40 -0
  451. package/dist/task-board/components/SubgoalFindings.js +88 -0
  452. package/dist/task-board/components/SubgoalFindings.js.map +1 -0
  453. package/dist/task-board/services/issueService.d.ts +193 -0
  454. package/dist/task-board/services/issueService.js +97 -0
  455. package/dist/task-board/services/issueService.js.map +1 -0
  456. package/dist/task-board/taskBlockers.d.ts +10 -0
  457. package/dist/task-board/taskBlockers.js +66 -0
  458. package/dist/task-board/taskBlockers.js.map +1 -0
  459. package/dist/task-board/utils/projectDashboardModel.js +14 -0
  460. package/dist/task-board/utils/projectDashboardModel.js.map +1 -1
  461. package/dist/task-board/views/ProjectDashboardView.js +5 -13
  462. package/dist/task-board/views/ProjectDashboardView.js.map +1 -1
  463. package/dist/tour/sandbox-tour-copy.d.ts +8 -0
  464. package/dist/tour/sandbox-tour-copy.js +8 -0
  465. package/dist/tour/sandbox-tour-copy.js.map +1 -1
  466. package/dist/tour/sandbox-tour.d.ts +3 -0
  467. package/dist/tour/sandbox-tour.js +107 -3
  468. package/dist/tour/sandbox-tour.js.map +1 -1
  469. package/package.json +1 -1
  470. package/dist/editor/page-editor-chrome/bridgeLinkValue.d.ts +0 -10
  471. package/dist/editor/page-editor-chrome/bridgeLinkValue.js +0 -55
  472. package/dist/editor/page-editor-chrome/bridgeLinkValue.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agentChangeTargets.js","sourceRoot":"","sources":["../../../src/editor/agent-changes/agentChangeTargets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentChangeTargets.js","sourceRoot":"","sources":["../../../src/editor/agent-changes/agentChangeTargets.ts"],"names":[],"mappings":"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"}
@@ -38,19 +38,63 @@ type TextSegment = {
38
38
  };
39
39
  /** Splits `text` into unchanged / added runs following `ranges` (sorted, disjoint). */
40
40
  export declare function splitTextByRanges(text: string, ranges: DiffRange[]): TextSegment[];
41
+ /** One kind of mark painted by {@link TextMarkBackdrop}. */
42
+ export type TextMarkLayer = {
43
+ /** [start, end) offsets into the text; may overlap other layers' ranges. */
44
+ ranges: readonly {
45
+ start: number;
46
+ end: number;
47
+ }[];
48
+ className: string;
49
+ /** `data-testid` of every mark span of this layer. */
50
+ markTestId?: string;
51
+ /** Boolean data attribute (`data-misspelled`) set on every mark span of this layer. */
52
+ dataAttribute?: string;
53
+ };
54
+ export type TextMarkSegment = {
55
+ text: string;
56
+ start: number;
57
+ end: number;
58
+ /** Indexes into the layers array of every layer covering this segment. */
59
+ layers: number[];
60
+ };
41
61
  /**
42
- * Highlight layer for `<input>` / `<textarea>` editors, whose values are not
43
- * DOM text and cannot be marked directly. It sits behind the (then
44
- * transparent) control, mirrors its text metrics, and paints the added runs;
62
+ * Splits `text` at every layer boundary so each segment carries the set of
63
+ * layers covering it. Overlapping layers are supported (a word can be both
64
+ * agent-added and misspelled).
65
+ */
66
+ export declare function splitTextByLayers(text: string, layers: readonly TextMarkLayer[]): TextMarkSegment[];
67
+ /**
68
+ * Mark layer for `<input>` / `<textarea>` editors, whose values are not DOM
69
+ * text and cannot be marked directly. It sits behind the (then transparent)
70
+ * control, mirrors its text metrics, and paints the runs of every layer;
45
71
  * scrolling and the textarea's scrollbar width are kept in sync so the marks
46
72
  * stay under the glyphs they belong to.
47
73
  *
48
74
  * `className` must repeat the control's padding and font classes.
49
75
  */
50
- export declare function AgentChangeTextBackdrop({ text, highlight, inputRef, className, multiline, }: {
76
+ export declare function TextMarkBackdrop({ text, layers, wholeField, inputRef, mirrorRef: externalMirrorRef, className, multiline, testId, }: {
77
+ text: string;
78
+ layers: readonly TextMarkLayer[];
79
+ /** Dashed whole-field outline (agent change without added text). */
80
+ wholeField?: boolean;
81
+ inputRef: RefObject<HTMLInputElement | HTMLTextAreaElement | null>;
82
+ /** Receives the mirror element, for hit testing marks under a pointer. */
83
+ mirrorRef?: RefObject<HTMLDivElement | null>;
84
+ className?: string;
85
+ multiline?: boolean;
86
+ testId?: string;
87
+ }): import("react").JSX.Element;
88
+ /**
89
+ * Agent-change mark layer over {@link TextMarkBackdrop}: the added runs in
90
+ * green plus, via `extraLayers`, any further marks the field shows (spelling).
91
+ */
92
+ export declare function AgentChangeTextBackdrop({ text, highlight, extraLayers, inputRef, mirrorRef, className, multiline, }: {
51
93
  text: string;
52
94
  highlight: AgentTextHighlight;
95
+ extraLayers?: readonly TextMarkLayer[];
53
96
  inputRef: RefObject<HTMLInputElement | HTMLTextAreaElement | null>;
97
+ mirrorRef?: RefObject<HTMLDivElement | null>;
54
98
  className?: string;
55
99
  multiline?: boolean;
56
100
  }): import("react").JSX.Element;
@@ -64,16 +64,46 @@ export function splitTextByRanges(text, ranges) {
64
64
  return segments;
65
65
  }
66
66
  /**
67
- * Highlight layer for `<input>` / `<textarea>` editors, whose values are not
68
- * DOM text and cannot be marked directly. It sits behind the (then
69
- * transparent) control, mirrors its text metrics, and paints the added runs;
67
+ * Splits `text` at every layer boundary so each segment carries the set of
68
+ * layers covering it. Overlapping layers are supported (a word can be both
69
+ * agent-added and misspelled).
70
+ */
71
+ export function splitTextByLayers(text, layers) {
72
+ const boundaries = new Set([0, text.length]);
73
+ layers.forEach((layer) => layer.ranges.forEach((range) => {
74
+ boundaries.add(Math.max(0, Math.min(range.start, text.length)));
75
+ boundaries.add(Math.max(0, Math.min(range.end, text.length)));
76
+ }));
77
+ const points = Array.from(boundaries).sort((a, b) => a - b);
78
+ const segments = [];
79
+ let previous;
80
+ for (const end of points) {
81
+ const start = previous;
82
+ previous = end;
83
+ if (start === undefined || end <= start)
84
+ continue;
85
+ const covering = [];
86
+ layers.forEach((layer, layerIndex) => {
87
+ if (layer.ranges.some((range) => range.start <= start && end <= range.end)) {
88
+ covering.push(layerIndex);
89
+ }
90
+ });
91
+ segments.push({ text: text.slice(start, end), start, end, layers: covering });
92
+ }
93
+ return segments;
94
+ }
95
+ /**
96
+ * Mark layer for `<input>` / `<textarea>` editors, whose values are not DOM
97
+ * text and cannot be marked directly. It sits behind the (then transparent)
98
+ * control, mirrors its text metrics, and paints the runs of every layer;
70
99
  * scrolling and the textarea's scrollbar width are kept in sync so the marks
71
100
  * stay under the glyphs they belong to.
72
101
  *
73
102
  * `className` must repeat the control's padding and font classes.
74
103
  */
75
- export function AgentChangeTextBackdrop({ text, highlight, inputRef, className, multiline = false, }) {
76
- const mirrorRef = useRef(null);
104
+ export function TextMarkBackdrop({ text, layers, wholeField = false, inputRef, mirrorRef: externalMirrorRef, className, multiline = false, testId = "text-mark-backdrop", }) {
105
+ const ownMirrorRef = useRef(null);
106
+ const mirrorRef = externalMirrorRef ?? ownMirrorRef;
77
107
  useEffect(() => {
78
108
  const input = inputRef.current;
79
109
  const mirror = mirrorRef.current;
@@ -95,11 +125,39 @@ export function AgentChangeTextBackdrop({ text, highlight, inputRef, className,
95
125
  input.removeEventListener("scroll", sync);
96
126
  observer?.disconnect();
97
127
  };
98
- }, [inputRef, text]);
99
- const segments = useMemo(() => splitTextByRanges(text, highlight.ranges), [text, highlight.ranges]);
100
- return (_jsx("div", { ref: mirrorRef, "aria-hidden": true, "data-testid": "agent-change-text-backdrop", "data-whole-field": highlight.wholeField ? "true" : undefined, className: cn("bg-neutral-grey-5 pointer-events-none absolute inset-0 overflow-hidden rounded-[4px] border border-transparent text-transparent select-none", multiline
128
+ }, [inputRef, mirrorRef, text]);
129
+ const segments = useMemo(() => splitTextByLayers(text, layers), [text, layers]);
130
+ return (_jsx("div", { ref: mirrorRef, "aria-hidden": true, "data-testid": testId, "data-whole-field": wholeField ? "true" : undefined, className: cn("bg-neutral-grey-5 pointer-events-none absolute inset-0 overflow-hidden rounded-[4px] border border-transparent text-transparent select-none", multiline
101
131
  ? "break-words whitespace-pre-wrap"
102
- : "flex items-center whitespace-pre", highlight.wholeField && agentWholeFieldClass, className), children: _jsxs("span", { className: cn(!multiline && "min-w-0 shrink-0"), children: [segments.map((segment, index) => segment.added ? (_jsx("span", { className: agentAddedTextClass, "data-testid": "agent-change-text-mark", children: segment.text }, index)) : (_jsx("span", { children: segment.text }, index))), multiline && text.endsWith("\n") ? "​" : null] }) }));
132
+ : "flex items-center whitespace-pre", wholeField && agentWholeFieldClass, className), children: _jsxs("span", { className: cn(!multiline && "min-w-0 shrink-0"), children: [segments.map((segment, index) => {
133
+ if (segment.layers.length === 0) {
134
+ return _jsx("span", { children: segment.text }, index);
135
+ }
136
+ const covering = segment.layers
137
+ .map((layerIndex) => layers[layerIndex])
138
+ .filter((layer) => layer !== undefined);
139
+ const attributes = {};
140
+ covering.forEach((layer) => {
141
+ if (layer.dataAttribute)
142
+ attributes[layer.dataAttribute] = "true";
143
+ });
144
+ return (_jsx("span", { className: cn(...covering.map((layer) => layer.className)), "data-testid": covering.map((layer) => layer.markTestId).filter(Boolean).join(" ") || undefined, "data-start": segment.start, "data-end": segment.end, ...attributes, children: segment.text }, index));
145
+ }), multiline && text.endsWith("\n") ? "​" : null] }) }));
146
+ }
147
+ /**
148
+ * Agent-change mark layer over {@link TextMarkBackdrop}: the added runs in
149
+ * green plus, via `extraLayers`, any further marks the field shows (spelling).
150
+ */
151
+ export function AgentChangeTextBackdrop({ text, highlight, extraLayers, inputRef, mirrorRef, className, multiline = false, }) {
152
+ const layers = useMemo(() => [
153
+ {
154
+ ranges: highlight.ranges,
155
+ className: agentAddedTextClass,
156
+ markTestId: "agent-change-text-mark",
157
+ },
158
+ ...(extraLayers ?? []),
159
+ ], [highlight.ranges, extraLayers]);
160
+ return (_jsx(TextMarkBackdrop, { text: text, layers: layers, wholeField: highlight.wholeField, inputRef: inputRef, mirrorRef: mirrorRef, className: className, multiline: multiline, testId: "agent-change-text-backdrop" }));
103
161
  }
104
162
  function horizontalBorder(element) {
105
163
  const style = getComputedStyle(element);
@@ -1 +1 @@
1
- {"version":3,"file":"agentChangeTextHighlight.js","sourceRoot":"","sources":["../../../src/editor/agent-changes/agentChangeTextHighlight.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EACL,qBAAqB,EACrB,SAAS,GAEV,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAgB9B,oEAAoE;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,iCAAiC,CAAC;AAErE,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAC/B,0EAA0E,CAAC;AAE7E;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAuC;IAEvC,MAAM,UAAU,GAAG,cAAc,EAAE,EAAE,uBAAuB,EAAE,UAAU,CAAC;IACzE,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;YAAE,OAAO,SAAS,CAAC;QAC3D,OAAO,wBAAwB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC1D,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC,CAC5C,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAoC,EACpC,WAAmB,EACnB,cAAc,GAAqB,OAAO;IAE1C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,YAAY,GAChB,cAAc,KAAK,MAAM;QACvB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;IAC3B,OAAO,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,YAAoB,EACpB,WAAmB;IAEnB,IAAI,YAAY,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,MAAM,GAAG,qBAAqB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC;IACtE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;AACrD,CAAC;AAID,uFAAuF;AACvF,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,MAAmB;IAEnB,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,QAAQ,GAAG,GAAG,CAAC;IACjB,CAAC;IACD,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,EACtC,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,GAAG,KAAK,GAOlB;IACC,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO;QAE9B,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,yEAAyE;YACzE,+CAA+C;YAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,CAAC,EACD,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAChE,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,cAAc,IAAI,CAAC;YAC3C,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YACnC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACvC,CAAC,CAAC;QAEF,IAAI,EAAE,CAAC;QACP,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,QAAQ,GACZ,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1E,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1C,QAAQ,EAAE,UAAU,EAAE,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,EAC/C,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CACzB,CAAC;IAEF,OAAO,CACL,cACE,GAAG,EAAE,SAAS,sCAEF,4BAA4B,sBACtB,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC3D,SAAS,EAAE,EAAE,CACX,6IAA6I,EAC7I,SAAS;YACP,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,kCAAkC,EACtC,SAAS,CAAC,UAAU,IAAI,oBAAoB,EAC5C,SAAS,CACV,YAED,gBAAM,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,kBAAkB,CAAC,aAClD,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAC/B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CACd,eAEE,SAAS,EAAE,mBAAmB,iBAClB,wBAAwB,YAEnC,OAAO,CAAC,IAAI,IAJR,KAAK,CAKL,CACR,CAAC,CAAC,CAAC,CACF,yBAAmB,OAAO,CAAC,IAAI,IAApB,KAAK,CAAuB,CACxC,CACF,EAEA,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IACzC,GACH,CACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAoB;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CACL,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAC1C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"agentChangeTextHighlight.js","sourceRoot":"","sources":["../../../src/editor/agent-changes/agentChangeTextHighlight.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type ReactElement } from "react";
2
+ /** A shared viewer with a caller-supplied thumbnail button. */
3
+ export declare function AgentImagePreview({ src, alt, fileName, contentClassName, overlayClassName, portalContainer, children, }: {
4
+ src: string;
5
+ alt: string;
6
+ fileName?: string;
7
+ /** Extra classes for the dialog content, e.g. a higher z-index when opened from a popover. */
8
+ contentClassName?: string;
9
+ overlayClassName?: string;
10
+ /** Where the dialog portals to; defaults to the app container. */
11
+ portalContainer?: HTMLElement | null;
12
+ children: ReactElement;
13
+ }): import("react").JSX.Element;
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef, useState } from "react";
3
+ import { Button } from "../../components/ui/button";
4
+ import { Dialog, DialogContent, DialogTitle, DialogTrigger, } from "../../components/ui/dialog";
5
+ import { cn } from "../../lib/utils";
6
+ /** A shared viewer with a caller-supplied thumbnail button. */
7
+ export function AgentImagePreview({ src, alt, fileName, contentClassName, overlayClassName, portalContainer, children, }) {
8
+ const [open, setOpen] = useState(false);
9
+ const [actualSize, setActualSize] = useState(false);
10
+ const [naturalSize, setNaturalSize] = useState(null);
11
+ // Whether the image is larger than the viewport it is shown in, so that
12
+ // "Actual size" would actually reveal more detail. Assumed true until the
13
+ // image has loaded.
14
+ const [isOversized, setIsOversized] = useState(true);
15
+ const viewportRef = useRef(null);
16
+ const measure = (image) => {
17
+ const { naturalWidth, naturalHeight } = image;
18
+ if (!naturalWidth || !naturalHeight)
19
+ return;
20
+ setNaturalSize({ width: naturalWidth, height: naturalHeight });
21
+ const viewport = viewportRef.current;
22
+ if (!viewport)
23
+ return;
24
+ setIsOversized(naturalWidth > viewport.clientWidth ||
25
+ naturalHeight > viewport.clientHeight);
26
+ };
27
+ const canToggle = isOversized;
28
+ const toggleSize = () => {
29
+ if (canToggle)
30
+ setActualSize((value) => !value);
31
+ };
32
+ return (_jsxs(Dialog, { open: open, onOpenChange: (value) => {
33
+ setOpen(value);
34
+ setActualSize(false);
35
+ setNaturalSize(null);
36
+ setIsOversized(true);
37
+ }, children: [_jsx(DialogTrigger, { asChild: true, children: children }), _jsxs(DialogContent, { style: { width: "90vw", height: "85vh" }, className: contentClassName, overlayClassName: overlayClassName, portalContainer: portalContainer, children: [_jsxs("div", { className: "border-border-default flex shrink-0 flex-wrap items-center gap-3 border-b p-4 pr-14", children: [_jsxs("div", { className: "flex min-w-0 flex-1 items-baseline gap-2", children: [_jsx(DialogTitle, { className: "min-w-0 truncate text-base", children: fileName || alt || "Image" }), naturalSize && (_jsxs("span", { className: "text-neutral-grey-50 shrink-0 text-xs", children: [naturalSize.width, "\u00D7", naturalSize.height] }))] }), _jsx(Button, { type: "button", variant: "outline", size: "sm", "aria-pressed": actualSize, disabled: !canToggle, onClick: toggleSize, children: actualSize ? "Fit to window" : "Actual size" }), _jsx(Button, { variant: "outline", size: "sm", asChild: true, children: _jsx("a", { href: src, download: fileName || "image", children: "Download" }) })] }), _jsx("div", { ref: viewportRef, className: cn("bg-neutral-grey-5 min-h-0 flex-1 overflow-auto p-4", !actualSize && "flex items-center justify-center"), children: _jsx("img", { src: src, alt: alt, onLoad: (event) => measure(event.currentTarget), onClick: toggleSize, className: cn(actualSize
38
+ ? "block max-w-none cursor-zoom-out"
39
+ : "max-h-full max-w-full object-contain", !actualSize && canToggle && "cursor-zoom-in") }) })] })] }));
40
+ }
41
+ //# sourceMappingURL=AgentImagePreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentImagePreview.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentImagePreview.tsx"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ function CreateItemOpenButton({ item, }) {
21
21
  const editContext = useEditContext();
22
22
  if (!editContext)
23
23
  return null;
24
- return (_jsx(Button, { size: "sm", variant: "secondary", "data-testid": "create-item-open", onClick: () => {
24
+ return (_jsx(Button, { size: "xxs", variant: "secondary", "data-testid": "create-item-open", onClick: () => {
25
25
  const current = editContext.currentItemDescriptor;
26
26
  const target = {
27
27
  id: item.id,
@@ -1 +1 @@
1
- {"version":3,"file":"CreateItemToolCallContent.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/CreateItemToolCallContent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CreateItemToolCallContent.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/CreateItemToolCallContent.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from "react";
3
- import { Timer } from "lucide-react";
4
3
  import { Tooltip, TooltipContent, TooltipTrigger, } from "../../../../components/ui/tooltip";
5
4
  import { cn } from "../../../../lib/utils";
6
5
  import { formatTime } from "../../../utils";
@@ -58,6 +57,6 @@ export function ResponseTurnDuration({ timing, className, }) {
58
57
  : timing.processingMs !== undefined
59
58
  ? `Processing took ${label}; time waiting between attempts and approvals is excluded.`
60
59
  : `Elapsed time from prompt to response: ${label} (${formatClock(startedAt)} to ${formatClock(effectiveEnd)}), including time waiting.`;
61
- return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsxs("span", { className: cn("text-neutral-grey-50 inline-flex shrink-0 cursor-help items-center gap-1 text-[10px] leading-4 tabular-nums", className), "data-testid": "agent-turn-duration", "data-live": isLive ? "true" : "false", "data-duration-ms": durationMs, children: [_jsx(Timer, { size: 12, strokeWidth: 1, "aria-hidden": "true" }), _jsx("span", { children: label })] }) }), _jsx(TooltipContent, { side: "top", children: tooltip })] }));
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 })] }));
62
61
  }
63
62
  //# sourceMappingURL=ResponseTurnDuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseTurnDuration.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/ResponseTurnDuration.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResponseTurnDuration.js","sourceRoot":"","sources":["../../../../../src/editor/ai/terminal/components/ResponseTurnDuration.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGtE,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAe,EACf,UAAU,GAAW,gBAAgB;IAErC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACrB,CAAC,EAAE,UAAU,CAAC,CAAC;QAEf,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAEzB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,OAAe,EAAU,EAAE,CAC9C,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AAEvD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,MAAM,EACN,SAAS,GAIV;IACC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC9C,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,MAAM;QAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAEnC,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IACrD,MAAM,UAAU,GACd,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS;QAC1C,CAAC,CAAC,MAAM,CAAC,YAAY;QACrB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM;QAClB,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC;QAC7B,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAEjC,IACE,CAAC,KAAK;QACN,CAAC,CAAC,MAAM;YACN,CAAC,OAAO,CAAC,OAAO;YAChB,OAAO,KAAK,IAAI;YAChB,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,EACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,kBAAkB,KAAK,WAAW,WAAW,CAAC,SAAS,CAAC,EAAE;QAC5D,CAAC,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS;YACjC,CAAC,CAAC,mBAAmB,KAAK,4DAA4D;YACtF,CAAC,CAAC,yCAAyC,KAAK,KAAK,WAAW,CAAC,SAAS,CAAC,OAAO,WAAW,CAAC,YAAY,CAAC,4BAA4B,CAAC;IAE5I,OAAO,CACL,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,eACE,SAAS,EAAE,EAAE,CACX,uGAAuG,EACvG,SAAS,CACV,iBACW,qBAAqB,eACtB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,sBAClB,UAAU,YAE3B,KAAK,GACD,GACQ,EACjB,KAAC,cAAc,IAAC,IAAI,EAAC,KAAK,YAAE,OAAO,GAAkB,IAC7C,CACX,CAAC;AACJ,CAAC"}
@@ -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,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;