nudge-ui 0.2.5 → 0.2.6

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 (575) hide show
  1. package/dist/cli/agentCommand.d.ts +0 -1
  2. package/dist/cli/agentCommand.js +0 -1
  3. package/dist/client.mjs +238 -122
  4. package/dist/compiler/ast.d.ts +0 -6
  5. package/dist/compiler/ast.js +0 -5
  6. package/dist/compiler/componentContractTypes.d.ts +11 -5
  7. package/dist/compiler/componentContracts.js +3 -9
  8. package/dist/compiler/componentInstrumentation.d.ts +2 -13
  9. package/dist/compiler/componentInstrumentation.js +3 -12
  10. package/dist/compiler/componentPolicyResolution.d.ts +3 -22
  11. package/dist/compiler/componentPolicyResolution.js +6 -38
  12. package/dist/compiler/identityAttributes.d.ts +2 -0
  13. package/dist/compiler/identityAttributes.js +2 -0
  14. package/dist/compiler/index.d.ts +0 -1
  15. package/dist/compiler/index.js +0 -1
  16. package/dist/compiler/packageComponentContracts.d.ts +10 -19
  17. package/dist/compiler/packageComponentContracts.js +60 -43
  18. package/dist/compiler/reactComponentProtocols.d.ts +0 -7
  19. package/dist/compiler/reactComponentProtocols.js +0 -7
  20. package/dist/compiler/reactIdentity.d.ts +2 -2
  21. package/dist/compiler/reactIdentity.js +41 -43
  22. package/dist/compiler/sourcePaths.d.ts +4 -8
  23. package/dist/compiler/sourcePaths.js +6 -8
  24. package/dist/css/dialects/index.d.ts +2 -21
  25. package/dist/css/dialects/index.js +2 -9
  26. package/dist/css/dialects/tailwind.d.ts +2 -16
  27. package/dist/css/dialects/tailwind.js +2 -25
  28. package/dist/css/dialects/vanillaExtract.d.ts +1 -9
  29. package/dist/css/dialects/vanillaExtract.js +0 -1
  30. package/dist/css/index.d.ts +0 -8
  31. package/dist/css/index.js +0 -8
  32. package/dist/css/model/index.d.ts +6 -38
  33. package/dist/css/model/index.js +0 -9
  34. package/dist/css/token-inventory/index.d.ts +0 -23
  35. package/dist/css/token-inventory/index.js +0 -23
  36. package/dist/css/token-inventory/inventory.js +4 -16
  37. package/dist/css/token-inventory/parseStylesheet.d.ts +1 -9
  38. package/dist/css/token-inventory/parseStylesheet.js +5 -42
  39. package/dist/css/token-inventory/policy.d.ts +2 -39
  40. package/dist/css/token-inventory/policy.js +2 -39
  41. package/dist/css/token-inventory/types.d.ts +2 -15
  42. package/dist/css/value-semantics/borderSemantics.d.ts +1 -8
  43. package/dist/css/value-semantics/borderSemantics.js +5 -23
  44. package/dist/css/value-semantics/boxSemantics.d.ts +2 -25
  45. package/dist/css/value-semantics/boxSemantics.js +1 -7
  46. package/dist/css/value-semantics/colorSemantics.d.ts +6 -60
  47. package/dist/css/value-semantics/colorSemantics.js +9 -40
  48. package/dist/css/value-semantics/cssSyntax.d.ts +10 -10
  49. package/dist/css/value-semantics/cssSyntax.js +39 -11
  50. package/dist/css/value-semantics/fontSemantics.d.ts +3 -19
  51. package/dist/css/value-semantics/fontSemantics.js +7 -25
  52. package/dist/css/value-semantics/index.d.ts +1 -12
  53. package/dist/css/value-semantics/index.js +1 -12
  54. package/dist/css/value-semantics/propertyPolicy.d.ts +6 -53
  55. package/dist/css/value-semantics/propertyPolicy.js +47 -59
  56. package/dist/css/value-semantics/stringMaps.d.ts +0 -1
  57. package/dist/css/value-semantics/structuredValues.d.ts +3 -37
  58. package/dist/css/value-semantics/structuredValues.js +6 -17
  59. package/dist/css/value-semantics/tokenInterpretation.d.ts +8 -50
  60. package/dist/css/value-semantics/tokenInterpretation.js +7 -21
  61. package/dist/hosts/astro/astroRuntimeConfig.d.ts +0 -1
  62. package/dist/hosts/astro/astroRuntimeConfig.js +0 -1
  63. package/dist/hosts/astro/clientAsset.d.ts +1 -5
  64. package/dist/hosts/astro/clientAsset.js +1 -5
  65. package/dist/hosts/astro/clientTransport.d.ts +0 -1
  66. package/dist/hosts/astro/clientTransport.js +4 -9
  67. package/dist/hosts/astro/integration.d.ts +2 -28
  68. package/dist/hosts/astro/integration.js +7 -36
  69. package/dist/hosts/astro/markdownIdentity.d.ts +0 -3
  70. package/dist/hosts/astro/markdownIdentity.js +0 -3
  71. package/dist/hosts/astro/middleware.d.ts +1 -12
  72. package/dist/hosts/astro/middleware.js +1 -12
  73. package/dist/hosts/astro/projectContext.d.ts +1 -9
  74. package/dist/hosts/astro/projectContext.js +2 -11
  75. package/dist/hosts/astro/responseInstrumentation.d.ts +4 -33
  76. package/dist/hosts/astro/responseInstrumentation.js +5 -34
  77. package/dist/hosts/environment.d.ts +0 -8
  78. package/dist/hosts/environment.js +0 -1
  79. package/dist/hosts/next/index.js +1 -3
  80. package/dist/hosts/next/loader.d.ts +5 -44
  81. package/dist/hosts/next/loader.js +22 -103
  82. package/dist/hosts/next/loaders/identity-loader.cjs +111 -65
  83. package/dist/hosts/next/loaders/loader-plugin.cjs +111 -65
  84. package/dist/hosts/next/manifest.d.ts +2 -16
  85. package/dist/hosts/next/manifest.js +18 -20
  86. package/dist/hosts/next/mount.d.ts +1 -11
  87. package/dist/hosts/next/mount.js +1 -11
  88. package/dist/hosts/next/repositoryScope.d.ts +2 -17
  89. package/dist/hosts/next/repositoryScope.js +2 -17
  90. package/dist/hosts/next/sidecar.d.ts +0 -13
  91. package/dist/hosts/next/sidecar.js +25 -110
  92. package/dist/hosts/next/wrapper.d.ts +0 -31
  93. package/dist/hosts/next/wrapper.js +13 -64
  94. package/dist/hosts/projectBridge.d.ts +0 -2
  95. package/dist/hosts/projectBridge.js +0 -2
  96. package/dist/hosts/reactRendererCapture.d.ts +2 -0
  97. package/dist/hosts/reactRendererCapture.js +12 -0
  98. package/dist/hosts/static/cli.d.ts +0 -4
  99. package/dist/hosts/static/cli.js +0 -3
  100. package/dist/hosts/static/html/bootstrap.d.ts +1 -18
  101. package/dist/hosts/static/html/bootstrap.js +2 -14
  102. package/dist/hosts/static/manifest.d.ts +2 -15
  103. package/dist/hosts/static/manifest.js +5 -18
  104. package/dist/hosts/static/server.d.ts +4 -38
  105. package/dist/hosts/static/server.js +17 -67
  106. package/dist/hosts/vite/index.d.ts +0 -10
  107. package/dist/hosts/vite/index.js +0 -10
  108. package/dist/hosts/vite/react.d.ts +4 -17
  109. package/dist/hosts/vite/react.js +18 -35
  110. package/dist/hosts/vite/tokens/activeStylesheets.d.ts +1 -10
  111. package/dist/hosts/vite/tokens/activeStylesheets.js +3 -8
  112. package/dist/hosts/vite/tokens/fileMap.d.ts +0 -1
  113. package/dist/hosts/vite/tokens/viteStylesheetArtifacts.d.ts +2 -15
  114. package/dist/hosts/vite/tokens/viteStylesheetArtifacts.js +3 -10
  115. package/dist/hosts/vite/vite.d.ts +5 -26
  116. package/dist/hosts/vite/vite.js +44 -80
  117. package/dist/html/dom.d.ts +0 -1
  118. package/dist/html/dom.js +0 -1
  119. package/dist/html/identity.d.ts +1 -15
  120. package/dist/html/identity.js +1 -8
  121. package/dist/html/insertions.d.ts +2 -8
  122. package/dist/html/insertions.js +1 -1
  123. package/dist/inspector/agent/McpConnectionDialog.d.ts +1 -6
  124. package/dist/inspector/agent/McpConnectionDialog.js +1 -6
  125. package/dist/inspector/agent/activity.d.ts +1 -1
  126. package/dist/inspector/agent/activity.js +1 -1
  127. package/dist/inspector/agent/client.d.ts +2 -26
  128. package/dist/inspector/agent/client.js +17 -64
  129. package/dist/inspector/agent/connectionStatus.d.ts +0 -1
  130. package/dist/inspector/agent/connectionStatus.js +0 -1
  131. package/dist/inspector/agent/httpTransport.d.ts +0 -8
  132. package/dist/inspector/agent/httpTransport.js +21 -39
  133. package/dist/inspector/agent/protocol.d.ts +1 -10
  134. package/dist/inspector/agent/protocol.js +1 -9
  135. package/dist/inspector/agent/verification.d.ts +2 -19
  136. package/dist/inspector/agent/verification.js +7 -43
  137. package/dist/inspector/boot.d.ts +3 -1
  138. package/dist/inspector/boot.js +12 -20
  139. package/dist/inspector/canvas/AgentActivityOverlay.d.ts +1 -1
  140. package/dist/inspector/canvas/AgentActivityOverlay.js +1 -1
  141. package/dist/inspector/canvas/CanvasCard.js +7 -14
  142. package/dist/inspector/canvas/CanvasElementOverlay.js +117 -50
  143. package/dist/inspector/canvas/CanvasWorkspace.js +15 -29
  144. package/dist/inspector/canvas/PageCard.d.ts +0 -1
  145. package/dist/inspector/canvas/PageCard.js +0 -1
  146. package/dist/inspector/canvas/SketchToolOptions.d.ts +0 -1
  147. package/dist/inspector/canvas/SketchToolOptions.js +0 -6
  148. package/dist/inspector/canvas/ToolOptionsDrawer.d.ts +1 -6
  149. package/dist/inspector/canvas/ToolOptionsDrawer.js +2 -8
  150. package/dist/inspector/canvas/activeCanvasDocument.d.ts +0 -2
  151. package/dist/inspector/canvas/activeCanvasDocument.js +0 -2
  152. package/dist/inspector/canvas/agentPresentation.d.ts +2 -13
  153. package/dist/inspector/canvas/agentPresentation.js +3 -14
  154. package/dist/inspector/canvas/canvasFrame.d.ts +2 -6
  155. package/dist/inspector/canvas/canvasFrame.js +1 -2
  156. package/dist/inspector/canvas/canvasResize.d.ts +1 -6
  157. package/dist/inspector/canvas/canvasResize.js +1 -6
  158. package/dist/inspector/canvas/canvasStore.d.ts +4 -12
  159. package/dist/inspector/canvas/canvasStore.js +12 -26
  160. package/dist/inspector/canvas/frameConnection.d.ts +1 -7
  161. package/dist/inspector/canvas/frameContent.d.ts +0 -1
  162. package/dist/inspector/canvas/frameLifecycle.d.ts +12 -0
  163. package/dist/inspector/canvas/frameLifecycle.js +11 -0
  164. package/dist/inspector/canvas/frameProtocol.d.ts +5 -40
  165. package/dist/inspector/canvas/frameProtocol.js +1 -24
  166. package/dist/inspector/canvas/frameScrollbarStyles.d.ts +0 -1
  167. package/dist/inspector/canvas/frameScrollbarStyles.js +0 -1
  168. package/dist/inspector/canvas/layout.d.ts +10 -22
  169. package/dist/inspector/canvas/layout.js +0 -3
  170. package/dist/inspector/canvas/normalizeUrl.js +1 -8
  171. package/dist/inspector/canvas/pageSurface.d.ts +1 -6
  172. package/dist/inspector/canvas/pageSurface.js +1 -6
  173. package/dist/inspector/canvas/projection.d.ts +4 -25
  174. package/dist/inspector/canvas/projection.js +22 -72
  175. package/dist/inspector/canvas/rendererBootstrap.d.ts +8 -1
  176. package/dist/inspector/canvas/rendererBootstrap.js +6 -14
  177. package/dist/inspector/canvas/rendererCidIndex.d.ts +0 -5
  178. package/dist/inspector/canvas/rendererCidIndex.js +0 -5
  179. package/dist/inspector/canvas/rendererElementSelector.js +29 -27
  180. package/dist/inspector/canvas/rendererMessageRouter.d.ts +0 -1
  181. package/dist/inspector/canvas/rendererMessageRouter.js +0 -1
  182. package/dist/inspector/canvas/rendererSelectionProxy.d.ts +1 -5
  183. package/dist/inspector/canvas/rendererSelectionProxy.js +2 -7
  184. package/dist/inspector/canvas/rendererStylesheet.d.ts +0 -1
  185. package/dist/inspector/canvas/rendererStylesheet.js +9 -2
  186. package/dist/inspector/canvas/resizeHandleScale.d.ts +1 -10
  187. package/dist/inspector/canvas/resizeHandleScale.js +1 -10
  188. package/dist/inspector/canvas/sessionStore.d.ts +1 -7
  189. package/dist/inspector/canvas/sessionStore.js +21 -34
  190. package/dist/inspector/canvas/staleChangeDetector.js +1 -4
  191. package/dist/inspector/canvas/toolbarScale.d.ts +1 -4
  192. package/dist/inspector/canvas/toolbarScale.js +1 -4
  193. package/dist/inspector/canvas/useCanvasLayoutAnimation.d.ts +0 -1
  194. package/dist/inspector/canvas/useCanvasLayoutAnimation.js +0 -1
  195. package/dist/inspector/canvas/viewStore.js +1 -1
  196. package/dist/inspector/canvas/wheelPan.d.ts +1 -1
  197. package/dist/inspector/canvas/wheelPan.js +1 -1
  198. package/dist/inspector/canvas/workspaceLease.d.ts +1 -5
  199. package/dist/inspector/canvas/workspaceLease.js +1 -7
  200. package/dist/inspector/changes/codecs.js +2 -1
  201. package/dist/inspector/changes/draftPreview.d.ts +1 -6
  202. package/dist/inspector/changes/draftPreview.js +15 -30
  203. package/dist/inspector/changes/editModel.d.ts +3 -13
  204. package/dist/inspector/changes/editModel.js +1 -2
  205. package/dist/inspector/changes/managedStyleProjection.js +4 -14
  206. package/dist/inspector/changes/model.d.ts +0 -5
  207. package/dist/inspector/changes/model.js +1 -8
  208. package/dist/inspector/changes/previewDiagnostics.d.ts +2 -12
  209. package/dist/inspector/changes/previewDiagnostics.js +4 -20
  210. package/dist/inspector/changes/previewVerification.d.ts +25 -0
  211. package/dist/inspector/changes/previewVerification.js +34 -0
  212. package/dist/inspector/changes/structuralTypes.d.ts +2 -4
  213. package/dist/inspector/changes/types.d.ts +3 -10
  214. package/dist/inspector/clientManifest.d.ts +17 -6
  215. package/dist/inspector/clientManifest.js +16 -3
  216. package/dist/inspector/comments/CommentsOverlay.js +48 -7
  217. package/dist/inspector/comments/element.d.ts +1 -2
  218. package/dist/inspector/comments/element.js +1 -2
  219. package/dist/inspector/comments/store.d.ts +1 -1
  220. package/dist/inspector/comments/store.js +1 -1
  221. package/dist/inspector/comments/verification.d.ts +8 -2
  222. package/dist/inspector/comments/verification.js +18 -10
  223. package/dist/inspector/componentSemantics/ComponentPropsSection.d.ts +8 -0
  224. package/dist/inspector/componentSemantics/ComponentPropsSection.js +10 -7
  225. package/dist/inspector/componentSemantics/adapterRegistry.d.ts +2 -9
  226. package/dist/inspector/componentSemantics/adapterRegistry.js +2 -9
  227. package/dist/inspector/componentSemantics/changeModel.js +2 -4
  228. package/dist/inspector/componentSemantics/react/callsites.d.ts +28 -0
  229. package/dist/inspector/componentSemantics/react/callsites.js +261 -0
  230. package/dist/inspector/componentSemantics/react/devtoolsHook.d.ts +23 -0
  231. package/dist/inspector/componentSemantics/react/devtoolsHook.js +71 -0
  232. package/dist/inspector/componentSemantics/react/fibers.d.ts +17 -0
  233. package/dist/inspector/componentSemantics/react/fibers.js +30 -0
  234. package/dist/inspector/componentSemantics/{reactRuntime.d.ts → react/runtime.d.ts} +3 -2
  235. package/dist/inspector/componentSemantics/{reactRuntime.js → react/runtime.js} +70 -53
  236. package/dist/inspector/componentSemantics/runtimeBridge.d.ts +2 -18
  237. package/dist/inspector/componentSemantics/runtimeBridge.js +5 -19
  238. package/dist/inspector/componentSemantics/textBinding.d.ts +1 -9
  239. package/dist/inspector/componentSemantics/textBinding.js +16 -42
  240. package/dist/inspector/componentSemantics/types.d.ts +8 -27
  241. package/dist/inspector/componentSemantics/types.js +0 -1
  242. package/dist/inspector/conformance/borderCases.d.ts +0 -5
  243. package/dist/inspector/conformance/borderCases.js +0 -5
  244. package/dist/inspector/conformance/colorCases.d.ts +0 -6
  245. package/dist/inspector/conformance/colorCases.js +0 -6
  246. package/dist/inspector/conformance/fixture.d.ts +1 -5
  247. package/dist/inspector/conformance/fixture.js +1 -5
  248. package/dist/inspector/conformance/spacingCases.d.ts +0 -4
  249. package/dist/inspector/conformance/spacingCases.js +0 -4
  250. package/dist/inspector/conformance/typographyCases.d.ts +0 -5
  251. package/dist/inspector/conformance/typographyCases.js +0 -5
  252. package/dist/inspector/drafts/draftStore.d.ts +7 -21
  253. package/dist/inspector/drafts/draftStore.js +15 -5
  254. package/dist/inspector/drafts/model.d.ts +7 -15
  255. package/dist/inspector/drafts/model.js +0 -2
  256. package/dist/inspector/drafts/store.d.ts +1 -8
  257. package/dist/inspector/drafts/store.js +3 -10
  258. package/dist/inspector/editScope.d.ts +0 -1
  259. package/dist/inspector/editScope.js +0 -1
  260. package/dist/inspector/inline-text/inlineTextDiagnostics.d.ts +0 -2
  261. package/dist/inspector/inline-text/inlineTextDiagnostics.js +0 -2
  262. package/dist/inspector/inline-text/inlineTextEditor.d.ts +2 -8
  263. package/dist/inspector/inline-text/inlineTextEditor.js +26 -79
  264. package/dist/inspector/inline-text/inlineTextLifecycle.js +1 -6
  265. package/dist/inspector/inline-text/textEditChange.d.ts +0 -1
  266. package/dist/inspector/inspection/bridge.d.ts +2 -6
  267. package/dist/inspector/inspection/bridge.js +4 -12
  268. package/dist/inspector/inspection/browserCssInspection.d.ts +4 -11
  269. package/dist/inspector/inspection/browserCssInspection.js +4 -8
  270. package/dist/inspector/inspection/browserCssInspectionRegistry.d.ts +0 -7
  271. package/dist/inspector/inspection/browserCssInspectionRegistry.js +1 -16
  272. package/dist/inspector/inspection/selectionProperty.d.ts +1 -6
  273. package/dist/inspector/inspection/selectionProperty.js +1 -5
  274. package/dist/inspector/inspection/useBrowserCssInspection.d.ts +1 -5
  275. package/dist/inspector/inspection/useBrowserCssInspection.js +5 -21
  276. package/dist/inspector/iterations/capture.d.ts +0 -1
  277. package/dist/inspector/iterations/capture.js +4 -9
  278. package/dist/inspector/iterations/client.d.ts +0 -1
  279. package/dist/inspector/iterations/client.js +0 -1
  280. package/dist/inspector/iterations/coordinator.d.ts +0 -1
  281. package/dist/inspector/iterations/coordinator.js +0 -1
  282. package/dist/inspector/iterations/prompt.d.ts +0 -1
  283. package/dist/inspector/iterations/prompt.js +0 -1
  284. package/dist/inspector/overlay/DomNavigator.d.ts +3 -1
  285. package/dist/inspector/overlay/DomNavigator.js +39 -15
  286. package/dist/inspector/overlay/DropGuideOverlay.d.ts +0 -1
  287. package/dist/inspector/overlay/DropGuideOverlay.js +0 -1
  288. package/dist/inspector/overlay/MeasurementGuideOverlay.d.ts +1 -8
  289. package/dist/inspector/overlay/MeasurementGuideOverlay.js +1 -5
  290. package/dist/inspector/overlay/clickPolicy.d.ts +3 -14
  291. package/dist/inspector/overlay/clickPolicy.js +3 -14
  292. package/dist/inspector/overlay/dropGuide.d.ts +0 -3
  293. package/dist/inspector/overlay/dropGuide.js +0 -3
  294. package/dist/inspector/overlay/frameThrottle.d.ts +0 -1
  295. package/dist/inspector/overlay/frameThrottle.js +0 -1
  296. package/dist/inspector/overlay/interactionStyles.d.ts +1 -1
  297. package/dist/inspector/overlay/interactionStyles.js +2 -8
  298. package/dist/inspector/overlay/measurementGeometry.js +4 -12
  299. package/dist/inspector/overlay/selectedGeometry.d.ts +1 -6
  300. package/dist/inspector/overlay/selectedGeometry.js +1 -8
  301. package/dist/inspector/overlay/spacingGestures.d.ts +14 -21
  302. package/dist/inspector/overlay/spacingGestures.js +151 -31
  303. package/dist/inspector/overlay/structuralGestures.d.ts +2 -9
  304. package/dist/inspector/overlay/structuralGestures.js +1 -4
  305. package/dist/inspector/pageInspector.d.ts +4 -13
  306. package/dist/inspector/pageInspector.js +25 -32
  307. package/dist/inspector/projection/cssEscapes.d.ts +0 -1
  308. package/dist/inspector/projection/cssEscapes.js +2 -4
  309. package/dist/inspector/projection/draftProjection.d.ts +2 -14
  310. package/dist/inspector/projection/draftProjection.js +1 -8
  311. package/dist/inspector/projection/managedStylesheet.d.ts +1 -7
  312. package/dist/inspector/projection/managedStylesheet.js +4 -22
  313. package/dist/inspector/projection/renderedInstance.d.ts +5 -28
  314. package/dist/inspector/projection/renderedInstance.js +6 -32
  315. package/dist/inspector/projection/structuralProjection.d.ts +7 -39
  316. package/dist/inspector/projection/structuralProjection.js +17 -52
  317. package/dist/inspector/projection/textProjection.d.ts +2 -14
  318. package/dist/inspector/projection/textProjection.js +17 -70
  319. package/dist/inspector/prompt/PromptSettingsDialog.d.ts +0 -1
  320. package/dist/inspector/prompt/PromptSettingsDialog.js +0 -1
  321. package/dist/inspector/prompt/clipboardHandoff.d.ts +1 -9
  322. package/dist/inspector/prompt/clipboardHandoff.js +1 -9
  323. package/dist/inspector/prompt/generatePrompt.d.ts +1 -1
  324. package/dist/inspector/prompt/generatePrompt.js +10 -25
  325. package/dist/inspector/prompt/promptSettings.d.ts +0 -3
  326. package/dist/inspector/prompt/promptSettings.js +0 -3
  327. package/dist/inspector/runtime/devFlag.d.ts +2 -25
  328. package/dist/inspector/runtime/devFlag.js +4 -31
  329. package/dist/inspector/runtime/documentStylesheetOrder.d.ts +0 -2
  330. package/dist/inspector/runtime/editorShell.d.ts +0 -1
  331. package/dist/inspector/runtime/editorShell.js +0 -1
  332. package/dist/inspector/runtime/inspectorStorage.d.ts +1 -7
  333. package/dist/inspector/runtime/inspectorStorage.js +1 -6
  334. package/dist/inspector/runtime/ownedStylesheets.d.ts +2 -8
  335. package/dist/inspector/runtime/ownedStylesheets.js +2 -8
  336. package/dist/inspector/runtime/runtimeConfig.d.ts +12 -86
  337. package/dist/inspector/runtime/runtimeConfig.js +9 -50
  338. package/dist/inspector/runtime/runtimeIdentityClaims.d.ts +3 -13
  339. package/dist/inspector/runtime/runtimeIdentityClaims.js +9 -19
  340. package/dist/inspector/runtime/staticHtmlRuntimeIdentity.d.ts +4 -36
  341. package/dist/inspector/runtime/staticHtmlRuntimeIdentity.js +7 -40
  342. package/dist/inspector/runtime/useRuntimeConfig.d.ts +1 -8
  343. package/dist/inspector/runtime/useRuntimeConfig.js +1 -8
  344. package/dist/inspector/selection/editScope.d.ts +1 -7
  345. package/dist/inspector/selection/editScope.js +2 -12
  346. package/dist/inspector/selection/editTarget.d.ts +1 -5
  347. package/dist/inspector/selection/hierarchy.d.ts +11 -11
  348. package/dist/inspector/selection/hierarchy.js +42 -24
  349. package/dist/inspector/selection/selectionStore.d.ts +0 -3
  350. package/dist/inspector/selection/selectionStore.js +5 -16
  351. package/dist/inspector/selection/sourceSite.d.ts +1 -5
  352. package/dist/inspector/selection/sourceSite.js +2 -8
  353. package/dist/inspector/selection/styleSelection.d.ts +1 -5
  354. package/dist/inspector/selection/styleSelection.js +1 -5
  355. package/dist/inspector/session/lifecycle.d.ts +1 -9
  356. package/dist/inspector/session/lifecycle.js +0 -1
  357. package/dist/inspector/session/sessionContext.d.ts +0 -4
  358. package/dist/inspector/session/sessionContext.js +0 -4
  359. package/dist/inspector/session/sessionFactory.d.ts +0 -9
  360. package/dist/inspector/session/sessionFactory.js +0 -6
  361. package/dist/inspector/settings/SettingsDialog.d.ts +0 -1
  362. package/dist/inspector/settings/SettingsDialog.js +5 -3
  363. package/dist/inspector/shell/AgentStatusButton.d.ts +3 -2
  364. package/dist/inspector/shell/AgentStatusButton.js +5 -5
  365. package/dist/inspector/shell/ChangesLog.js +3 -4
  366. package/dist/inspector/shell/CopyPromptButton.d.ts +2 -1
  367. package/dist/inspector/shell/CopyPromptButton.js +12 -11
  368. package/dist/inspector/shell/InspectorEditors.d.ts +16 -0
  369. package/dist/inspector/shell/InspectorEditors.js +14 -0
  370. package/dist/inspector/shell/InspectorPanel.d.ts +12 -0
  371. package/dist/inspector/shell/InspectorPanel.js +8 -0
  372. package/dist/inspector/shell/InspectorSelection.d.ts +24 -0
  373. package/dist/inspector/shell/InspectorSelection.js +20 -0
  374. package/dist/inspector/shell/InspectorShell.js +26 -48
  375. package/dist/inspector/shell/NudgeLogoIcon.d.ts +5 -0
  376. package/dist/inspector/shell/NudgeLogoIcon.js +5 -0
  377. package/dist/inspector/shell/PeekOriginalButton.d.ts +0 -5
  378. package/dist/inspector/shell/PeekOriginalButton.js +0 -5
  379. package/dist/inspector/shell/PeekOriginalIcon.d.ts +0 -5
  380. package/dist/inspector/shell/PeekOriginalIcon.js +0 -5
  381. package/dist/inspector/shell/PromptActionButton.d.ts +21 -0
  382. package/dist/inspector/shell/PromptActionButton.js +14 -0
  383. package/dist/inspector/shell/elementName.d.ts +5 -0
  384. package/dist/inspector/shell/elementName.js +29 -0
  385. package/dist/inspector/shell/interactionStatePreview.d.ts +1 -4
  386. package/dist/inspector/shell/interactionStatePreview.js +3 -8
  387. package/dist/inspector/shell/originalPreview.d.ts +1 -6
  388. package/dist/inspector/shell/originalPreview.js +1 -6
  389. package/dist/inspector/shell/stateValue.d.ts +1 -2
  390. package/dist/inspector/shell/stateValue.js +2 -5
  391. package/dist/inspector/shell/styleState.d.ts +1 -2
  392. package/dist/inspector/shell/styleState.js +1 -2
  393. package/dist/inspector/sketch/SketchEditor.js +0 -1
  394. package/dist/inspector/sketch/SketchFrameOverlay.js +8 -12
  395. package/dist/inspector/sketch/SketchOverlay.js +5 -6
  396. package/dist/inspector/sketch/SketchPromptPanel.d.ts +0 -1
  397. package/dist/inspector/sketch/SketchPromptPanel.js +0 -1
  398. package/dist/inspector/sketch/SketchWorkspace.js +2 -4
  399. package/dist/inspector/sketch/capture.d.ts +12 -3
  400. package/dist/inspector/sketch/capture.js +12 -11
  401. package/dist/inspector/sketch/copySketch.d.ts +1 -7
  402. package/dist/inspector/sketch/copySketch.js +2 -11
  403. package/dist/inspector/sketch/drawingTools.d.ts +1 -3
  404. package/dist/inspector/sketch/drawingTools.js +1 -2
  405. package/dist/inspector/sketch/frameHeading.d.ts +1 -7
  406. package/dist/inspector/sketch/frameHeading.js +1 -8
  407. package/dist/inspector/sketch/freehand.d.ts +0 -1
  408. package/dist/inspector/sketch/freehand.js +0 -1
  409. package/dist/inspector/sketch/geometry.d.ts +1 -6
  410. package/dist/inspector/sketch/geometry.js +1 -6
  411. package/dist/inspector/sketch/handoff.js +0 -1
  412. package/dist/inspector/sketch/history.d.ts +1 -5
  413. package/dist/inspector/sketch/history.js +1 -4
  414. package/dist/inspector/sketch/interaction.d.ts +2 -2
  415. package/dist/inspector/sketch/interaction.js +2 -2
  416. package/dist/inspector/sketch/model.d.ts +2 -9
  417. package/dist/inspector/sketch/model.js +2 -19
  418. package/dist/inspector/sketch/persistence.d.ts +0 -1
  419. package/dist/inspector/sketch/persistence.js +2 -2
  420. package/dist/inspector/sketch/raster.d.ts +1 -4
  421. package/dist/inspector/sketch/raster.js +2 -8
  422. package/dist/inspector/sketch/store.js +2 -3
  423. package/dist/inspector/sketch/videoFrames.js +2 -3
  424. package/dist/inspector/spacing/projection.d.ts +0 -8
  425. package/dist/inspector/spacing/projection.js +38 -20
  426. package/dist/inspector/styleEditors/BackgroundEditor.js +1 -1
  427. package/dist/inspector/styleEditors/BorderEditor.js +1 -6
  428. package/dist/inspector/styleEditors/ChildPlacement.d.ts +12 -0
  429. package/dist/inspector/styleEditors/ChildPlacement.js +9 -0
  430. package/dist/inspector/styleEditors/FlexControls.d.ts +35 -0
  431. package/dist/inspector/styleEditors/FlexControls.js +158 -0
  432. package/dist/inspector/styleEditors/GapField.d.ts +5 -2
  433. package/dist/inspector/styleEditors/GapField.js +3 -4
  434. package/dist/inspector/styleEditors/GridChildSection.d.ts +0 -5
  435. package/dist/inspector/styleEditors/GridChildSection.js +0 -5
  436. package/dist/inspector/styleEditors/GridPicker.d.ts +1 -1
  437. package/dist/inspector/styleEditors/GridPicker.js +2 -4
  438. package/dist/inspector/styleEditors/GridSection.d.ts +10 -8
  439. package/dist/inspector/styleEditors/GridSection.js +22 -9
  440. package/dist/inspector/styleEditors/GridValueField.d.ts +1 -5
  441. package/dist/inspector/styleEditors/GridValueField.js +2 -8
  442. package/dist/inspector/styleEditors/ImageBackgroundEditor.d.ts +0 -1
  443. package/dist/inspector/styleEditors/ImageBackgroundEditor.js +0 -1
  444. package/dist/inspector/styleEditors/LayoutBlockedIndicator.d.ts +0 -1
  445. package/dist/inspector/styleEditors/LayoutBlockedIndicator.js +0 -1
  446. package/dist/inspector/styleEditors/LayoutComboField.js +0 -5
  447. package/dist/inspector/styleEditors/LayoutModeRow.d.ts +14 -0
  448. package/dist/inspector/styleEditors/LayoutModeRow.js +60 -0
  449. package/dist/inspector/styleEditors/LayoutSection.d.ts +2 -2
  450. package/dist/inspector/styleEditors/LayoutSection.js +30 -356
  451. package/dist/inspector/styleEditors/OpacityEditor.js +7 -5
  452. package/dist/inspector/styleEditors/PositionControls.d.ts +18 -0
  453. package/dist/inspector/styleEditors/PositionControls.js +16 -0
  454. package/dist/inspector/styleEditors/SizeSection.d.ts +18 -0
  455. package/dist/inspector/styleEditors/SizeSection.js +71 -0
  456. package/dist/inspector/styleEditors/{SpacingBox.d.ts → SpacingField.d.ts} +3 -10
  457. package/dist/inspector/styleEditors/{SpacingBox.js → SpacingField.js} +15 -29
  458. package/dist/inspector/styleEditors/Typography.js +2 -4
  459. package/dist/inspector/styleEditors/borderModel.d.ts +1 -7
  460. package/dist/inspector/styleEditors/borderModel.js +2 -11
  461. package/dist/inspector/styleEditors/completeCssValue.d.ts +1 -5
  462. package/dist/inspector/styleEditors/completeCssValue.js +3 -13
  463. package/dist/inspector/styleEditors/fieldValue.d.ts +20 -0
  464. package/dist/inspector/styleEditors/fieldValue.js +26 -0
  465. package/dist/inspector/styleEditors/gradientValue.d.ts +1 -1
  466. package/dist/inspector/styleEditors/gradientValue.js +3 -2
  467. package/dist/inspector/styleEditors/gridChildModel.d.ts +7 -47
  468. package/dist/inspector/styleEditors/gridChildModel.js +6 -37
  469. package/dist/inspector/styleEditors/hiddenSizeOverrides.d.ts +5 -0
  470. package/dist/inspector/styleEditors/hiddenSizeOverrides.js +42 -0
  471. package/dist/inspector/styleEditors/inlineAuthored.d.ts +1 -8
  472. package/dist/inspector/styleEditors/inlineAuthored.js +3 -17
  473. package/dist/inspector/styleEditors/layoutMode.d.ts +15 -0
  474. package/dist/inspector/styleEditors/layoutMode.js +33 -0
  475. package/dist/inspector/styleEditors/layoutPreviewState.d.ts +0 -1
  476. package/dist/inspector/styleEditors/layoutPreviewState.js +0 -1
  477. package/dist/inspector/styleEditors/layoutValue.d.ts +2 -8
  478. package/dist/inspector/styleEditors/layoutValue.js +4 -12
  479. package/dist/inspector/styleEditors/nudgeValue.d.ts +1 -13
  480. package/dist/inspector/styleEditors/nudgeValue.js +1 -13
  481. package/dist/inspector/styleEditors/rowLookup.d.ts +1 -5
  482. package/dist/inspector/styleEditors/rowLookup.js +1 -5
  483. package/dist/inspector/styleEditors/stringRecord.d.ts +1 -2
  484. package/dist/inspector/styleEditors/stylePresence.d.ts +0 -2
  485. package/dist/inspector/styleEditors/stylePresence.js +1 -4
  486. package/dist/inspector/styleEditors/textRelevance.d.ts +1 -1
  487. package/dist/inspector/styleEditors/textRelevance.js +1 -1
  488. package/dist/inspector/styleEditors/useFieldVisibility.js +1 -2
  489. package/dist/inspector/styleEditors/useLayoutContext.d.ts +13 -0
  490. package/dist/inspector/styleEditors/useLayoutContext.js +53 -0
  491. package/dist/inspector/styleEditors/valuePolicy.d.ts +1 -5
  492. package/dist/inspector/styleEditors/valuePolicy.js +0 -1
  493. package/dist/inspector/testing.d.ts +1 -4
  494. package/dist/inspector/testing.js +1 -4
  495. package/dist/inspector/tokens/TokenChip.d.ts +1 -4
  496. package/dist/inspector/tokens/TokenChip.js +1 -4
  497. package/dist/inspector/tokens/TokenField.d.ts +4 -3
  498. package/dist/inspector/tokens/TokenField.js +19 -29
  499. package/dist/inspector/tokens/catalog.d.ts +2 -10
  500. package/dist/inspector/tokens/catalog.js +5 -12
  501. package/dist/inspector/tokens/dragPointerLock.d.ts +0 -1
  502. package/dist/inspector/tokens/dragPointerLock.js +2 -3
  503. package/dist/inspector/tokens/editActions.d.ts +1 -1
  504. package/dist/inspector/tokens/editActions.js +2 -4
  505. package/dist/inspector/tokens/resolution/cascade.d.ts +1 -5
  506. package/dist/inspector/tokens/resolution/cascade.js +1 -5
  507. package/dist/inspector/tokens/resolution/containerQueryEvaluator.d.ts +1 -5
  508. package/dist/inspector/tokens/resolution/containerQueryEvaluator.js +1 -5
  509. package/dist/inspector/tokens/resolution/cssomCollector.d.ts +4 -19
  510. package/dist/inspector/tokens/resolution/cssomCollector.js +151 -122
  511. package/dist/inspector/tokens/resolution/nestedSelectors.d.ts +1 -5
  512. package/dist/inspector/tokens/resolution/nestedSelectors.js +1 -5
  513. package/dist/inspector/tokens/resolution/ruleMatching.d.ts +4 -14
  514. package/dist/inspector/tokens/resolution/ruleMatching.js +121 -67
  515. package/dist/inspector/tokens/resolution/selectorSemantics.d.ts +3 -14
  516. package/dist/inspector/tokens/resolution/selectorSemantics.js +12 -27
  517. package/dist/inspector/tokens/resolution.d.ts +5 -24
  518. package/dist/inspector/tokens/resolution.js +16 -71
  519. package/dist/inspector/tokens/tokenAvailability.d.ts +2 -14
  520. package/dist/inspector/tokens/tokenAvailability.js +6 -38
  521. package/dist/inspector/tokens/valueSemanticsAdapter.d.ts +0 -1
  522. package/dist/inspector/tokens/valueSemanticsAdapter.js +18 -2
  523. package/dist/inspector/ui/AtRuleContext.d.ts +5 -5
  524. package/dist/inspector/ui/AtRuleContext.js +8 -6
  525. package/dist/inspector/ui/ControlSurface.d.ts +0 -4
  526. package/dist/inspector/ui/Disclosure.d.ts +0 -5
  527. package/dist/inspector/ui/Disclosure.js +0 -4
  528. package/dist/inspector/ui/InlineStyleWarning.d.ts +0 -1
  529. package/dist/inspector/ui/InspectorPopover.d.ts +1 -5
  530. package/dist/inspector/ui/InspectorPopover.js +1 -5
  531. package/dist/inspector/ui/SegmentedControl.d.ts +4 -4
  532. package/dist/inspector/ui/SegmentedControl.js +6 -4
  533. package/dist/inspector/ui/SideValuesField.d.ts +1 -6
  534. package/dist/inspector/ui/SideValuesField.js +2 -8
  535. package/dist/inspector/ui/Toast.d.ts +0 -4
  536. package/dist/inspector/ui/Toast.js +0 -4
  537. package/dist/inspector/ui/atRuleSegments.d.ts +13 -0
  538. package/dist/inspector/ui/atRuleSegments.js +34 -0
  539. package/dist/inspector/ui/classNames.d.ts +0 -1
  540. package/dist/inspector/ui/classNames.js +0 -1
  541. package/dist/inspector/ui/customCursors.d.ts +7 -1
  542. package/dist/inspector/ui/customCursors.js +2 -6
  543. package/dist/inspector/ui/styles.js +18 -20
  544. package/dist/inspector/workspace/controller.js +20 -1
  545. package/dist/inspector/workspace/handoff.d.ts +1 -5
  546. package/dist/inspector/workspace/handoff.js +1 -5
  547. package/dist/inspector/workspace/timeline.d.ts +5 -2
  548. package/dist/inspector/workspace/timeline.js +0 -1
  549. package/dist/internal/agent-protocol.d.ts +20 -42
  550. package/dist/internal/agent-protocol.js +18 -35
  551. package/dist/nudge-ui.mjs +75 -28
  552. package/dist/project/artifacts.js +24 -21
  553. package/dist/project/files.d.ts +0 -1
  554. package/dist/project/files.js +2 -9
  555. package/dist/project/identity.d.ts +1 -5
  556. package/dist/project/identity.js +1 -5
  557. package/dist/project/mcpPackage.d.ts +1 -6
  558. package/dist/project/mcpPackage.js +2 -7
  559. package/dist/project/pathPolicy.d.ts +1 -6
  560. package/dist/project/pathPolicy.js +1 -6
  561. package/dist/project/tokens.d.ts +2 -12
  562. package/dist/project/tokens.js +4 -15
  563. package/dist/transport/editor.d.ts +1 -12
  564. package/dist/transport/editor.js +2 -13
  565. package/dist/transport/index.d.ts +0 -5
  566. package/dist/transport/index.js +0 -5
  567. package/dist/transport/routes.d.ts +0 -5
  568. package/dist/transport/routes.js +0 -5
  569. package/package.json +5 -4
  570. package/dist/inspector/styleEditors/InsetSection.d.ts +0 -15
  571. package/dist/inspector/styleEditors/InsetSection.js +0 -15
  572. package/dist/inspector/styleEditors/PositionInsets.d.ts +0 -15
  573. package/dist/inspector/styleEditors/PositionInsets.js +0 -12
  574. package/dist/inspector/tokens/TokenDropdown.d.ts +0 -13
  575. package/dist/inspector/tokens/TokenDropdown.js +0 -59
