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
@@ -1,136 +1,62 @@
1
1
  import type { TokenCatalogDiagnostic, TokenDefinition, TokenEntry } from "../../css/model/index.js";
2
2
  import type { ComponentContract } from "../componentSemantics/types.js";
3
- /** The host Adapter that supplied the active inspector runtime. */
4
3
  export type NudgeUiRuntimeHost = "vite-react" | "static-html" | "nextjs-react" | "astro";
5
- /** The framework semantics enabled for the active inspector runtime. */
6
4
  export type NudgeUiRuntimeFramework = "React" | "HTML" | "Astro";
7
- /**
8
- * Which identity origins carry exact authored coordinates in prompts
9
- * (ADR-0011 Stage 5).
10
- *
11
- * A host whose pipeline captures `data-src` positions from anything other
12
- * than the authored source declares the exact subset. Hosts that omit the
13
- * policy state that every source site is exact.
14
- */
15
5
  export interface SourceCoordinatePolicy {
16
6
  /** Cid prefixes whose `data-src` line:column point at authored source. */
17
7
  readonly exactCidPrefixes: readonly string[];
18
8
  /** File extensions whose `data-src` line:column point at authored source. */
19
9
  readonly exactFileExtensions: readonly string[];
20
10
  }
21
- /** Capabilities exposed by the active host Adapter. */
22
11
  export interface NudgeUiRuntimeCapabilities {
23
- /** Whether the multi-page Canvas workspace is available. */
24
12
  readonly canvas: boolean;
25
- /** Whether framework component inspection and prop overrides are available. */
26
13
  readonly componentSemantics: boolean;
27
- /** Whether the DOM navigator overlay is available. */
28
14
  readonly domNavigation?: boolean;
29
- /**
30
- * Source-coordinate precision policy for prompts; every source site is
31
- * exact when the host omits it.
32
- */
15
+ /** Precision policy for prompt source coordinates; every source site is exact when omitted. */
33
16
  readonly sourceCoordinates?: SourceCoordinatePolicy;
34
- /**
35
- * Regex source matching this host's structural scoping markers, stripped
36
- * from human-facing selector labels (ADR-0011). The raw selector stays in
37
- * change records so managed-rule targeting keeps matching the rendered
38
- * DOM. No stripping when the host omits it.
39
- */
17
+ /** Regex for this host's scoping markers; stripped from selector labels, kept in change records. Omitted means no stripping. */
40
18
  readonly scopingSelectorPattern?: string;
41
19
  }
42
- /** Product features that a host can selectively expose in its inspector UI. */
43
20
  export interface NudgeUiRuntimeFeatures {
44
- /** Whether the annotation sketch tool is available in the Canvas UI. */
45
21
  readonly sketch?: boolean;
46
- /** Whether Canvas can create filesystem-backed HTML iterations. */
47
22
  readonly canvasIterations?: boolean;
23
+ /** The MCP settings section; hosts that cannot reach an MCP server turn it off. */
24
+ readonly mcp?: boolean;
48
25
  }
49
- /**
50
- * Browser knowledge supplied by a host Adapter before the inspector mounts.
51
- *
52
- * A host replaces the complete configuration when its document is replaced or
53
- * its development transport is refreshed. Shared inspector Modules read the
54
- * current snapshot through `getNudgeUiRuntimeConfig()` and never import a
55
- * host-specific transport directly.
56
- */
57
26
  export interface NudgeUiRuntimeConfig {
58
27
  readonly projectId: string;
59
28
  readonly host: NudgeUiRuntimeHost;
60
29
  readonly framework: NudgeUiRuntimeFramework;
61
30
  readonly stylingSystem: string;
62
31
  readonly capabilities: NudgeUiRuntimeCapabilities;
63
- /** Product-level feature switches; omitted features remain enabled. */
32
+ /** Omitted features remain enabled. */
64
33
  readonly features?: NudgeUiRuntimeFeatures;
65
34
  readonly tokenCatalog: readonly TokenDefinition[];
66
35
  readonly tokens: readonly TokenEntry[];
67
36
  readonly tokenDiagnostics: readonly TokenCatalogDiagnostic[];
68
37
  readonly tokenGeneration: string;
69
38
  readonly componentContracts: readonly ComponentContract[];
70
- /** Why this page cannot be inspected; replaces the selection empty state. */
39
+ /** Replaces the selection empty state when the page cannot be inspected. */
71
40
  readonly inspectionUnavailableReason?: string;
72
- /** Whether this runtime is the explicit public landing-page demo. */
73
41
  readonly demo?: boolean;
74
- /** Additional same-origin pages seeded into the public demo canvas. */
42
+ /** Additional same-origin pages seeded into the demo canvas. */
75
43
  readonly demoPages?: readonly string[];
76
- /** Labels for demo cards in display order, including the primary card. */
44
+ /** In display order, including the primary card. */
77
45
  readonly demoCardLabels?: readonly string[];
78
46
  }