@@ -42,9 +42,7 @@ export function ensureManagedSheet() {
42
42
  }
43
43
  let sheet = el.sheet;
44
44
  if (!sheet) {
45
- // A browser may reject a newly-authored conditional rule (or a test DOM may
46
- // not implement it). Recreate the managed element so later clear/revert
47
- // operations can always recover instead of leaving history wedged.
45
+ // Recreate the element when the browser rejects the sheet so clear/revert can still recover.
48
46
  el.remove();
49
47
  el = doc.createElement("style");
50
48
  el.id = SHEET_ID;
@@ -64,7 +62,6 @@ export function ensureManagedSheet() {
64
62
  }
65
63
  function exposeManagedSheetText(doc) {
66
64
  if (isNudgeUiDev() && doc.defaultView) {
67
- // Keep the canonical CSS available to dev diagnostics.
68
65
  doc.defaultView.__nudgeUiGetManagedSheetText = getManagedSheetText;
69
66
  }
70
67
  }
@@ -98,18 +95,12 @@ export function rulesToCssText(rules) {
98
95
  }
99
96
  return lines.join("\n");
100
97
  }
101
- /** Canonical rules retained so a framework can rehydrate a moved style node. */
98
+ /** Retained so a framework can rehydrate a moved style node. */
102
99
  let managedRules = [];
103
- /** Synchronous serialized view of the rules currently projected into the managed sheet. */
104
100
  export function getManagedSheetText() {
105
101
  return rulesToCssText(managedRules);
106
102
  }
107
- /**
108
- * Rehydrate the CSSOM after moving the managed style element in <head>.
109
- *
110
- * Some browsers replace the CSSStyleSheet when that element is reattached.
111
- * Rewriting the canonical text keeps the new sheet and the model aligned.
112
- */
103
+ /** Some browsers replace the CSSStyleSheet when the style element is reattached, so rewrite the canonical text. */
113
104
  function rehydrateManagedSheet(doc, el) {
114
105
  const sheet = el.sheet;
115
106
  if (!sheet)
@@ -130,10 +121,6 @@ function rehydrateManagedSheet(doc, el) {
130
121
  failedRehydrationCssText = el.sheet.cssRules.length === rules.length ? null : cssText;
131
122
  notifyBrowserStylesheetChange(doc);
132
123
  }
133
- /**
134
- * Writes the canonical projection to the managed style element and retains a
135
- * copy for rehydration if a framework moves or reparses that element.
136
- */
137
124
  function rebuildSheetText(rules) {
138
125
  const desired = rules.map((rule) => ({
139
126
  ...rule,
@@ -166,11 +153,7 @@ function rebuildSheetText(rules) {
166
153
  : null;
167
154
  notifyBrowserStylesheetChange(document);
168
155
  }
169
- /**
170
- * Replaces the managed sheet with the canonical projection. Keeping the
171
- * serialized rules authoritative avoids stale CSSStyleRule references when a
172
- * framework dev server reparses or reattaches style nodes during a render.
173
- */
156
+ /** Serialized rules stay authoritative to avoid stale CSSStyleRule references when a framework reparses style nodes. */
174
157
  export function applyRules(rules) {
175
158
  ensureManagedSheet();
176
159
  const desired = [];
@@ -213,7 +196,6 @@ function hasImportantAuthorRule(el, property) {
213
196
  }
214
197
  return false;
215
198
  }
216
- /** Verify what the browser painted after the managed sheet was projected. */
217
199
  export function verifyPreview(el, property, requestedValue) {
218
200
  if (!el || !el.isConnected) {
219
201
  return { requestedValue, computedValue: "", status: "conflict", reason: "target-missing" };
@@ -18,50 +18,27 @@ export interface DocumentProjectionReport {
18
18
  export interface RenderedInstanceChangeDiagnostic extends DocumentProjectionReport {
19
19
  document: "Inspect" | `Canvas ${string}`;
20
20
  }
21
- /** Captures conservative, serializable identity at the moment of the action. */
22
21
  export declare function captureRenderedInstance(el: HTMLElement): RenderedInstanceRef | null;
23
- /**
24
- * Resolves exactly one element, or declines to apply. Occurrence documents the
25
- * captured placement, but structural previews can legitimately change it.
26
- * Evidence, narrowed by a recorded invocation when present, must therefore
27
- * identify one current candidate before an edit can be applied.
28
- */
22
+ /** Occurrence documents captured placement, but structural previews can change it; evidence must identify exactly one current candidate. */
29
23
  export declare function resolveRenderedInstance(doc: Document, ref: RenderedInstanceRef): ResolutionResult;
30
- /**
31
- * Resolves a reference whose source position may have moved since capture.
32
- * A relocated site still renders matching authored evidence, so an evidence
33
- * miss there is reported as ambiguous rather than as proof of absence.
34
- */
24
+ /** A relocated site still renders matching evidence, so an evidence miss is reported as ambiguous, not missing. */
35
25
  export declare function resolveMovedRenderedInstance(doc: Document, ref: RenderedInstanceRef): ResolutionResult;
36
- /**
37
- * Captures identity for a structural target. When evidence matches several
38
- * identical outputs, the nearest component invocation whose entire output is
39
- * this element can still identify it. Otherwise the evidence-only reference
40
- * is returned and resolves as ambiguous.
41
- */
26
+ /** Falls back to the nearest component invocation when evidence matches several identical outputs. */
42
27
  export declare function captureStructuralTarget(el: HTMLElement): RenderedInstanceRef | null;
43
- /** Checks stable source/evidence fields without treating a post-move ordinal as identity. */
28
+ /** Ignores the ordinal, which is not identity after a move. */
44
29
  export declare function matchesRenderedInstanceEvidence(el: HTMLElement, ref: RenderedInstanceRef): boolean;
45
- /** Builds an instance override without changing the element's transient edit scope. */
46
30
  export declare function buildRenderedInstanceOverride(el: HTMLElement): RenderedInstanceOverride | null;
47
- /** Creates a serializable override for identity that was already validated. */
48
31
  export declare function buildRenderedInstanceOverrideForTarget(target: RenderedInstanceRef): RenderedInstanceOverride;
49
32
  export declare function createRenderedInstanceOverride(el: HTMLElement): RenderedInstanceOverride | null;
50
- /** Returns an active transient target or the canonical target projected here. */
51
33
  export declare function getRenderedInstanceOverride(el: HTMLElement): RenderedInstanceOverride | null;
52
34
  export declare function clearRenderedInstanceOverride(el: HTMLElement): RenderedInstanceOverride | null;
53
35
  export declare function instanceSelector(override: RenderedInstanceOverride): string | null;
54
- /** Extracts the distinct canonical targets which renderers must resolve. */
55
36
  export declare function collectRenderedInstanceOverrides(changes: ReadonlyArray<unknown>): RenderedInstanceOverride[];
56
- /**
57
- * The document-projection adapter only applies a new canonical snapshot. A
58
- * later reconciliation changes diagnostics but never starts a reapply loop.
59
- */
37
+ /** A later reconciliation changes diagnostics but never starts a reapply loop. */
60
38
  export declare function applyRenderedInstanceProjection(doc: Document, overrides: ReadonlyArray<RenderedInstanceOverride>): DocumentProjectionReport[];
61
39
  /** Registers controller-owned overrides without projecting them into the editor shell. */
62
40
  export declare function setCanonicalRenderedInstanceOverrides(overrides: ReadonlyArray<RenderedInstanceOverride>): void;
63
41
  export declare function getRenderedInstanceProjectionReports(doc: Document): readonly DocumentProjectionReport[];
64
- /** Diagnostics arrive independently when a renderer reports or React reconciles. */
65
42
  export declare function subscribeRenderedInstanceDiagnostics(listener: () => void): () => void;
66
43
  export declare function getRenderedInstanceDiagnosticRevision(): number;
67
44
  export declare function recordCanvasRenderedInstanceProjectionReports(cardId: string, revision: number, reports: readonly DocumentProjectionReport[], projection?: FrameProjection): void;
@@ -29,7 +29,6 @@ function candidates(doc, sourceSite) {
29
29
  return [];
30
30
  }
31
31
  }
32
- /** Captures conservative, serializable identity at the moment of the action. */
33
32
  export function captureRenderedInstance(el) {
34
33
  const cid = el.getAttribute("data-cid") ?? "";
35
34
  const src = el.getAttribute("data-src") ?? "";
@@ -54,16 +53,10 @@ export function captureRenderedInstance(el) {
54
53
  },
55
54
  };
56
55
  }
57
- /**
58
- * Resolves exactly one element, or declines to apply. Occurrence documents the
59
- * captured placement, but structural previews can legitimately change it.
60
- * Evidence, narrowed by a recorded invocation when present, must therefore
61
- * identify one current candidate before an edit can be applied.
62
- */
56
+ /** Occurrence documents captured placement, but structural previews can change it; evidence must identify exactly one current candidate. */
63
57
  export function resolveRenderedInstance(doc, ref) {
64
58
  const sourceCandidates = candidates(doc, ref.sourceSite);
65
59
  const { props, text, ariaLabel = null, invocation } = ref.locator;
66
- // An ordinal alone is not an identity for a repeated source site.
67
60
  if (!invocation && sourceCandidates.length > 1 && props === null && text === null && ariaLabel === null) {
68
61
  return { status: "ambiguous" };
69
62
  }
@@ -84,18 +77,12 @@ export function resolveRenderedInstance(doc, ref) {
84
77
  }
85
78
  if (matchingEvidence.length === 0)
86
79
  return { status: "missing" };
87
- // Evidence alone is never enough to choose between two identical rendered
88
- // outputs. This is particularly important for structural anchors: applying
89
- // one move to an arbitrary identical parent would reorder the wrong group.
80
+ // Evidence alone never chooses between identical outputs; an arbitrary pick would reorder the wrong group.
90
81
  if (matchingEvidence.length > 1)
91
82
  return { status: "ambiguous" };
92
83
  return { status: "resolved", element: matchingEvidence[0] };
93
84
  }
94
- /**
95
- * Resolves a reference whose source position may have moved since capture.
96
- * A relocated site still renders matching authored evidence, so an evidence
97
- * miss there is reported as ambiguous rather than as proof of absence.
98
- */
85
+ /** A relocated site still renders matching evidence, so an evidence miss is reported as ambiguous, not missing. */
99
86
  export function resolveMovedRenderedInstance(doc, ref) {
100
87
  const exact = resolveRenderedInstance(doc, ref);
101
88
  if (exact.status !== "missing")
@@ -107,12 +94,7 @@ export function resolveMovedRenderedInstance(doc, ref) {
107
94
  const moved = resolveRenderedInstance(doc, { ...ref, sourceSite });
108
95
  return moved.status === "missing" ? { status: "ambiguous" } : moved;
109
96
  }
110
- /**
111
- * Captures identity for a structural target. When evidence matches several
112
- * identical outputs, the nearest component invocation whose entire output is
113
- * this element can still identify it. Otherwise the evidence-only reference
114
- * is returned and resolves as ambiguous.
115
- */
97
+ /** Falls back to the nearest component invocation when evidence matches several identical outputs. */
116
98
  export function captureStructuralTarget(el) {
117
99
  const ref = captureRenderedInstance(el);
118
100
  if (!ref || resolveRenderedInstance(el.ownerDocument, ref).status !== "ambiguous")
@@ -125,7 +107,7 @@ export function captureStructuralTarget(el) {
125
107
  }
126
108
  return ref;
127
109
  }
128
- /** Checks stable source/evidence fields without treating a post-move ordinal as identity. */
110
+ /** Ignores the ordinal, which is not identity after a move. */
129
111
  export function matchesRenderedInstanceEvidence(el, ref) {
130
112
  const { props, text, ariaLabel = null } = ref.locator;
131
113
  return (el.getAttribute("data-cid") ?? "") === ref.sourceSite.cid
@@ -134,14 +116,12 @@ export function matchesRenderedInstanceEvidence(el, ref) {
134
116
  && normalizedText(el) === text
135
117
  && el.getAttribute("aria-label") === ariaLabel;
136
118
  }
137
- /** Builds an instance override without changing the element's transient edit scope. */
138
119
  export function buildRenderedInstanceOverride(el) {
139
120
  const target = captureRenderedInstance(el);
140
121
  if (!target)
141
122
  return null;
142
123
  return buildRenderedInstanceOverrideForTarget(target);
143
124
  }
144
- /** Creates a serializable override for identity that was already validated. */
145
125
  export function buildRenderedInstanceOverrideForTarget(target) {
146
126
  return {
147
127
  id: `override-${crypto.randomUUID?.() ?? nextOverrideId++}`,
@@ -155,7 +135,6 @@ export function createRenderedInstanceOverride(el) {
155
135
  transientTargets.set(el, override);
156
136
  return override;
157
137
  }
158
- /** Returns an active transient target or the canonical target projected here. */
159
138
  export function getRenderedInstanceOverride(el) {
160
139
  const transient = transientTargets.get(el);
161
140
  if (transient)
@@ -172,7 +151,6 @@ export function instanceSelector(override) {
172
151
  const source = sourceSiteSelector(override.target.sourceSite.cid, override.target.sourceSite.src);
173
152
  return source ? `${source}[${PROJECTION_ATTR}="${escapeAttrValue(override.id)}"]` : null;
174
153
  }
175
- /** Extracts the distinct canonical targets which renderers must resolve. */
176
154
  export function collectRenderedInstanceOverrides(changes) {
177
155
  const result = new Map();
178
156
  for (const change of changes) {
@@ -259,10 +237,7 @@ function getDocumentState(doc) {
259
237
  documentStates.set(doc, state);
260
238
  return state;
261
239
  }
262
- /**
263
- * The document-projection adapter only applies a new canonical snapshot. A
264
- * later reconciliation changes diagnostics but never starts a reapply loop.
265
- */
240
+ /** A later reconciliation changes diagnostics but never starts a reapply loop. */
266
241
  export function applyRenderedInstanceProjection(doc, overrides) {
267
242
  if (!isNudgeUiDev())
268
243
  return [];
@@ -300,7 +275,6 @@ export function setCanonicalRenderedInstanceOverrides(overrides) {
300
275
  export function getRenderedInstanceProjectionReports(doc) {
301
276
  return reportsByDocument.get(doc) ?? [];
302
277
  }
303
- /** Diagnostics arrive independently when a renderer reports or React reconciles. */
304
278
  export function subscribeRenderedInstanceDiagnostics(listener) {
305
279
  diagnosticListeners.add(listener);
306
280
  return () => diagnosticListeners.delete(listener);
@@ -1,13 +1,8 @@
1
1
  import type { FrameProjection } from "../canvas/projection.js";
2
2
  import type { StructuralChange, StructuralDelete, StructuralMove, StructuralProjectionReason, StructuralProjectionReport } from "../changes/structuralTypes.js";
3
3
  export { isStructuralChange, isStructuralDelete, isStructuralMove, isStructuralProjectionReport, } from "./structuralProjectionBoundary.js";
4
- /**
5
- * Controller-owned structural intent. It contains no DOM node, placeholder,
6
- * position, or renderer-local identity. Each document resolves a snapshot for
7
- * itself and keeps any physical preview artefacts private to that document.
8
- */
4
+ /** Canonical intent carries no DOM node, placeholder, or renderer-local identity; each document keeps its own preview artefacts. */
9
5
  export type { StructuralChange, StructuralDelete, StructuralMove, StructuralProjectionReason, StructuralProjectionReport, StructuralProjectionStatus, } from "../changes/structuralTypes.js";
10
- /** Conservative HTML containment policy shared by gesture and projection code. */
11
6
  export declare function canContainElement(parent: HTMLElement, child: HTMLElement): boolean;
12
7
  export type StructuralMoveLegality = {
13
8
  valid: true;
@@ -18,11 +13,7 @@ export type StructuralMoveLegality = {
18
13
  valid: false;
19
14
  reason: StructuralProjectionReason;
20
15
  };
21
- /**
22
- * Applies the one conservative move policy used by guide calculation, commit,
23
- * and resolved document projection. The returned elements are document-local
24
- * and must never be stored in canonical structural intent.
25
- */
16
+ /** Returned elements are document-local and must never be stored in canonical intent. */
26
17
  export declare function getStructuralMoveLegality(element: HTMLElement, destination: {
27
18
  parent: HTMLElement;
28
19
  before: Node | null;
@@ -32,56 +23,33 @@ export interface StructuralChangeDiagnostic extends StructuralProjectionReport {
32
23
  }
33
24
  /** Returns bounded view state used to verify a delete in the same rendered view. */
34
25
  export declare function documentStateKey(doc: Document, excluded?: HTMLElement): string | undefined;
35
- /** Captures a delete intent once, in the controller, at the user gesture. */
36
26
  export declare function createStructuralDelete(element: HTMLElement, id?: string): StructuralDelete | null;
37
- /**
38
- * Capture a move only when every address can be represented by durable
39
- * rendered-instance references. Local DOM positions are deliberately never a
40
- * fallback: a missed preview is safer than moving the wrong item.
41
- */
27
+ /** Local DOM positions are never a fallback: a missed preview beats moving the wrong item. */
42
28
  export declare function createStructuralMove(element: HTMLElement, destination: {
43
29
  parent: HTMLElement;
44
30
  before: Node | null;
45
31
  }, id?: string): StructuralMove | null;
46
32
  export declare function getStructuralChanges(): readonly StructuralChange[];
47
33
  export declare function getStructuralDeletes(): readonly StructuralDelete[];
48
- /** Revert removes one canonical intent and leaves every other intent intact. */
49
34
  export declare function revertStructuralChange(changeId: string): boolean;
50
35
  /** State changes drive controller-to-renderer projection. Diagnostics do not. */
51
36
  export declare function subscribeStructuralChanges(listener: () => void): () => void;
52
37
  /** Compatibility name retained while the controller moved to a full union. */
53
38
  export declare const subscribeStructuralDeletes: typeof subscribeStructuralChanges;
54
- /** Diagnostics change after host/frame resolution or a one-shot conflict check. */
55
39
  export declare function subscribeStructuralDiagnostics(listener: () => void): () => void;
56
- /** Monotonic snapshot for React consumers of document-local diagnostics. */
57
40
  export declare function getStructuralDiagnosticRevision(): number;
58
- /**
59
- * Apply one full controller snapshot to one document. Physical nodes and
60
- * placeholders stay in the document state only; history stays serializable in
61
- * the controller. A same snapshot never reapplies an overridden preview.
62
- */
41
+ /** Physical nodes stay document-local; an unchanged snapshot never reapplies an overridden preview. */
63
42
  export declare function applyStructuralProjection(doc: Document, snapshot: readonly StructuralChange[]): StructuralProjectionReport[];
64
- /** Compatibility entry point for the delete-only 0050 callers. */
43
+ /** Compatibility entry point for delete-only callers. */
65
44
  export declare function applyStructuralDeleteProjection(doc: Document, snapshot: readonly StructuralDelete[]): StructuralProjectionReport[];
66
45
  export declare function getStructuralProjectionReports(doc: Document): readonly StructuralProjectionReport[];
67
- /**
68
- * Frames may report only their document-local outcome. The controller owns
69
- * these reports and filters them against its current canonical change set.
70
- */
46
+ /** Frames report document-local outcomes; the controller filters them against its canonical change set. */
71
47
  export declare function recordCanvasStructuralProjectionReports(cardId: string, revision: number, reports: readonly StructuralProjectionReport[], projection?: FrameProjection): void;
72
48
  export declare function clearCanvasStructuralProjectionReports(cardId: string): void;
73
- /** Removes document-local reports for canonical intents that no longer exist. */
74
49
  export declare function pruneStructuralProjectionReports(changeIds: ReadonlySet<string>): void;
75
- /** Clears reports before restoring or clearing an atomic workspace snapshot. */
76
50
  export declare function clearStructuralProjectionReports(): void;
77
51
  export declare function getStructuralChangeDiagnostics(changeId: string): StructuralChangeDiagnostic[];
78
52
  /** Controller teardown/test hook. It is not a user-visible history operation. */
79
53
  export declare function resetStructuralDeleteProjection(): void;
80
- /**
81
- * Releases one document's structural projection without touching canonical
82
- * workspace intent. Applied deletes/moves owned by this document are restored
83
- * and the document observer is disconnected; the controller snapshot stays
84
- * intact so a later remount can re-project from canonical state. Register as
85
- * a document-session cleanup alongside disposeBrowserCssInspection.
86
- */
54
+ /** Restores this document's previews and disconnects its observer; canonical intent stays intact for a later remount. */
87
55
  export declare function releaseDocumentProjection(doc: Document): void;
@@ -23,7 +23,6 @@ function isUnsupportedWrappedFlexRow(element) {
23
23
  && (style.flexDirection || "row").startsWith("row")
24
24
  && Boolean(style.flexWrap && style.flexWrap !== "nowrap");
25
25
  }
26
- /** Conservative HTML containment policy shared by gesture and projection code. */
27
26
  export function canContainElement(parent, child) {
28
27
  const parentTag = parent.tagName.toLowerCase();
29
28
  if (VOID_PARENT_TAGS.has(parentTag)
@@ -33,11 +32,7 @@ export function canContainElement(parent, child) {
33
32
  return false;
34
33
  return !PHRASING_PARENT_TAGS.has(parentTag) || isPhrasingElement(child);
35
34
  }
36
- /**
37
- * Applies the one conservative move policy used by guide calculation, commit,
38
- * and resolved document projection. The returned elements are document-local
39
- * and must never be stored in canonical structural intent.
40
- */
35
+ /** Returned elements are document-local and must never be stored in canonical intent. */
41
36
  export function getStructuralMoveLegality(element, destination) {
42
37
  if (!element.isConnected)
43
38
  return { valid: false, reason: "target" };
@@ -108,8 +103,10 @@ function documentRoute(doc) {
108
103
  }
109
104
  }
110
105
  function stableStateValue(value, seen = new WeakSet()) {
111
- if (!value || typeof value !== "object")
106
+ if (value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean")
112
107
  return value;
108
+ if (typeof value !== "object")
109
+ return String(value);
113
110
  if (seen.has(value))
114
111
  return "[Circular]";
115
112
  seen.add(value);
@@ -172,8 +169,7 @@ export function documentStateKey(doc, excluded) {
172
169
  }
173
170
  }
174
171
  function cloneSnapshot(snapshot) {
175
- // Structural changes are small JSON-safe records. Cloning their top-level
176
- // array is enough: no operation mutates a change or its nested references.
172
+ // Shallow clone is enough: no operation mutates a change or its nested references.
177
173
  return [...snapshot];
178
174
  }
179
175
  /** The Draft store already re-projected the host; this covers every other known document. */
@@ -182,7 +178,6 @@ function projectStructuralChanges() {
182
178
  for (const doc of documentStates.keys())
183
179
  applyStructuralProjection(doc, changes);
184
180
  }
185
- /** Captures a delete intent once, in the controller, at the user gesture. */
186
181
  export function createStructuralDelete(element, id = structuralId()) {
187
182
  const target = captureStructuralTarget(element);
188
183
  if (!target)
@@ -201,11 +196,7 @@ export function createStructuralDelete(element, id = structuralId()) {
201
196
  projectStructuralChanges();
202
197
  return change;
203
198
  }
204
- /**
205
- * Capture a move only when every address can be represented by durable
206
- * rendered-instance references. Local DOM positions are deliberately never a
207
- * fallback: a missed preview is safer than moving the wrong item.
208
- */
199
+ /** Local DOM positions are never a fallback: a missed preview beats moving the wrong item. */
209
200
  export function createStructuralMove(element, destination, id = structuralId()) {
210
201
  const legality = getStructuralMoveLegality(element, destination);
211
202
  if (!legality.valid)
@@ -250,7 +241,6 @@ export function getStructuralChanges() {
250
241
  export function getStructuralDeletes() {
251
242
  return getStructuralChanges().filter((change) => change.kind === "delete");
252
243
  }
253
- /** Revert removes one canonical intent and leaves every other intent intact. */
254
244
  export function revertStructuralChange(changeId) {
255
245
  const changed = revertDraftStructuralChange(changeId);
256
246
  if (changed)
@@ -263,12 +253,10 @@ export function subscribeStructuralChanges(listener) {
263
253
  }
264
254
  /** Compatibility name retained while the controller moved to a full union. */
265
255
  export const subscribeStructuralDeletes = subscribeStructuralChanges;
266
- /** Diagnostics change after host/frame resolution or a one-shot conflict check. */
267
256
  export function subscribeStructuralDiagnostics(listener) {
268
257
  diagnosticListeners.add(listener);
269
258
  return () => diagnosticListeners.delete(listener);
270
259
  }
271
- /** Monotonic snapshot for React consumers of document-local diagnostics. */
272
260
  export function getStructuralDiagnosticRevision() {
273
261
  return diagnosticRevision;
274
262
  }
@@ -289,6 +277,7 @@ function getDocumentState(doc) {
289
277
  return state;
290
278
  }
291
279
  function installDocumentObserver(doc, state) {
280
+ // SAFETY: attaches are read from the document's own realm so cross-origin frames use their own MutationObserver.
292
281
  const viewWithObserver = doc.defaultView;
293
282
  const Observer = viewWithObserver?.MutationObserver
294
283
  ?? (typeof MutationObserver !== "undefined" ? MutationObserver : undefined);
@@ -316,14 +305,10 @@ function scheduleValidation(doc, state) {
316
305
  state.validationQueued = true;
317
306
  queueMicrotask(() => {
318
307
  state.validationQueued = false;
319
- // A renderer can receive its projection before its application tree has
320
- // mounted. Retry unresolved records after that tree changes so a valid
321
- // late mount converges without requiring another controller message.
308
+ // Retry unresolved records when the tree changes so a late-mounting renderer converges without another controller message.
322
309
  if (hasUnresolvedAppliedChange(state)) {
323
310
  rebuildForSnapshot(doc, state, state.snapshot, false);
324
- // The replay is synchronous, so external renderer mutations cannot
325
- // interleave with it. Discard only the records produced by the replay;
326
- // future renderer mutations remain observed and can trigger another try.
311
+ // The replay is synchronous, so discarding its records only drops the replay's own mutations.
327
312
  state.observer?.takeRecords();
328
313
  storeReports(doc, reportsForSnapshot(state, state.snapshot));
329
314
  return;
@@ -357,8 +342,7 @@ function restoreApplied(local) {
357
342
  if (local.kind === "unresolved")
358
343
  return;
359
344
  if (local.kind === "delete") {
360
- // If React already replaced our placeholder, never reinsert the stale
361
- // detached node. The observer will (or already did) report overridden.
345
+ // Never reinsert a stale detached node when React already replaced our placeholder.
362
346
  if (local.placeholder.isConnected)
363
347
  local.placeholder.replaceWith(local.element);
364
348
  return;
@@ -369,8 +353,7 @@ function restoreApplied(local) {
369
353
  local.fromParent.insertBefore(local.element, anchor);
370
354
  }
371
355
  function rebuildForSnapshot(doc, state, snapshot, schedulePostReplayValidation = true) {
372
- // React may have changed a projected node before its mutation callback ran.
373
- // Validate synchronously so a rebuild never restores a framework-owned node.
356
+ // React may have changed a projected node before its mutation callback ran; validate before rebuilding.
374
357
  validateAppliedPreview(doc, state);
375
358
  const activeIds = new Set(snapshot.map((change) => change.id));
376
359
  const retainedOverrides = new Map();
@@ -378,9 +361,7 @@ function rebuildForSnapshot(doc, state, snapshot, schedulePostReplayValidation =
378
361
  if (local.status === "overridden" && activeIds.has(id))
379
362
  retainedOverrides.set(id, local);
380
363
  }
381
- // Undo in reverse application order, reconstructing this document's source
382
- // baseline before replaying the desired canonical sequence. This is what
383
- // makes reverting an earlier move correct when later moves remain.
364
+ // Undo in reverse order to reconstruct the source baseline; this is what makes reverting an earlier move correct when later moves remain.
384
365
  for (const id of [...state.appliedOrder].reverse()) {
385
366
  const local = state.applied.get(id);
386
367
  if (local && local.status !== "overridden")
@@ -396,8 +377,7 @@ function rebuildForSnapshot(doc, state, snapshot, schedulePostReplayValidation =
396
377
  continue;
397
378
  applyChangeToDocument(doc, state, change);
398
379
  }
399
- // Moves need to verify the final placement, after all later canonical
400
- // operations have replayed, rather than the transient first insertion.
380
+ // Verify the final placement after all later canonical operations replayed, not the transient first insertion.
401
381
  for (const local of state.applied.values()) {
402
382
  if (local.kind === "move" && local.status === "applied") {
403
383
  local.expectedParent = local.element.parentElement ?? local.expectedParent;
@@ -496,11 +476,7 @@ function validateAppliedPreview(doc, state) {
496
476
  return;
497
477
  storeReports(doc, reportsForSnapshot(state, state.snapshot));
498
478
  }
499
- /**
500
- * Apply one full controller snapshot to one document. Physical nodes and
501
- * placeholders stay in the document state only; history stays serializable in
502
- * the controller. A same snapshot never reapplies an overridden preview.
503
- */
479
+ /** Physical nodes stay document-local; an unchanged snapshot never reapplies an overridden preview. */
504
480
  export function applyStructuralProjection(doc, snapshot) {
505
481
  const state = getDocumentState(doc);
506
482
  const key = JSON.stringify(snapshot);
@@ -510,17 +486,14 @@ export function applyStructuralProjection(doc, snapshot) {
510
486
  storeReports(doc, reports);
511
487
  return reports;
512
488
  }
513
- /** Compatibility entry point for the delete-only 0050 callers. */
489
+ /** Compatibility entry point for delete-only callers. */
514
490
  export function applyStructuralDeleteProjection(doc, snapshot) {
515
491
  return applyStructuralProjection(doc, snapshot);
516
492
  }
517
493
  export function getStructuralProjectionReports(doc) {
518
494
  return reportsByDocument.get(doc) ?? [];
519
495
  }
520
- /**
521
- * Frames may report only their document-local outcome. The controller owns
522
- * these reports and filters them against its current canonical change set.
523
- */
496
+ /** Frames report document-local outcomes; the controller filters them against its canonical change set. */
524
497
  export function recordCanvasStructuralProjectionReports(cardId, revision, reports, projection) {
525
498
  if (!Number.isSafeInteger(revision) || revision < 0 || !reports.every(isStructuralProjectionReport))
526
499
  return;
@@ -543,7 +516,6 @@ export function clearCanvasStructuralProjectionReports(cardId) {
543
516
  return;
544
517
  notifyDiagnostics();
545
518
  }
546
- /** Removes document-local reports for canonical intents that no longer exist. */
547
519
  export function pruneStructuralProjectionReports(changeIds) {
548
520
  if (changeIds.size === 0)
549
521
  return;
@@ -555,7 +527,6 @@ export function pruneStructuralProjectionReports(changeIds) {
555
527
  }
556
528
  notifyDiagnostics();
557
529
  }
558
- /** Clears reports before restoring or clearing an atomic workspace snapshot. */
559
530
  export function clearStructuralProjectionReports() {
560
531
  reportsByCanvasCard.clear();
561
532
  reportsByDocument = new WeakMap();
@@ -592,13 +563,7 @@ export function resetStructuralDeleteProjection() {
592
563
  diagnosticRevision = 0;
593
564
  notifyDiagnostics();
594
565
  }
595
- /**
596
- * Releases one document's structural projection without touching canonical
597
- * workspace intent. Applied deletes/moves owned by this document are restored
598
- * and the document observer is disconnected; the controller snapshot stays
599
- * intact so a later remount can re-project from canonical state. Register as
600
- * a document-session cleanup alongside disposeBrowserCssInspection.
601
- */
566
+ /** Restores this document's previews and disconnects its observer; canonical intent stays intact for a later remount. */
602
567
  export function releaseDocumentProjection(doc) {
603
568
  const state = documentStates.get(doc);
604
569
  if (!state) {
@@ -17,7 +17,6 @@ export interface TextContentProjectionDiagnostic extends TextProjectionReport {
17
17
  export declare const TEXT_PROJECTION_ATTR = "data-projection-text";
18
18
  /** Inspector-owned hit target for a projected text node whose value is empty. */
19
19
  export declare const EMPTY_TEXT_PROJECTION_ATTR = "data-empty-text";
20
- /** Inspector-owned exact-node evidence paired with EMPTY_TEXT_PROJECTION_ATTR. */
21
20
  export declare const EMPTY_TEXT_PROJECTION_PATH_ATTR = "data-empty-text-path";
22
21
  export type TextProjectionResolution = {
23
22
  status: "resolved";
@@ -27,28 +26,17 @@ export type TextProjectionResolution = {
27
26
  } | {
28
27
  status: "ambiguous";
29
28
  };
30
- /** Find the exact text node represented by a target, tolerating a changed
31
- * child path only when one bounded before/after text node remains unique. */
29
+ /** Tolerates a changed child path only when one before/after text node remains unique. */
32
30
  export declare function resolveTextProjectionTextNode(element: HTMLElement, target: Pick<TextProjectionTarget, "textNodePath"> & Partial<Pick<TextProjectionTarget, "beforeText">>, expectedText?: string | undefined): Text | null;
33
- /** Whether an element's text is code, form state, or other non-prose content. */
34
31
  export declare function isUnsafeTextHost(element: Element): boolean;
35
- /** Whether an application-owned editing region contains the element. */
36
32
  export declare function isInApplicationEditingHost(element: Element): boolean;
37
- /** Whether replacing one text node inside the element keeps its authored markup. */
38
33
  export declare function hasSafeMixedDescendants(element: HTMLElement): boolean;
39
- /** Capture stable source/evidence identity without retaining a DOM reference. */
40
34
  export declare function captureTextProjectionTarget(element: HTMLElement, beforeText?: string, selectedTextNode?: Text): TextProjectionTarget | null;
41
- /**
42
- * Resolve against source identity and bounded evidence. Occurrence is kept as
43
- * presentation metadata only and is never used to choose among identical
44
- * repeated outputs.
45
- */
35
+ /** Occurrence is presentation metadata only; identical repeated outputs resolve as ambiguous. */
46
36
  export declare function resolveTextProjectionTarget(doc: Document, target: TextProjectionTarget, afterText?: string): TextProjectionResolution;
47
37
  export declare function textProjectionSelector(target: TextProjectionTarget): string | null;
48
38
  export declare function collectTextContentChanges(changes: ReadonlyArray<unknown>): TextContentChangeRecord[];
49
- /** Returns the canonical record represented by an inspector empty-text slot. */
50
39
  export declare function getTextContentChangeById(changeId: string): TextContentChangeRecord | null;
51
- /** Apply one controller-owned text snapshot to a document adapter. */
52
40
  export declare function applyTextContentProjection(doc: Document, changes: ReadonlyArray<TextContentChangeRecord>): TextProjectionReport[];
53
41
  /** Registers controller-owned text changes without projecting them into the editor shell. */
54
42
  export declare function setCanonicalTextContentChanges(changes: ReadonlyArray<TextContentChangeRecord>): void;