79
- /**
80
- * Validates a host-supplied configuration and fills safe defaults.
81
- *
82
- * `projectId`, `host`, and `framework` are required identity fields; wrong
83
- * types or values fail fast at the host seam instead of leaking `undefined`
84
- * into storage keys or capability checks. Token arrays, the styling-system
85
- * label, generation string, and capabilities are optional and default to
86
- * empty/false values so a minimal host still bootstraps honestly.
87
- *
88
- * @param input The configuration supplied by a host Adapter.
89
- * @returns A complete plain-data configuration ready to snapshot.
90
- */
47
+ /** Throws TypeError on invalid input; optional fields receive safe defaults. */
91
48
  export declare function normalizeNudgeUiRuntimeConfig(input: unknown): NudgeUiRuntimeConfig;
92
- /**
93
- * Replaces the complete runtime configuration for the active document.
94
- *
95
- * The input is validated and incomplete optional fields receive safe defaults
96
- * (see `normalizeNudgeUiRuntimeConfig`). Replacement is atomic from the
97
- * inspector's perspective. The returned snapshot owns recursively cloned and
98
- * frozen plain data, so a host can safely replace its virtual module values
99
- * during HMR without leaving shared Modules bound to an old transport object
100
- * or freezing caller-owned values.
101
- */
102
49
  export declare function configureNudgeUiRuntime(config: NudgeUiRuntimeConfig): void;
103
- /** Returns the immutable runtime snapshot used by shared inspector Modules. */
104
50
  export declare function getNudgeUiRuntimeConfig(): NudgeUiRuntimeConfig;
105
- /** Returns whether a product feature is enabled; omitted flags default to enabled. */
106
51
  export declare function isNudgeUiFeatureEnabled(features: NudgeUiRuntimeFeatures | undefined, feature: keyof NudgeUiRuntimeFeatures): boolean;
107
- /**
108
- * Whether this document runs the explicit public landing demo (ADR-0014 and
109
- * ADR-0016). The plugin emits `demo: true` for the flagged demo route and for
110
- * the explicit landing root in development and `nudge-demo` builds, so this is
111
- * the precise runtime boundary of the demo — narrower than any build-mode
112
- * name.
113
- */
52
+ /** The demo boundary is this flag, never a build-mode name. */
114
53
  export declare function isDemoRuntime(): boolean;
115
- /**
116
- * Returns the active host's source-coordinate policy, or null when the host
117
- * declares none — every source site is exact in that case.
118
- */
119
54
  export declare function getSourceCoordinatePolicy(): SourceCoordinatePolicy | null;
120
- /**
121
- * Returns the active host's structural scoping-marker pattern compiled for
122
- * global replacement, or null when the host declares none. An invalid regex
123
- * source degrades to no stripping rather than breaking labeling.
124
- */
55
+ /** Null when the host declares none; an invalid pattern degrades to no stripping. */
125
56
  export declare function getScopingSelectorPattern(): RegExp | null;
126
- /**
127
- * Subscribes to complete runtime replacements, such as Vite HMR updates.
128
- * Listeners run after the new snapshot is installed.
129
- */
57
+ /** Listeners run after the new snapshot is installed. */
130
58
  export declare function subscribeNudgeUiRuntime(listener: () => void): () => void;
131
- /** Returns the styling-system label represented by a token inventory. */
132
59
  export declare function detectStylingSystem(tokens: readonly TokenEntry[]): string;
133
- /** Returns a mutable container for UI controls that require array props. */
134
60
  export declare function getNudgeUiTokenEntries(): TokenEntry[];
135
61
  export type { TokenCatalogDiagnostic, TokenDefinition, TokenEntry } from "../../css/model/index.js";
136
62
  export type { ComponentContract } from "../componentSemantics/types.js";
@@ -5,9 +5,8 @@ function cloneAndFreeze(value, seen = new WeakMap()) {
5
5
  const existing = seen.get(source);
6
6
  if (existing)
7
7
  return existing;
8
- // An already-frozen subtree is immutable, so it can be reused by reference.
9
- // Repeated configuration with the same frozen payload (HMR re-runs, stub
10
- // spread patterns) keeps array identity stable for identity-keyed caches.
8
+ // Frozen subtrees are reused by reference so repeated configuration with the
9
+ // same frozen payload keeps array identity for identity-keyed caches.
11
10
  if (Object.isFrozen(value)) {
12
11
  seen.set(source, value);
13
12
  return value;
@@ -159,11 +158,13 @@ function normalizeFeatures(input) {
159
158
  }
160
159
  const sketch = optionalFeatureBoolean(input, "sketch");
161
160
  const canvasIterations = optionalFeatureBoolean(input, "canvasIterations");
162
- if (sketch === undefined && canvasIterations === undefined)
161
+ const mcp = optionalFeatureBoolean(input, "mcp");
162
+ if (sketch === undefined && canvasIterations === undefined && mcp === undefined)
163
163
  return {};
164
164
  return {
165
165
  ...(sketch === undefined ? {} : { sketch }),
166
166
  ...(canvasIterations === undefined ? {} : { canvasIterations }),
167
+ ...(mcp === undefined ? {} : { mcp }),
167
168
  };
168
169
  }
169
170
  function optionalDemoFlag(input) {
@@ -175,18 +176,7 @@ function optionalDemoFlag(input) {
175
176
  }
176
177
  return true;
177
178
  }
178
- /**
179
- * Validates a host-supplied configuration and fills safe defaults.
180
- *
181
- * `projectId`, `host`, and `framework` are required identity fields; wrong
182
- * types or values fail fast at the host seam instead of leaking `undefined`
183
- * into storage keys or capability checks. Token arrays, the styling-system
184
- * label, generation string, and capabilities are optional and default to
185
- * empty/false values so a minimal host still bootstraps honestly.
186
- *
187
- * @param input The configuration supplied by a host Adapter.
188
- * @returns A complete plain-data configuration ready to snapshot.
189
- */
179
+ /** Throws TypeError on invalid input; optional fields receive safe defaults. */
190
180
  export function normalizeNudgeUiRuntimeConfig(input) {
191
181
  if (!isPlainRecord(input)) {
192
182
  throw new TypeError("Nudge UI runtime configuration must be an object.");
@@ -221,16 +211,6 @@ export function normalizeNudgeUiRuntimeConfig(input) {
221
211
  }
222
212
  let activeRuntimeConfig = DEFAULT_RUNTIME_CONFIG;
223
213
  const runtimeListeners = new Set();
224
- /**
225
- * Replaces the complete runtime configuration for the active document.
226
- *
227
- * The input is validated and incomplete optional fields receive safe defaults
228
- * (see `normalizeNudgeUiRuntimeConfig`). Replacement is atomic from the
229
- * inspector's perspective. The returned snapshot owns recursively cloned and
230
- * frozen plain data, so a host can safely replace its virtual module values
231
- * during HMR without leaving shared Modules bound to an old transport object
232
- * or freezing caller-owned values.
233
- */
234
214
  export function configureNudgeUiRuntime(config) {
235
215
  activeRuntimeConfig = normalizeNudgeUiRuntimeConfig(config);
236
216
  for (const listener of runtimeListeners) {
@@ -242,37 +222,21 @@ export function configureNudgeUiRuntime(config) {
242
222
  }
243
223
  }
244
224
  }
245
- /** Returns the immutable runtime snapshot used by shared inspector Modules. */
246
225
  export function getNudgeUiRuntimeConfig() {
247
226
  return activeRuntimeConfig;
248
227
  }
249
- /** Returns whether a product feature is enabled; omitted flags default to enabled. */
250
228
  export function isNudgeUiFeatureEnabled(features, feature) {
251
229
  return features?.[feature] !== false;
252
230
  }
253
- /**
254
- * Whether this document runs the explicit public landing demo (ADR-0014 and
255
- * ADR-0016). The plugin emits `demo: true` for the flagged demo route and for
256
- * the explicit landing root in development and `nudge-demo` builds, so this is
257
- * the precise runtime boundary of the demo — narrower than any build-mode
258
- * name.
259
- */
231
+ /** The demo boundary is this flag, never a build-mode name. */
260
232
  export function isDemoRuntime() {
261
233
  return getNudgeUiRuntimeConfig().demo === true;
262
234
  }
263
- /**
264
- * Returns the active host's source-coordinate policy, or null when the host
265
- * declares none — every source site is exact in that case.
266
- */
267
235
  export function getSourceCoordinatePolicy() {
268
236
  return activeRuntimeConfig.capabilities.sourceCoordinates ?? null;
269
237
  }
270
238
  let compiledScopingPattern = null;
271
- /**
272
- * Returns the active host's structural scoping-marker pattern compiled for
273
- * global replacement, or null when the host declares none. An invalid regex
274
- * source degrades to no stripping rather than breaking labeling.
275
- */
239
+ /** Null when the host declares none; an invalid pattern degrades to no stripping. */
276
240
  export function getScopingSelectorPattern() {
277
241
  const source = activeRuntimeConfig.capabilities.scopingSelectorPattern;
278
242
  if (source === undefined)
@@ -287,15 +251,11 @@ export function getScopingSelectorPattern() {
287
251
  }
288
252
  return compiledScopingPattern.pattern;
289
253
  }
290
- /**
291
- * Subscribes to complete runtime replacements, such as Vite HMR updates.
292
- * Listeners run after the new snapshot is installed.
293
- */
254
+ /** Listeners run after the new snapshot is installed. */
294
255
  export function subscribeNudgeUiRuntime(listener) {
295
256
  runtimeListeners.add(listener);
296
257
  return () => runtimeListeners.delete(listener);
297
258
  }
298
- /** Returns the styling-system label represented by a token inventory. */
299
259
  export function detectStylingSystem(tokens) {
300
260
  for (const token of tokens) {
301
261
  if (token.adapter === "vanilla-extract")
@@ -307,7 +267,6 @@ export function detectStylingSystem(tokens) {
307
267
  }
308
268
  return "CSS custom properties";
309
269
  }
310
- /** Returns a mutable container for UI controls that require array props. */
311
270
  export function getNudgeUiTokenEntries() {
312
271
  return [...activeRuntimeConfig.tokens];
313
272
  }
@@ -1,10 +1,5 @@
1
1
  import type { DraftContents } from "../drafts/model.js";
2
- /**
3
- * A generated identity that a saved edit refers to, plus the rendered facts
4
- * captured with it. Generated identities are document-local: after a reload
5
- * no element carries them until the claim is re-attached to the one element
6
- * whose rendered facts still match.
7
- */
2
+ /** Document-local identity that survives a reload only by re-attaching to the element whose rendered facts match. */
8
3
  export interface RuntimeIdentityClaim {
9
4
  readonly cid: string;
10
5
  readonly src: string | null;
@@ -15,15 +10,10 @@ export interface RuntimeIdentityClaim {
15
10
  readonly domPath: string | null;
16
11
  readonly elementId: string | null;
17
12
  }
18
- /** Collects one claim per generated identity referenced by saved edits. */
19
13
  export declare function collectRuntimeIdentityClaims({ changes, structuralChanges }: DraftContents): RuntimeIdentityClaim[];
20
- /**
21
- * Replaces the generated identities saved edits refer to in one document and
22
- * attaches each to its element, now and whenever the document's elements are
23
- * replaced. Unmatched claims stay pending; their edits simply do not apply.
24
- */
14
+ /** Unmatched claims stay pending; their edits simply do not apply. */
25
15
  export declare function applyRuntimeIdentityClaims(doc: Document, claims: readonly RuntimeIdentityClaim[]): void;
26
- /** Stops reattachment for a disposed document session, including queued work. */
16
+ /** Stops reattachment for a document session, including queued work. */
27
17
  export declare function disposeRuntimeIdentityClaims(doc: Document): void;
28
18
  /** Runtime validation for claims received from another window. */
29
19
  export declare function isRuntimeIdentityClaim(value: unknown): value is RuntimeIdentityClaim;
@@ -20,11 +20,10 @@ function claimFromEvidence(cid, src, evidence) {
20
20
  elementId: evidence.elementId ?? null,
21
21
  };
22
22
  }
23
- /** Collects one claim per generated identity referenced by saved edits. */
24
23
  export function collectRuntimeIdentityClaims({ changes, structuralChanges }) {
25
24
  const claims = new Map();
26
- // The page still renders the text from before an inline text edit, so a
27
- // text edit's original text wins over evidence captured after the preview.
25
+ // The page still renders the text from before an inline text edit, so a text
26
+ // edit's original text wins over evidence captured after the preview.
28
27
  const originalText = new Map();
29
28
  for (const change of changes) {
30
29
  if (change.kind === "text-content") {
@@ -79,11 +78,7 @@ function hasStructuralMatch(element, claim) {
79
78
  && boundRuntimeEvidence(element.getAttribute("data-cprops")) === claim.props
80
79
  && (claim.domPath === null || runtimeDomPath(element) === claim.domPath);
81
80
  }
82
- /**
83
- * Finds the single element a claim describes, or null when none or several
84
- * match. Elements holding authored identity, or another claim's identity,
85
- * are never taken. Conflicting text evidence leaves the claim unattached.
86
- */
81
+ /** Never takes an element that holds authored identity or another claim's identity. */
87
82
  function findClaimedElement(doc, claim, claimed) {
88
83
  if (!claim.tagName)
89
84
  return null;
@@ -131,9 +126,8 @@ function observe(doc, state) {
131
126
  const Observer = doc.defaultView?.MutationObserver;
132
127
  if (!Observer || !doc.documentElement)
133
128
  return;
134
- // Frameworks replace server-rendered elements during hydration and route
135
- // changes. Re-attach once per mutation batch; attaching only writes to an
136
- // element that lacks the identity, so it cannot feed itself.
129
+ // Attaching only writes to an element that lacks the identity, so hydration and route
130
+ // changes cannot feed the observer its own writes.
137
131
  state.observer = new Observer(() => {
138
132
  if (state.queued)
139
133
  return;
@@ -147,11 +141,7 @@ function observe(doc, state) {
147
141
  });
148
142
  state.observer.observe(doc.documentElement, { childList: true, subtree: true });
149
143
  }
150
- /**
151
- * Replaces the generated identities saved edits refer to in one document and
152
- * attaches each to its element, now and whenever the document's elements are
153
- * replaced. Unmatched claims stay pending; their edits simply do not apply.
154
- */
144
+ /** Unmatched claims stay pending; their edits simply do not apply. */
155
145
  export function applyRuntimeIdentityClaims(doc, claims) {
156
146
  if (claims.length === 0) {
157
147
  disposeRuntimeIdentityClaims(doc);
@@ -166,7 +156,7 @@ export function applyRuntimeIdentityClaims(doc, claims) {
166
156
  attachClaims(doc, state);
167
157
  observe(doc, state);
168
158
  }
169
- /** Stops reattachment for a disposed document session, including queued work. */
159
+ /** Stops reattachment for a document session, including queued work. */
170
160
  export function disposeRuntimeIdentityClaims(doc) {
171
161
  states.get(doc)?.observer?.disconnect();
172
162
  states.delete(doc);
@@ -177,8 +167,8 @@ export function isRuntimeIdentityClaim(value) {
177
167
  return false;
178
168
  const claim = value;
179
169
  const nullableString = (field) => field === null || typeof field === "string";
180
- return isGeneratedCid(claim.cid)
181
- && (claim.src === null || isRuntimeGeneratedSource(claim.src))
170
+ return typeof claim.cid === "string" && isGeneratedCid(claim.cid)
171
+ && (claim.src === null || (typeof claim.src === "string" && isRuntimeGeneratedSource(claim.src)))
182
172
  && typeof claim.tagName === "string"
183
173
  && nullableString(claim.text)
184
174
  && nullableString(claim.props)
@@ -1,47 +1,15 @@
1
- /**
2
- * Source identity reserved for elements created by a static HTML page after
3
- * the server's source-preserving pass has completed.
4
- *
5
- * The value intentionally does not match `file:line:column`. It is a
6
- * document-local selector identity, not a claim about source location.
7
- */
1
+ /** Document-local identity for runtime-created elements; intentionally not a file:line:column source claim. */
8
2
  export declare const RUNTIME_UNKNOWN_SOURCE_PREFIX = "nudge-ui:unknown:";
9
3
  export declare const RUNTIME_ELEMENT_CID_PREFIX = "nudge-ui-runtime-";
10
- /** Maximum length retained for any runtime DOM evidence field. */
11
4
  export declare const RUNTIME_EVIDENCE_MAX_LENGTH = 120;
12
- /** Bounds an untrusted runtime evidence string without changing its content. */
13
5
  export declare function boundRuntimeEvidence(value: string | null): string | null;
14
- /**
15
- * Describes an element by its nearest ancestors so a prompt without source
16
- * locations still carries searchable class names, ids, and test ids.
17
- */
6
+ /** Ancestor description so a prompt without source locations still carries searchable ids, classes, and test ids. */
18
7
  export declare function runtimeDomPath(element: Element): string | null;
19
- /** Normalizes rendered text before it becomes durable runtime evidence. */
20
8
  export declare function normalizeRuntimeText(value: string | null): string | null;
21
- /** Keeps a runtime tag suitable for the prompt's inline element notation. */
22
9
  export declare function normalizeRuntimeTag(value: string): string;
23
- /** Returns true for the source values generated for runtime DOM. */
24
10
  export declare function isRuntimeGeneratedSource(src: string | null | undefined): boolean;
25
- /** Returns whether this document-local element received generated identity. */
26
11
  export declare function isRuntimeCreatedElement(element: Element | null | undefined): boolean;
27
- /**
28
- * Installs document-local identity for eligible elements that a static HTML
29
- * application creates at runtime.
30
- *
31
- * The server owns source locations for the initial response. This Adapter
32
- * only fills missing attributes, observes added subtrees, and leaves the
33
- * author document untouched on disk. The returned function disconnects the
34
- * observer; generated attributes remain available to managed CSS until the
35
- * page is replaced.
36
- */
12
+ /** Fills only missing identity attributes and observes added subtrees; the returned function disconnects the observer. */
37
13
  export declare function installStaticHtmlRuntimeIdentity(doc?: Document): () => void;
38
- /**
39
- * Assigns runtime identity only to elements the pointer reaches: the target,
40
- * its ancestors, two levels of descendants for the DOM navigator, and its
41
- * siblings, which structural moves capture as anchors.
42
- *
43
- * Unlike `installStaticHtmlRuntimeIdentity`, nothing observes DOM mutations,
44
- * so a busy application pays no cost for subtrees nobody inspects. Install it
45
- * before the inspector so its capture listeners run first.
46
- */
14
+ /** Install before the inspector so its capture listeners run first. */
47
15
  export declare function installLazyRuntimeIdentity(doc?: Document): () => void;
@@ -1,15 +1,7 @@
1
- /**
2
- * Source identity reserved for elements created by a static HTML page after
3
- * the server's source-preserving pass has completed.
4
- *
5
- * The value intentionally does not match `file:line:column`. It is a
6
- * document-local selector identity, not a claim about source location.
7
- */
1
+ /** Document-local identity for runtime-created elements; intentionally not a file:line:column source claim. */
8
2
  export const RUNTIME_UNKNOWN_SOURCE_PREFIX = "nudge-ui:unknown:";
9
3
  export const RUNTIME_ELEMENT_CID_PREFIX = "nudge-ui-runtime-";
10
- /** Maximum length retained for any runtime DOM evidence field. */
11
4
  export const RUNTIME_EVIDENCE_MAX_LENGTH = 120;
12
- /** Bounds an untrusted runtime evidence string without changing its content. */
13
5
  export function boundRuntimeEvidence(value) {
14
6
  return value === null ? null : value.slice(0, RUNTIME_EVIDENCE_MAX_LENGTH);
15
7
  }
@@ -29,10 +21,7 @@ function domPathSegment(element) {
29
21
  segment += `.${classes.join(".")}`;
30
22
  return segment;
31
23
  }
32
- /**
33
- * Describes an element by its nearest ancestors so a prompt without source
34
- * locations still carries searchable class names, ids, and test ids.
35
- */
24
+ /** Ancestor description so a prompt without source locations still carries searchable ids, classes, and test ids. */
36
25
  export function runtimeDomPath(element) {
37
26
  const segments = [];
38
27
  let current = element;
@@ -47,14 +36,12 @@ export function runtimeDomPath(element) {
47
36
  const path = segments.join(" > ");
48
37
  return path.length > DOM_PATH_MAX_LENGTH ? `…${path.slice(-DOM_PATH_MAX_LENGTH)}` : path;
49
38
  }
50
- /** Normalizes rendered text before it becomes durable runtime evidence. */
51
39
  export function normalizeRuntimeText(value) {
52
40
  if (value === null)
53
41
  return null;
54
42
  const normalized = value.replace(/\s+/g, " ").trim();
55
43
  return normalized ? boundRuntimeEvidence(normalized) : null;
56
44
  }
57
- /** Keeps a runtime tag suitable for the prompt's inline element notation. */
58
45
  export function normalizeRuntimeTag(value) {
59
46
  return boundRuntimeEvidence(value.trim().toLowerCase().replace(/[^a-z0-9-]+/g, "")) ?? "";
60
47
  }
@@ -67,11 +54,9 @@ const EXCLUDED_SUBTREE_TAGS = new Set([
67
54
  "NOSCRIPT",
68
55
  ]);
69
56
  const runtimeCreatedElements = new WeakSet();
70
- /** Returns true for the source values generated for runtime DOM. */
71
57
  export function isRuntimeGeneratedSource(src) {
72
58
  return typeof src === "string" && src.startsWith(RUNTIME_UNKNOWN_SOURCE_PREFIX);
73
59
  }
74
- /** Returns whether this document-local element received generated identity. */
75
60
  export function isRuntimeCreatedElement(element) {
76
61
  return element !== null && element !== undefined && runtimeCreatedElements.has(element);
77
62
  }
@@ -100,16 +85,7 @@ function existingAttributeValues(doc, name) {
100
85
  .map((element) => element.getAttribute(name))
101
86
  .filter((value) => value !== null));
102
87
  }
103
- /**
104
- * Installs document-local identity for eligible elements that a static HTML
105
- * application creates at runtime.
106
- *
107
- * The server owns source locations for the initial response. This Adapter
108
- * only fills missing attributes, observes added subtrees, and leaves the
109
- * author document untouched on disk. The returned function disconnects the
110
- * observer; generated attributes remain available to managed CSS until the
111
- * page is replaced.
112
- */
88
+ /** Fills only missing identity attributes and observes added subtrees; the returned function disconnects the observer. */
113
89
  export function installStaticHtmlRuntimeIdentity(doc = document) {
114
90
  const ensureIdentity = createIdentityAllocator(doc);
115
91
  let disposed = false;
@@ -155,20 +131,11 @@ export function installStaticHtmlRuntimeIdentity(doc = document) {
155
131
  }
156
132
  const LAZY_IDENTITY_EVENTS = ["pointerover", "pointerdown", "mousedown", "click", "dblclick"];
157
133
  const LAZY_DESCENDANT_DEPTH = 2;
158
- /**
159
- * Assigns runtime identity only to elements the pointer reaches: the target,
160
- * its ancestors, two levels of descendants for the DOM navigator, and its
161
- * siblings, which structural moves capture as anchors.
162
- *
163
- * Unlike `installStaticHtmlRuntimeIdentity`, nothing observes DOM mutations,
164
- * so a busy application pays no cost for subtrees nobody inspects. Install it
165
- * before the inspector so its capture listeners run first.
166
- */
134
+ /** Install before the inspector so its capture listeners run first. */
167
135
  export function installLazyRuntimeIdentity(doc = document) {
168
- // Pointer order differs between page loads, so sequential numbers would
169
- // hand a saved edit's identity to whichever element is hovered first after
170
- // a reload. A per-install scope keeps fresh identities distinct from saved
171
- // ones; `runtimeIdentityClaims` re-attaches the saved ones by evidence.
136
+ // Pointer order differs between page loads, so sequential numbers could hand a saved
137
+ // edit's identity to a different element; a per-install scope keeps fresh identities
138
+ // distinct from saved ones, which `runtimeIdentityClaims` re-attaches by evidence.
172
139
  const ensureIdentity = createIdentityAllocator(doc, `${Math.random().toString(36).slice(2, 8)}-`);
173
140
  function tagDescendants(element, depth) {
174
141
  if (depth === 0)
@@ -1,10 +1,3 @@
1
1
  import type { NudgeUiRuntimeConfig } from "./runtimeConfig.js";
2
- /**
3
- * Reads the immutable runtime snapshot reactively.
4
- *
5
- * Components that render runtime-derived UI (token catalogs, capability
6
- * gating) must use this hook instead of the plain getter, so a host that
7
- * atomically replaces the configuration during HMR or a dev-transport
8
- * refresh re-renders the subscribed tree with the new snapshot.
9
- */
2
+ /** Components rendering runtime-derived UI must subscribe here, not through the plain getter. */
10
3
  export declare function useNudgeUiRuntimeConfig(): NudgeUiRuntimeConfig;
@@ -1,13 +1,6 @@
1
1
  import { useSyncExternalStore } from "react";
2
2
  import { getNudgeUiRuntimeConfig, subscribeNudgeUiRuntime, } from "./runtimeConfig.js";
3
- /**
4
- * Reads the immutable runtime snapshot reactively.
5
- *
6
- * Components that render runtime-derived UI (token catalogs, capability
7
- * gating) must use this hook instead of the plain getter, so a host that
8
- * atomically replaces the configuration during HMR or a dev-transport
9
- * refresh re-renders the subscribed tree with the new snapshot.
10
- */
3
+ /** Components rendering runtime-derived UI must subscribe here, not through the plain getter. */
11
4
  export function useNudgeUiRuntimeConfig() {
12
5
  return useSyncExternalStore(subscribeNudgeUiRuntime, getNudgeUiRuntimeConfig);
13
6
  }
@@ -10,12 +10,7 @@ export interface InstanceEvidence {
10
10
  }
11
11
  /** Test hook: clears the memoized source-site match counts. */
12
12
  export declare function resetSourceSiteMatchCounts(): void;
13
- /**
14
- * Counts the rendered elements matching a source site. The result is memoized
15
- * per (element identity, scope revision) so the selection render path no longer
16
- * runs a full-document querySelectorAll on every render; it only recomputes
17
- * when the caller's scope revision changes.
18
- */
13
+ /** Memoized per element and scope revision so the render path avoids repeated full-document queries. */
19
14
  export declare function countSourceSiteMatches(el: HTMLElement, revision?: number): number;
20
15
  export declare function unlinkElement(el: HTMLElement): string | null;
21
16
  export declare function relinkElement(el: HTMLElement): string | null;
@@ -25,7 +20,6 @@ export interface BatchScopeFields {
25
20
  sourceInstanceCount?: number;
26
21
  instanceOverride?: RenderedInstanceOverride;
27
22
  }
28
- /** Returns whether every element can be addressed safely by one batch edit. */
29
23
  export declare function canPlanBatchEditScopes(selectedElements: readonly HTMLElement[]): boolean;
30
24
  /** Resolves safe scopes immediately before a write is committed. */
31
25
  export declare function planBatchEditScopes(selectedElements: readonly HTMLElement[]): ReadonlyMap<HTMLElement, BatchScopeFields> | null;
@@ -20,12 +20,7 @@ function querySourceSiteMatches(el) {
20
20
  return 0;
21
21
  }
22
22
  }
23
- /**
24
- * Counts the rendered elements matching a source site. The result is memoized
25
- * per (element identity, scope revision) so the selection render path no longer
26
- * runs a full-document querySelectorAll on every render; it only recomputes
27
- * when the caller's scope revision changes.
28
- */
23
+ /** Memoized per element and scope revision so the render path avoids repeated full-document queries. */
29
24
  export function countSourceSiteMatches(el, revision = 0) {
30
25
  const cid = el.getAttribute("data-cid") ?? "";
31
26
  const src = el.getAttribute("data-src") ?? "";
@@ -59,11 +54,7 @@ export function relinkElement(el) {
59
54
  export function getEditScope(el) {
60
55
  return getRenderedInstanceOverride(el) ? "rendered-instance" : "source-site";
61
56
  }
62
- /**
63
- * Plans the scope for every target in a batch edit without mutating the DOM or
64
- * transient instance state. A partial repeated-source group is editable only
65
- * when each selected output has evidence that resolves uniquely.
66
- */
57
+ /** A partial repeated-source group is editable only when each selected output resolves uniquely. */
67
58
  function analyzeBatchEditScopes(selectedElements) {
68
59
  const plan = new Map();
69
60
  if (selectedElements.length <= 1) {
@@ -108,7 +99,6 @@ function analyzeBatchEditScopes(selectedElements) {
108
99
  }
109
100
  return plan;
110
101
  }
111
- /** Returns whether every element can be addressed safely by one batch edit. */
112
102
  export function canPlanBatchEditScopes(selectedElements) {
113
103
  return analyzeBatchEditScopes(selectedElements) !== null;
114
104
  }
@@ -1,8 +1,4 @@
1
- /**
2
- * A style edit target is deliberately smaller than the selection model. The
3
- * editor only needs the rendered DOM nodes that will receive one declaration;
4
- * source metadata and selection ordering stay inside the selection module.
5
- */
1
+ /** Deliberately just the DOM nodes receiving a declaration; source metadata stays in the selection module. */
6
2
  export type EditTarget = HTMLElement | readonly HTMLElement[];
7
3
  export declare function targetElements(target: EditTarget): readonly HTMLElement[];
8
4
  export declare function isMultiTarget(target: EditTarget): boolean;
@@ -1,13 +1,13 @@
1
1
  export declare function computeHierarchy(el: HTMLElement): HTMLElement[];
2
- export interface DescendantNode {
3
- element: HTMLElement;
4
- depth: number;
2
+ /** Direct children listed in the DOM navigator before the rest collapse into a count. */
3
+ export declare const NAVIGATOR_CHILD_LIMIT = 50;
4
+ export interface TrackedChildren {
5
+ elements: HTMLElement[];
6
+ /** Tracked children past the limit. */
7
+ hidden: number;
5
8
  }
6
- export interface NavigationNode {
7
- element: HTMLElement;
8
- direction: "up" | "down";
9
- depth: number;
10
- }
11
- /** Returns the nearest tracked descendants, breadth-first and document-ordered. */
12
- export declare function computeDescendants(el: HTMLElement, maxDepth?: number, maxNodes?: number): DescendantNode[];
13
- export declare function computeNavigationNodes(el: HTMLElement, hierarchy?: HTMLElement[]): NavigationNode[];
9
+ /** The nearest tracked elements below `el` in document order, looking through untracked wrappers. */
10
+ export declare function computeTrackedChildren(el: HTMLElement, limit?: number): TrackedChildren;
11
+ export declare function hasTrackedChildren(el: HTMLElement): boolean;
12
+ /** Nearest tracked ancestors, fewer when children also fill the menu. */
13
+ export declare function computeNavigationParents(hierarchy: readonly HTMLElement[], hasChildren: boolean): HTMLElement[];