nudge-ui 0.2.4 → 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 (642) hide show
  1. package/dist/cli/agentCommand.d.ts +0 -1
  2. package/dist/cli/agentCommand.js +4 -29
  3. package/dist/client.mjs +987 -221
  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 +14 -71
  94. package/dist/hosts/projectBridge.d.ts +0 -2
  95. package/dist/hosts/projectBridge.js +3 -19
  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 +8 -9
  125. package/dist/inspector/agent/activity.d.ts +2 -2
  126. package/dist/inspector/agent/activity.js +4 -3
  127. package/dist/inspector/agent/client.d.ts +3 -27
  128. package/dist/inspector/agent/client.js +43 -91
  129. package/dist/inspector/agent/connectionStatus.d.ts +3 -2
  130. package/dist/inspector/agent/connectionStatus.js +25 -1
  131. package/dist/inspector/agent/httpTransport.d.ts +0 -8
  132. package/dist/inspector/agent/httpTransport.js +42 -176
  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 +3 -20
  136. package/dist/inspector/agent/verification.js +10 -43
  137. package/dist/inspector/boot.d.ts +5 -0
  138. package/dist/inspector/boot.js +289 -0
  139. package/dist/inspector/canvas/AgentActivityOverlay.d.ts +3 -2
  140. package/dist/inspector/canvas/AgentActivityOverlay.js +7 -4
  141. package/dist/inspector/canvas/CanvasCard.js +26 -24
  142. package/dist/inspector/canvas/CanvasElementOverlay.js +196 -174
  143. package/dist/inspector/canvas/CanvasToolbar.js +2 -1
  144. package/dist/inspector/canvas/CanvasWorkspace.js +87 -124
  145. package/dist/inspector/canvas/LockedWorkspaceNotice.d.ts +3 -2
  146. package/dist/inspector/canvas/LockedWorkspaceNotice.js +10 -6
  147. package/dist/inspector/canvas/PageCard.d.ts +9 -0
  148. package/dist/inspector/canvas/PageCard.js +50 -0
  149. package/dist/inspector/canvas/SketchToolOptions.d.ts +4 -0
  150. package/dist/inspector/canvas/SketchToolOptions.js +80 -0
  151. package/dist/inspector/canvas/StaleChangeIndicator.d.ts +1 -1
  152. package/dist/inspector/canvas/StaleChangeIndicator.js +1 -1
  153. package/dist/inspector/canvas/ToolOptionsDrawer.d.ts +16 -0
  154. package/dist/inspector/canvas/ToolOptionsDrawer.js +71 -0
  155. package/dist/inspector/canvas/activeCanvasDocument.d.ts +3 -4
  156. package/dist/inspector/canvas/activeCanvasDocument.js +0 -2
  157. package/dist/inspector/canvas/agentPresentation.d.ts +2 -13
  158. package/dist/inspector/canvas/agentPresentation.js +3 -14
  159. package/dist/inspector/canvas/assets/eraser.svg +28 -0
  160. package/dist/inspector/canvas/assets/pen.svg +25 -0
  161. package/dist/inspector/canvas/canvasFrame.d.ts +12 -0
  162. package/dist/inspector/canvas/canvasFrame.js +9 -0
  163. package/dist/inspector/canvas/canvasGestures.d.ts +0 -1
  164. package/dist/inspector/canvas/canvasGestures.js +0 -6
  165. package/dist/inspector/canvas/canvasResize.d.ts +1 -6
  166. package/dist/inspector/canvas/canvasResize.js +1 -6
  167. package/dist/inspector/canvas/canvasStore.d.ts +5 -7
  168. package/dist/inspector/canvas/canvasStore.js +42 -21
  169. package/dist/inspector/canvas/frameConnection.d.ts +42 -0
  170. package/dist/inspector/canvas/frameConnection.js +73 -0
  171. package/dist/inspector/canvas/frameContent.d.ts +0 -1
  172. package/dist/inspector/canvas/frameLifecycle.d.ts +12 -0
  173. package/dist/inspector/canvas/frameLifecycle.js +11 -0
  174. package/dist/inspector/canvas/frameProtocol.d.ts +20 -38
  175. package/dist/inspector/canvas/frameProtocol.js +37 -24
  176. package/dist/inspector/canvas/frameScrollbarStyles.d.ts +0 -1
  177. package/dist/inspector/canvas/frameScrollbarStyles.js +0 -1
  178. package/dist/inspector/canvas/layout.d.ts +10 -22
  179. package/dist/inspector/canvas/layout.js +0 -3
  180. package/dist/inspector/canvas/normalizeUrl.js +1 -8
  181. package/dist/inspector/canvas/pageSurface.d.ts +6 -0
  182. package/dist/inspector/canvas/pageSurface.js +29 -0
  183. package/dist/inspector/canvas/projection.d.ts +14 -25
  184. package/dist/inspector/canvas/projection.js +64 -87
  185. package/dist/inspector/canvas/rendererBootstrap.d.ts +8 -1
  186. package/dist/inspector/canvas/rendererBootstrap.js +10 -15
  187. package/dist/inspector/canvas/rendererCidIndex.d.ts +0 -5
  188. package/dist/inspector/canvas/rendererCidIndex.js +0 -5
  189. package/dist/inspector/canvas/rendererElementSelector.js +38 -28
  190. package/dist/inspector/canvas/rendererMessageRouter.d.ts +4 -6
  191. package/dist/inspector/canvas/rendererMessageRouter.js +12 -17
  192. package/dist/inspector/canvas/rendererSelectionProxy.d.ts +3 -1
  193. package/dist/inspector/canvas/rendererSelectionProxy.js +7 -40
  194. package/dist/inspector/canvas/rendererStylesheet.d.ts +0 -1
  195. package/dist/inspector/canvas/rendererStylesheet.js +23 -1
  196. package/dist/inspector/canvas/resizeHandleScale.d.ts +1 -10
  197. package/dist/inspector/canvas/resizeHandleScale.js +1 -10
  198. package/dist/inspector/canvas/sessionStore.d.ts +3 -9
  199. package/dist/inspector/canvas/sessionStore.js +33 -43
  200. package/dist/inspector/canvas/staleChangeDetector.d.ts +1 -1
  201. package/dist/inspector/canvas/staleChangeDetector.js +11 -26
  202. package/dist/inspector/canvas/toolbarScale.d.ts +1 -4
  203. package/dist/inspector/canvas/toolbarScale.js +1 -4
  204. package/dist/inspector/canvas/useCanvasLayoutAnimation.d.ts +0 -1
  205. package/dist/inspector/canvas/useCanvasLayoutAnimation.js +0 -1
  206. package/dist/inspector/canvas/viewStore.js +1 -1
  207. package/dist/inspector/canvas/wheelPan.d.ts +1 -1
  208. package/dist/inspector/canvas/wheelPan.js +1 -1
  209. package/dist/inspector/canvas/workspaceLease.d.ts +1 -5
  210. package/dist/inspector/canvas/workspaceLease.js +1 -7
  211. package/dist/inspector/changes/codecs.d.ts +1 -0
  212. package/dist/inspector/changes/codecs.js +21 -5
  213. package/dist/inspector/changes/draftPreview.d.ts +7 -0
  214. package/dist/inspector/changes/draftPreview.js +118 -0
  215. package/dist/inspector/changes/editModel.d.ts +11 -13
  216. package/dist/inspector/changes/editModel.js +9 -4
  217. package/dist/inspector/changes/managedStyleProjection.js +6 -15
  218. package/dist/inspector/changes/model.d.ts +0 -5
  219. package/dist/inspector/changes/model.js +1 -8
  220. package/dist/inspector/changes/previewDiagnostics.d.ts +2 -12
  221. package/dist/inspector/changes/previewDiagnostics.js +5 -21
  222. package/dist/inspector/changes/previewVerification.d.ts +25 -0
  223. package/dist/inspector/changes/previewVerification.js +34 -0
  224. package/dist/inspector/changes/structuralTypes.d.ts +2 -4
  225. package/dist/inspector/changes/types.d.ts +11 -8
  226. package/dist/inspector/clientManifest.d.ts +17 -6
  227. package/dist/inspector/clientManifest.js +16 -3
  228. package/dist/inspector/comments/CommentsOverlay.js +66 -23
  229. package/dist/inspector/comments/element.d.ts +1 -2
  230. package/dist/inspector/comments/element.js +1 -2
  231. package/dist/inspector/comments/store.d.ts +1 -1
  232. package/dist/inspector/comments/store.js +4 -3
  233. package/dist/inspector/comments/verification.d.ts +8 -2
  234. package/dist/inspector/comments/verification.js +19 -11
  235. package/dist/inspector/componentSemantics/ComponentPropsSection.d.ts +8 -0
  236. package/dist/inspector/componentSemantics/ComponentPropsSection.js +12 -8
  237. package/dist/inspector/componentSemantics/adapterRegistry.d.ts +2 -9
  238. package/dist/inspector/componentSemantics/adapterRegistry.js +2 -9
  239. package/dist/inspector/componentSemantics/changeAction.js +1 -1
  240. package/dist/inspector/componentSemantics/changeModel.js +2 -4
  241. package/dist/inspector/componentSemantics/react/callsites.d.ts +28 -0
  242. package/dist/inspector/componentSemantics/react/callsites.js +261 -0
  243. package/dist/inspector/componentSemantics/react/devtoolsHook.d.ts +23 -0
  244. package/dist/inspector/componentSemantics/react/devtoolsHook.js +71 -0
  245. package/dist/inspector/componentSemantics/react/fibers.d.ts +17 -0
  246. package/dist/inspector/componentSemantics/react/fibers.js +30 -0
  247. package/dist/inspector/componentSemantics/{reactRuntime.d.ts → react/runtime.d.ts} +3 -2
  248. package/dist/inspector/componentSemantics/{reactRuntime.js → react/runtime.js} +70 -53
  249. package/dist/inspector/componentSemantics/runtimeBridge.d.ts +2 -18
  250. package/dist/inspector/componentSemantics/runtimeBridge.js +5 -19
  251. package/dist/inspector/componentSemantics/textBinding.d.ts +2 -11
  252. package/dist/inspector/componentSemantics/textBinding.js +20 -87
  253. package/dist/inspector/componentSemantics/types.d.ts +8 -27
  254. package/dist/inspector/componentSemantics/types.js +0 -1
  255. package/dist/inspector/conformance/borderCases.d.ts +0 -5
  256. package/dist/inspector/conformance/borderCases.js +0 -5
  257. package/dist/inspector/conformance/colorCases.d.ts +0 -6
  258. package/dist/inspector/conformance/colorCases.js +0 -6
  259. package/dist/inspector/conformance/fixture.d.ts +1 -5
  260. package/dist/inspector/conformance/fixture.js +1 -5
  261. package/dist/inspector/conformance/spacingCases.d.ts +0 -4
  262. package/dist/inspector/conformance/spacingCases.js +0 -4
  263. package/dist/inspector/conformance/typographyCases.d.ts +0 -5
  264. package/dist/inspector/conformance/typographyCases.js +0 -5
  265. package/dist/inspector/drafts/draftStore.d.ts +95 -0
  266. package/dist/inspector/drafts/draftStore.js +461 -0
  267. package/dist/inspector/drafts/model.d.ts +14 -14
  268. package/dist/inspector/drafts/model.js +4 -2
  269. package/dist/inspector/drafts/store.d.ts +47 -16
  270. package/dist/inspector/drafts/store.js +137 -170
  271. package/dist/inspector/editScope.d.ts +0 -1
  272. package/dist/inspector/editScope.js +0 -1
  273. package/dist/inspector/index.d.ts +2 -4
  274. package/dist/inspector/index.js +2 -264
  275. package/dist/inspector/inline-text/inlineTextDiagnostics.d.ts +0 -2
  276. package/dist/inspector/inline-text/inlineTextDiagnostics.js +0 -2
  277. package/dist/inspector/inline-text/inlineTextEditor.d.ts +3 -9
  278. package/dist/inspector/inline-text/inlineTextEditor.js +27 -81
  279. package/dist/inspector/inline-text/inlineTextLifecycle.js +1 -6
  280. package/dist/inspector/inline-text/textEditChange.d.ts +1 -2
  281. package/dist/inspector/inspection/bridge.d.ts +3 -7
  282. package/dist/inspector/inspection/bridge.js +6 -13
  283. package/dist/inspector/inspection/browserCssInspection.d.ts +12 -11
  284. package/dist/inspector/inspection/browserCssInspection.js +32 -14
  285. package/dist/inspector/inspection/browserCssInspectionRegistry.d.ts +0 -7
  286. package/dist/inspector/inspection/browserCssInspectionRegistry.js +1 -16
  287. package/dist/inspector/inspection/inspectionSnapshot.d.ts +6 -0
  288. package/dist/inspector/inspection/inspectionSnapshot.js +10 -0
  289. package/dist/inspector/inspection/performanceDiagnostics.d.ts +18 -0
  290. package/dist/inspector/inspection/performanceDiagnostics.js +31 -0
  291. package/dist/inspector/inspection/selectionProperty.d.ts +1 -6
  292. package/dist/inspector/inspection/selectionProperty.js +1 -5
  293. package/dist/inspector/inspection/useBrowserCssInspection.d.ts +1 -5
  294. package/dist/inspector/inspection/useBrowserCssInspection.js +22 -59
  295. package/dist/inspector/iterations/capture.d.ts +2 -2
  296. package/dist/inspector/iterations/capture.js +4 -9
  297. package/dist/inspector/iterations/client.d.ts +2 -2
  298. package/dist/inspector/iterations/client.js +0 -1
  299. package/dist/inspector/iterations/coordinator.d.ts +4 -4
  300. package/dist/inspector/iterations/coordinator.js +5 -4
  301. package/dist/inspector/iterations/prompt.d.ts +0 -1
  302. package/dist/inspector/iterations/prompt.js +9 -9
  303. package/dist/inspector/overlay/DomNavigator.d.ts +3 -1
  304. package/dist/inspector/overlay/DomNavigator.js +39 -15
  305. package/dist/inspector/overlay/DropGuideOverlay.d.ts +0 -1
  306. package/dist/inspector/overlay/DropGuideOverlay.js +0 -1
  307. package/dist/inspector/overlay/MeasurementGuideOverlay.d.ts +1 -8
  308. package/dist/inspector/overlay/MeasurementGuideOverlay.js +1 -5
  309. package/dist/inspector/overlay/clickPolicy.d.ts +3 -14
  310. package/dist/inspector/overlay/clickPolicy.js +3 -14
  311. package/dist/inspector/overlay/dropGuide.d.ts +0 -3
  312. package/dist/inspector/overlay/dropGuide.js +0 -3
  313. package/dist/inspector/overlay/frameThrottle.d.ts +0 -1
  314. package/dist/inspector/overlay/frameThrottle.js +0 -1
  315. package/dist/inspector/overlay/interactionStyles.d.ts +1 -1
  316. package/dist/inspector/overlay/interactionStyles.js +19 -8
  317. package/dist/inspector/overlay/measurementGeometry.js +4 -12
  318. package/dist/inspector/overlay/selectedGeometry.d.ts +1 -6
  319. package/dist/inspector/overlay/selectedGeometry.js +1 -8
  320. package/dist/inspector/overlay/spacingGestures.d.ts +14 -21
  321. package/dist/inspector/overlay/spacingGestures.js +151 -31
  322. package/dist/inspector/overlay/structuralGestures.d.ts +2 -9
  323. package/dist/inspector/overlay/structuralGestures.js +1 -4
  324. package/dist/inspector/pageInspector.d.ts +33 -0
  325. package/dist/inspector/pageInspector.js +335 -0
  326. package/dist/inspector/projection/cssEscapes.d.ts +0 -1
  327. package/dist/inspector/projection/cssEscapes.js +2 -4
  328. package/dist/inspector/projection/draftProjection.d.ts +6 -10
  329. package/dist/inspector/projection/draftProjection.js +8 -7
  330. package/dist/inspector/projection/managedStylesheet.d.ts +1 -7
  331. package/dist/inspector/projection/managedStylesheet.js +28 -26
  332. package/dist/inspector/projection/renderedInstance.d.ts +5 -28
  333. package/dist/inspector/projection/renderedInstance.js +13 -33
  334. package/dist/inspector/projection/structuralProjection.d.ts +7 -48
  335. package/dist/inspector/projection/structuralProjection.js +31 -96
  336. package/dist/inspector/projection/textProjection.d.ts +7 -13
  337. package/dist/inspector/projection/textProjection.js +35 -80
  338. package/dist/inspector/prompt/PromptSettingsDialog.d.ts +0 -1
  339. package/dist/inspector/prompt/PromptSettingsDialog.js +0 -1
  340. package/dist/inspector/prompt/clipboardHandoff.d.ts +1 -0
  341. package/dist/inspector/prompt/clipboardHandoff.js +34 -16
  342. package/dist/inspector/prompt/generatePrompt.d.ts +2 -2
  343. package/dist/inspector/prompt/generatePrompt.js +247 -166
  344. package/dist/inspector/prompt/promptDocument.d.ts +3 -0
  345. package/dist/inspector/prompt/promptDocument.js +8 -0
  346. package/dist/inspector/prompt/promptSettings.d.ts +0 -3
  347. package/dist/inspector/prompt/promptSettings.js +7 -8
  348. package/dist/inspector/runtime/devFlag.d.ts +2 -25
  349. package/dist/inspector/runtime/devFlag.js +4 -31
  350. package/dist/inspector/runtime/documentStylesheetOrder.d.ts +0 -2
  351. package/dist/inspector/runtime/editorShell.d.ts +0 -1
  352. package/dist/inspector/runtime/editorShell.js +0 -1
  353. package/dist/inspector/runtime/inspectorStorage.d.ts +11 -0
  354. package/dist/inspector/runtime/inspectorStorage.js +37 -0
  355. package/dist/inspector/runtime/ownedStylesheets.d.ts +14 -0
  356. package/dist/inspector/runtime/ownedStylesheets.js +66 -0
  357. package/dist/inspector/runtime/runtimeConfig.d.ts +14 -84
  358. package/dist/inspector/runtime/runtimeConfig.js +18 -50
  359. package/dist/inspector/runtime/runtimeIdentityClaims.d.ts +19 -0
  360. package/dist/inspector/runtime/runtimeIdentityClaims.js +178 -0
  361. package/dist/inspector/runtime/staticHtmlRuntimeIdentity.d.ts +6 -23
  362. package/dist/inspector/runtime/staticHtmlRuntimeIdentity.js +103 -52
  363. package/dist/inspector/runtime/useRuntimeConfig.d.ts +1 -8
  364. package/dist/inspector/runtime/useRuntimeConfig.js +1 -8
  365. package/dist/inspector/selection/editScope.d.ts +2 -7
  366. package/dist/inspector/selection/editScope.js +15 -14
  367. package/dist/inspector/selection/editTarget.d.ts +1 -5
  368. package/dist/inspector/selection/hierarchy.d.ts +11 -11
  369. package/dist/inspector/selection/hierarchy.js +42 -24
  370. package/dist/inspector/selection/selectionStore.d.ts +0 -3
  371. package/dist/inspector/selection/selectionStore.js +5 -16
  372. package/dist/inspector/selection/sourceSite.d.ts +1 -5
  373. package/dist/inspector/selection/sourceSite.js +2 -8
  374. package/dist/inspector/selection/styleSelection.d.ts +1 -5
  375. package/dist/inspector/selection/styleSelection.js +1 -5
  376. package/dist/inspector/session/lifecycle.d.ts +1 -9
  377. package/dist/inspector/session/lifecycle.js +0 -1
  378. package/dist/inspector/session/sessionContext.d.ts +0 -4
  379. package/dist/inspector/session/sessionContext.js +0 -4
  380. package/dist/inspector/session/sessionFactory.d.ts +0 -9
  381. package/dist/inspector/session/sessionFactory.js +0 -6
  382. package/dist/inspector/settings/SettingsDialog.d.ts +0 -1
  383. package/dist/inspector/settings/SettingsDialog.js +5 -3
  384. package/dist/inspector/shell/AgentStatusButton.d.ts +3 -2
  385. package/dist/inspector/shell/AgentStatusButton.js +7 -7
  386. package/dist/inspector/shell/AppShell.js +6 -2
  387. package/dist/inspector/shell/ChangesLog.js +29 -12
  388. package/dist/inspector/shell/CopyPromptButton.d.ts +2 -1
  389. package/dist/inspector/shell/CopyPromptButton.js +62 -55
  390. package/dist/inspector/shell/EmptyState.js +3 -3
  391. package/dist/inspector/shell/InspectorEditors.d.ts +16 -0
  392. package/dist/inspector/shell/InspectorEditors.js +14 -0
  393. package/dist/inspector/shell/InspectorPanel.d.ts +12 -0
  394. package/dist/inspector/shell/InspectorPanel.js +8 -0
  395. package/dist/inspector/shell/InspectorSelection.d.ts +24 -0
  396. package/dist/inspector/shell/InspectorSelection.js +20 -0
  397. package/dist/inspector/shell/InspectorShell.d.ts +0 -3
  398. package/dist/inspector/shell/InspectorShell.js +44 -58
  399. package/dist/inspector/shell/NudgeLogoIcon.d.ts +5 -0
  400. package/dist/inspector/shell/NudgeLogoIcon.js +5 -0
  401. package/dist/inspector/shell/PeekOriginalButton.d.ts +0 -5
  402. package/dist/inspector/shell/PeekOriginalButton.js +3 -8
  403. package/dist/inspector/shell/PeekOriginalIcon.d.ts +0 -5
  404. package/dist/inspector/shell/PeekOriginalIcon.js +0 -5
  405. package/dist/inspector/shell/PromptActionButton.d.ts +21 -0
  406. package/dist/inspector/shell/PromptActionButton.js +14 -0
  407. package/dist/inspector/shell/elementName.d.ts +5 -0
  408. package/dist/inspector/shell/elementName.js +29 -0
  409. package/dist/inspector/shell/interactionStatePreview.d.ts +6 -0
  410. package/dist/inspector/shell/interactionStatePreview.js +107 -0
  411. package/dist/inspector/shell/originalPreview.d.ts +1 -5
  412. package/dist/inspector/shell/originalPreview.js +5 -37
  413. package/dist/inspector/shell/stateValue.d.ts +1 -2
  414. package/dist/inspector/shell/stateValue.js +4 -8
  415. package/dist/inspector/shell/styleState.d.ts +1 -2
  416. package/dist/inspector/shell/styleState.js +1 -2
  417. package/dist/inspector/sketch/SketchEditor.js +5 -5
  418. package/dist/inspector/sketch/SketchFrameOverlay.d.ts +2 -1
  419. package/dist/inspector/sketch/SketchFrameOverlay.js +13 -16
  420. package/dist/inspector/sketch/SketchOverlay.d.ts +3 -5
  421. package/dist/inspector/sketch/SketchOverlay.js +138 -263
  422. package/dist/inspector/sketch/SketchPromptPanel.d.ts +1 -2
  423. package/dist/inspector/sketch/SketchPromptPanel.js +8 -2
  424. package/dist/inspector/sketch/SketchThumbnail.d.ts +5 -0
  425. package/dist/inspector/sketch/SketchThumbnail.js +18 -0
  426. package/dist/inspector/sketch/SketchWorkspace.d.ts +1 -2
  427. package/dist/inspector/sketch/SketchWorkspace.js +70 -37
  428. package/dist/inspector/sketch/capture.d.ts +12 -3
  429. package/dist/inspector/sketch/capture.js +31 -14
  430. package/dist/inspector/sketch/copySketch.d.ts +4 -0
  431. package/dist/inspector/sketch/copySketch.js +43 -0
  432. package/dist/inspector/sketch/drawingTools.d.ts +15 -0
  433. package/dist/inspector/sketch/drawingTools.js +46 -0
  434. package/dist/inspector/sketch/frameHeading.d.ts +3 -0
  435. package/dist/inspector/sketch/frameHeading.js +23 -0
  436. package/dist/inspector/sketch/freehand.d.ts +0 -1
  437. package/dist/inspector/sketch/freehand.js +3 -4
  438. package/dist/inspector/sketch/geometry.d.ts +2 -1
  439. package/dist/inspector/sketch/geometry.js +15 -1
  440. package/dist/inspector/sketch/handoff.js +0 -1
  441. package/dist/inspector/sketch/history.d.ts +26 -0
  442. package/dist/inspector/sketch/history.js +55 -0
  443. package/dist/inspector/sketch/interaction.d.ts +3 -5
  444. package/dist/inspector/sketch/interaction.js +8 -11
  445. package/dist/inspector/sketch/model.d.ts +33 -6
  446. package/dist/inspector/sketch/model.js +101 -63
  447. package/dist/inspector/sketch/persistence.d.ts +14 -1
  448. package/dist/inspector/sketch/persistence.js +64 -8
  449. package/dist/inspector/sketch/raster.d.ts +3 -2
  450. package/dist/inspector/sketch/raster.js +40 -20
  451. package/dist/inspector/sketch/store.d.ts +1 -1
  452. package/dist/inspector/sketch/store.js +3 -4
  453. package/dist/inspector/sketch/videoFrames.d.ts +6 -0
  454. package/dist/inspector/sketch/videoFrames.js +80 -0
  455. package/dist/inspector/spacing/projection.d.ts +0 -8
  456. package/dist/inspector/spacing/projection.js +38 -20
  457. package/dist/inspector/styleEditors/BackgroundEditor.js +3 -2
  458. package/dist/inspector/styleEditors/BorderEditor.js +30 -135
  459. package/dist/inspector/styleEditors/BorderRadiusEditor.js +8 -3
  460. package/dist/inspector/styleEditors/ChildPlacement.d.ts +12 -0
  461. package/dist/inspector/styleEditors/ChildPlacement.js +9 -0
  462. package/dist/inspector/styleEditors/FlexControls.d.ts +35 -0
  463. package/dist/inspector/styleEditors/FlexControls.js +158 -0
  464. package/dist/inspector/styleEditors/GapField.d.ts +5 -2
  465. package/dist/inspector/styleEditors/GapField.js +3 -4
  466. package/dist/inspector/styleEditors/GridChildSection.d.ts +0 -5
  467. package/dist/inspector/styleEditors/GridChildSection.js +0 -5
  468. package/dist/inspector/styleEditors/GridPicker.d.ts +1 -1
  469. package/dist/inspector/styleEditors/GridPicker.js +2 -4
  470. package/dist/inspector/styleEditors/GridSection.d.ts +10 -8
  471. package/dist/inspector/styleEditors/GridSection.js +22 -9
  472. package/dist/inspector/styleEditors/GridValueField.d.ts +1 -5
  473. package/dist/inspector/styleEditors/GridValueField.js +2 -8
  474. package/dist/inspector/styleEditors/ImageBackgroundEditor.d.ts +0 -1
  475. package/dist/inspector/styleEditors/ImageBackgroundEditor.js +1 -2
  476. package/dist/inspector/styleEditors/LayoutBlockedIndicator.d.ts +0 -1
  477. package/dist/inspector/styleEditors/LayoutBlockedIndicator.js +0 -1
  478. package/dist/inspector/styleEditors/LayoutComboField.js +0 -5
  479. package/dist/inspector/styleEditors/LayoutModeRow.d.ts +14 -0
  480. package/dist/inspector/styleEditors/LayoutModeRow.js +60 -0
  481. package/dist/inspector/styleEditors/LayoutSection.d.ts +2 -2
  482. package/dist/inspector/styleEditors/LayoutSection.js +30 -356
  483. package/dist/inspector/styleEditors/OpacityEditor.js +7 -5
  484. package/dist/inspector/styleEditors/PositionControls.d.ts +18 -0
  485. package/dist/inspector/styleEditors/PositionControls.js +16 -0
  486. package/dist/inspector/styleEditors/SizeSection.d.ts +18 -0
  487. package/dist/inspector/styleEditors/SizeSection.js +71 -0
  488. package/dist/inspector/styleEditors/{SpacingBox.d.ts → SpacingField.d.ts} +3 -10
  489. package/dist/inspector/styleEditors/{SpacingBox.js → SpacingField.js} +15 -29
  490. package/dist/inspector/styleEditors/Typography.js +2 -4
  491. package/dist/inspector/styleEditors/borderModel.d.ts +36 -0
  492. package/dist/inspector/styleEditors/borderModel.js +105 -0
  493. package/dist/inspector/styleEditors/completeCssValue.d.ts +1 -5
  494. package/dist/inspector/styleEditors/completeCssValue.js +3 -13
  495. package/dist/inspector/styleEditors/fieldValue.d.ts +20 -0
  496. package/dist/inspector/styleEditors/fieldValue.js +26 -0
  497. package/dist/inspector/styleEditors/gradientValue.d.ts +1 -1
  498. package/dist/inspector/styleEditors/gradientValue.js +3 -2
  499. package/dist/inspector/styleEditors/gridChildModel.d.ts +7 -47
  500. package/dist/inspector/styleEditors/gridChildModel.js +6 -37
  501. package/dist/inspector/styleEditors/hiddenSizeOverrides.d.ts +5 -0
  502. package/dist/inspector/styleEditors/hiddenSizeOverrides.js +42 -0
  503. package/dist/inspector/styleEditors/inlineAuthored.d.ts +1 -8
  504. package/dist/inspector/styleEditors/inlineAuthored.js +3 -17
  505. package/dist/inspector/styleEditors/layoutMode.d.ts +15 -0
  506. package/dist/inspector/styleEditors/layoutMode.js +33 -0
  507. package/dist/inspector/styleEditors/layoutPreviewState.d.ts +0 -1
  508. package/dist/inspector/styleEditors/layoutPreviewState.js +0 -1
  509. package/dist/inspector/styleEditors/layoutValue.d.ts +2 -8
  510. package/dist/inspector/styleEditors/layoutValue.js +6 -15
  511. package/dist/inspector/styleEditors/nudgeValue.d.ts +1 -13
  512. package/dist/inspector/styleEditors/nudgeValue.js +1 -13
  513. package/dist/inspector/styleEditors/rowLookup.d.ts +1 -5
  514. package/dist/inspector/styleEditors/rowLookup.js +1 -5
  515. package/dist/inspector/styleEditors/stringRecord.d.ts +1 -2
  516. package/dist/inspector/styleEditors/stylePresence.d.ts +0 -2
  517. package/dist/inspector/styleEditors/stylePresence.js +1 -4
  518. package/dist/inspector/styleEditors/textRelevance.d.ts +1 -1
  519. package/dist/inspector/styleEditors/textRelevance.js +1 -1
  520. package/dist/inspector/styleEditors/useFieldVisibility.js +1 -2
  521. package/dist/inspector/styleEditors/useLayoutContext.d.ts +13 -0
  522. package/dist/inspector/styleEditors/useLayoutContext.js +53 -0
  523. package/dist/inspector/styleEditors/valuePolicy.d.ts +1 -5
  524. package/dist/inspector/styleEditors/valuePolicy.js +0 -1
  525. package/dist/inspector/testing.d.ts +1 -4
  526. package/dist/inspector/testing.js +1 -4
  527. package/dist/inspector/tokens/TokenChip.d.ts +1 -4
  528. package/dist/inspector/tokens/TokenChip.js +1 -4
  529. package/dist/inspector/tokens/TokenField.d.ts +4 -3
  530. package/dist/inspector/tokens/TokenField.js +53 -32
  531. package/dist/inspector/tokens/TokensPanel.js +2 -1
  532. package/dist/inspector/tokens/catalog.d.ts +2 -10
  533. package/dist/inspector/tokens/catalog.js +5 -12
  534. package/dist/inspector/tokens/dragPointerLock.d.ts +0 -1
  535. package/dist/inspector/tokens/dragPointerLock.js +2 -3
  536. package/dist/inspector/tokens/editActions.d.ts +4 -4
  537. package/dist/inspector/tokens/editActions.js +11 -7
  538. package/dist/inspector/tokens/resolution/cascade.d.ts +1 -5
  539. package/dist/inspector/tokens/resolution/cascade.js +1 -5
  540. package/dist/inspector/tokens/resolution/containerQueryEvaluator.d.ts +11 -0
  541. package/dist/inspector/tokens/resolution/containerQueryEvaluator.js +82 -0
  542. package/dist/inspector/tokens/resolution/cssomCollector.d.ts +4 -19
  543. package/dist/inspector/tokens/resolution/cssomCollector.js +186 -122
  544. package/dist/inspector/tokens/resolution/nestedSelectors.d.ts +2 -0
  545. package/dist/inspector/tokens/resolution/nestedSelectors.js +63 -0
  546. package/dist/inspector/tokens/resolution/ruleMatching.d.ts +4 -14
  547. package/dist/inspector/tokens/resolution/ruleMatching.js +136 -63
  548. package/dist/inspector/tokens/resolution/selectorSemantics.d.ts +3 -14
  549. package/dist/inspector/tokens/resolution/selectorSemantics.js +12 -27
  550. package/dist/inspector/tokens/resolution.d.ts +11 -27
  551. package/dist/inspector/tokens/resolution.js +105 -181
  552. package/dist/inspector/tokens/tokenAvailability.d.ts +2 -14
  553. package/dist/inspector/tokens/tokenAvailability.js +6 -38
  554. package/dist/inspector/tokens/tokenEdits.d.ts +1 -1
  555. package/dist/inspector/tokens/tokenEdits.js +1 -1
  556. package/dist/inspector/tokens/valueSemanticsAdapter.d.ts +0 -1
  557. package/dist/inspector/tokens/valueSemanticsAdapter.js +18 -2
  558. package/dist/inspector/ui/AtRuleContext.d.ts +5 -5
  559. package/dist/inspector/ui/AtRuleContext.js +8 -6
  560. package/dist/inspector/ui/ControlSurface.d.ts +0 -4
  561. package/dist/inspector/ui/Disclosure.d.ts +0 -5
  562. package/dist/inspector/ui/Disclosure.js +0 -4
  563. package/dist/inspector/ui/InlineStyleWarning.d.ts +0 -1
  564. package/dist/inspector/ui/InlineStyleWarning.js +2 -2
  565. package/dist/inspector/ui/InspectorPopover.d.ts +1 -5
  566. package/dist/inspector/ui/InspectorPopover.js +1 -5
  567. package/dist/inspector/ui/InspectorStyle.d.ts +8 -0
  568. package/dist/inspector/ui/InspectorStyle.js +26 -0
  569. package/dist/inspector/ui/PopoverListbox.d.ts +2 -1
  570. package/dist/inspector/ui/PopoverListbox.js +3 -3
  571. package/dist/inspector/ui/SegmentedControl.d.ts +4 -4
  572. package/dist/inspector/ui/SegmentedControl.js +6 -4
  573. package/dist/inspector/ui/SideValuesField.d.ts +1 -6
  574. package/dist/inspector/ui/SideValuesField.js +2 -8
  575. package/dist/inspector/ui/Toast.d.ts +10 -0
  576. package/dist/inspector/ui/Toast.js +26 -0
  577. package/dist/inspector/ui/assets/canvasIllustration.d.ts +2 -0
  578. package/dist/inspector/ui/assets/canvasIllustration.js +21 -0
  579. package/dist/inspector/ui/assets/gridIllustration.d.ts +2 -0
  580. package/dist/inspector/ui/assets/{grid.svg → gridIllustration.js} +3 -2
  581. package/dist/inspector/ui/atRuleSegments.d.ts +13 -0
  582. package/dist/inspector/ui/atRuleSegments.js +34 -0
  583. package/dist/inspector/ui/classNames.d.ts +0 -1
  584. package/dist/inspector/ui/classNames.js +0 -1
  585. package/dist/inspector/ui/customCursors.d.ts +11 -0
  586. package/dist/inspector/ui/customCursors.js +29 -7
  587. package/dist/inspector/ui/styles.js +25 -25
  588. package/dist/inspector/workspace/commands.js +1 -2
  589. package/dist/inspector/workspace/controller.js +20 -2
  590. package/dist/inspector/workspace/handoff.d.ts +1 -5
  591. package/dist/inspector/workspace/handoff.js +4 -7
  592. package/dist/inspector/workspace/sentItems.d.ts +3 -6
  593. package/dist/inspector/workspace/sentItems.js +6 -24
  594. package/dist/inspector/workspace/timeline.d.ts +28 -11
  595. package/dist/inspector/workspace/timeline.js +117 -96
  596. package/dist/internal/agent-protocol.d.ts +53 -38
  597. package/dist/internal/agent-protocol.js +151 -42
  598. package/dist/nudge-ui.mjs +155 -92
  599. package/dist/project/artifacts.js +24 -21
  600. package/dist/project/files.d.ts +0 -1
  601. package/dist/project/files.js +2 -9
  602. package/dist/project/identity.d.ts +1 -5
  603. package/dist/project/identity.js +1 -5
  604. package/dist/project/mcpPackage.d.ts +3 -0
  605. package/dist/project/mcpPackage.js +55 -0
  606. package/dist/project/pathPolicy.d.ts +1 -6
  607. package/dist/project/pathPolicy.js +1 -6
  608. package/dist/project/tokens.d.ts +2 -12
  609. package/dist/project/tokens.js +4 -15
  610. package/dist/transport/editor.d.ts +1 -12
  611. package/dist/transport/editor.js +2 -13
  612. package/dist/transport/index.d.ts +0 -5
  613. package/dist/transport/index.js +0 -5
  614. package/dist/transport/routes.d.ts +0 -5
  615. package/dist/transport/routes.js +0 -5
  616. package/package.json +16 -5
  617. package/dist/inspector/canvas/measurementProjection.d.ts +0 -8
  618. package/dist/inspector/canvas/measurementProjection.js +0 -16
  619. package/dist/inspector/changes/changesLog.d.ts +0 -49
  620. package/dist/inspector/changes/changesLog.js +0 -255
  621. package/dist/inspector/changes/draftChanges.d.ts +0 -58
  622. package/dist/inspector/changes/draftChanges.js +0 -304
  623. package/dist/inspector/conformance/projection.d.ts +0 -2
  624. package/dist/inspector/conformance/projection.js +0 -3
  625. package/dist/inspector/inline-text/textChangeBoundary.d.ts +0 -6
  626. package/dist/inspector/inline-text/textChangeBoundary.js +0 -1
  627. package/dist/inspector/overlay/InspectorOverlay.d.ts +0 -5
  628. package/dist/inspector/overlay/InspectorOverlay.js +0 -332
  629. package/dist/inspector/overlay/elementSelector.d.ts +0 -1
  630. package/dist/inspector/overlay/elementSelector.js +0 -111
  631. package/dist/inspector/sketch/SketchChanges.d.ts +0 -2
  632. package/dist/inspector/sketch/SketchChanges.js +0 -72
  633. package/dist/inspector/sketch/SketchEntryButton.d.ts +0 -4
  634. package/dist/inspector/sketch/SketchEntryButton.js +0 -11
  635. package/dist/inspector/sketch/SketchLayersPanel.d.ts +0 -2
  636. package/dist/inspector/sketch/SketchLayersPanel.js +0 -71
  637. package/dist/inspector/styleEditors/InsetSection.d.ts +0 -15
  638. package/dist/inspector/styleEditors/InsetSection.js +0 -15
  639. package/dist/inspector/styleEditors/PositionInsets.d.ts +0 -15
  640. package/dist/inspector/styleEditors/PositionInsets.js +0 -12
  641. package/dist/inspector/tokens/TokenDropdown.d.ts +0 -13
  642. package/dist/inspector/tokens/TokenDropdown.js +0 -59
@@ -1,16 +1,10 @@
1
- /**
2
- * Node's recursive `fs.watch` is not available on every supported platform, so
3
- * this watches each directory and adds watches for ones created later. The
4
- * public surface is lifecycle and settled batches; debounce and symlink
5
- * confinement stay internal.
6
- */
1
+ /** Node's recursive `fs.watch` is not available on every supported platform, so directories are watched individually. */
7
2
  import { watch } from "node:fs";
8
3
  import { readdir } from "node:fs/promises";
9
4
  import { realpathSync, statSync } from "node:fs";
10
5
  import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
11
6
  import { isExcludedDirectoryName, isSensitiveProjectPath } from "./pathPolicy.js";
12
7
  export { isExcludedDirectoryName, isSensitiveProjectPath } from "./pathPolicy.js";
13
- /** Creates a watcher that starts and stops explicitly with the server. */
14
8
  export function createProjectFileWatcher(options) {
15
9
  const rootDirectory = realpathSync(resolve(options.rootDirectory));
16
10
  const debounceMs = Math.max(0, options.debounceMs ?? 60);
@@ -85,8 +79,7 @@ export function createProjectFileWatcher(options) {
85
79
  return;
86
80
  }
87
81
  watches.set(directory, { directory, canonicalDirectory, watcher: directoryWatcher });
88
- // Watch before scanning so events during the async walk are not missed. Scans
89
- // run serially and re-check `closed` after every await, so none leak past close().
82
+ // Watch before scanning so events during the async walk are not missed.
90
83
  pendingScans += 1;
91
84
  scanQueue = scanQueue
92
85
  .then(() => scanSubdirectories(directory))
@@ -1,6 +1,2 @@
1
- /**
2
- * Names a project deterministically across restarts. The root is canonicalized
3
- * first, so a symlinked working directory resolves to the same project — and
4
- * therefore the same durable session — as its real path.
5
- */
1
+ /** The root is canonicalized first so a symlinked working directory names the same project as its real path. */
6
2
  export declare function createProjectId(host: string, root: string): string;
@@ -1,11 +1,7 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { realpathSync } from "node:fs";
3
3
  const PROJECT_DIGEST_LENGTH = 24;
4
- /**
5
- * Names a project deterministically across restarts. The root is canonicalized
6
- * first, so a symlinked working directory resolves to the same project — and
7
- * therefore the same durable session — as its real path.
8
- */
4
+ /** The root is canonicalized first so a symlinked working directory names the same project as its real path. */
9
5
  export function createProjectId(host, root) {
10
6
  let canonical = root;
11
7
  try {
@@ -0,0 +1,3 @@
1
+ /** Only the application's own dependency tree counts; a global or unrelated copy never bridges this project. */
2
+ export declare function findProjectMcpRoot(appRoot: string): string | null;
3
+ export declare function projectMcpCliEntry(mcpRoot: string): string | null;
@@ -0,0 +1,55 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { createRequire } from "node:module";
3
+ import { dirname, join, parse } from "node:path";
4
+ const MCP_PACKAGE = "@nudge-ui/mcp";
5
+ const MCP_BIN = "nudge-mcp";
6
+ /** Only the application's own dependency tree counts; a global or unrelated copy never bridges this project. */
7
+ export function findProjectMcpRoot(appRoot) {
8
+ let directory = appRoot;
9
+ const { root } = parse(directory);
10
+ for (;;) {
11
+ const candidate = join(directory, "node_modules", "@nudge-ui", "mcp");
12
+ if (existsSync(join(candidate, "package.json")))
13
+ return candidate;
14
+ if (directory === root)
15
+ break;
16
+ directory = dirname(directory);
17
+ }
18
+ if (!isPnpRuntime())
19
+ return null;
20
+ try {
21
+ return packageRootOf(createRequire(join(appRoot, "package.json")).resolve(MCP_PACKAGE));
22
+ }
23
+ catch {
24
+ return null;
25
+ }
26
+ }
27
+ export function projectMcpCliEntry(mcpRoot) {
28
+ const bin = readManifest(join(mcpRoot, "package.json"))?.bin;
29
+ const entry = typeof bin === "string" ? bin : isRecord(bin) ? bin[MCP_BIN] : undefined;
30
+ return typeof entry === "string" ? join(mcpRoot, entry) : null;
31
+ }
32
+ function packageRootOf(entry) {
33
+ for (let directory = dirname(entry);; directory = dirname(directory)) {
34
+ const manifest = join(directory, "package.json");
35
+ if (existsSync(manifest) && readManifest(manifest)?.name === MCP_PACKAGE)
36
+ return directory;
37
+ if (dirname(directory) === directory)
38
+ return null;
39
+ }
40
+ }
41
+ function readManifest(path) {
42
+ try {
43
+ const parsed = JSON.parse(readFileSync(path, "utf8"));
44
+ return isRecord(parsed) ? parsed : null;
45
+ }
46
+ catch {
47
+ return null;
48
+ }
49
+ }
50
+ function isRecord(value) {
51
+ return typeof value === "object" && value !== null && !Array.isArray(value);
52
+ }
53
+ function isPnpRuntime() {
54
+ return "pnp" in process.versions && typeof process.versions.pnp === "string";
55
+ }
@@ -1,8 +1,3 @@
1
- /**
2
- * Dot-prefixed segments commonly hold credentials, source-control metadata, or
3
- * local tool state. Treating the whole segment as sensitive keeps one policy
4
- * across direct requests, symlink targets, token discovery, and file watching.
5
- */
1
+ /** Dot-prefixed segments may hold credentials or local tool state; one policy covers requests, symlinks, tokens, and watching. */
6
2
  export declare function isSensitiveProjectPath(projectPath: string): boolean;
7
- /** Returns whether a directory name is outside the standalone project view. */
8
3
  export declare function isExcludedDirectoryName(name: string): boolean;
@@ -1,12 +1,7 @@
1
- /**
2
- * Dot-prefixed segments commonly hold credentials, source-control metadata, or
3
- * local tool state. Treating the whole segment as sensitive keeps one policy
4
- * across direct requests, symlink targets, token discovery, and file watching.
5
- */
1
+ /** Dot-prefixed segments may hold credentials or local tool state; one policy covers requests, symlinks, tokens, and watching. */
6
2
  export function isSensitiveProjectPath(projectPath) {
7
3
  return projectPath.split(/[\\/]/).some((segment) => segment.startsWith("."));
8
4
  }
9
- /** Returns whether a directory name is outside the standalone project view. */
10
5
  export function isExcludedDirectoryName(name) {
11
6
  return name.startsWith(".") || name === "build" || name === "dist" || name === "node_modules";
12
7
  }
@@ -1,36 +1,26 @@
1
1
  import type { TokenCatalogDiagnostic, TokenDefinition, TokenEntry } from "../css/model/index.js";
2
- /** The serializable token knowledge published by the standalone manifest. */
3
2
  export interface ProjectTokenSnapshot {
4
3
  readonly tokenCatalog: readonly TokenDefinition[];
5
4
  readonly tokens: readonly TokenEntry[];
6
5
  readonly tokenDiagnostics: readonly TokenCatalogDiagnostic[];
7
6
  readonly tokenGeneration: string;
8
7
  }
9
- /** The placeholder used before and in place of a successful project scan. */
10
8
  export declare const EMPTY_PROJECT_TOKEN_SNAPSHOT: ProjectTokenSnapshot;
11
- /** A CSS file discovered below the project root before inventory parsing. */
12
9
  export interface ProjectCssArtifact {
13
10
  readonly absolutePath: string;
14
11
  readonly projectPath: string;
15
12
  readonly content?: string;
16
13
  readonly readError?: string;
17
14
  }
18
- /** Injectable so unreadable-file handling stays testable. */
19
15
  export type ProjectCssFileReader = (absolutePath: string) => string | Promise<string>;
20
- /** Options for the deterministic project CSS scan. */
21
16
  export interface ProjectTokenSnapshotOptions {
22
17
  readonly rootDirectory: string;
23
- /** Additional authored roots to include in the same deterministic inventory. */
24
18
  readonly additionalRootDirectories?: readonly string[];
25
19
  readonly readFile?: ProjectCssFileReader;
26
20
  /** Prefixed to the digest so two hosts scanning one project publish distinct generations. */
27
21
  readonly generationLabel: string;
28
22
  }
29
- /**
30
- * Files are sorted by project-relative POSIX path before receiving
31
- * discoveryOrder. Symlinks are followed only when their canonical target stays
32
- * below rootDirectory. Read and parse failures become diagnostics, never rejections.
33
- */
23
+ /** Sorted by project-relative POSIX path; symlinks only within root; read failures become diagnostics, never rejections. */
34
24
  export declare function createProjectTokenSnapshot(options: ProjectTokenSnapshotOptions): Promise<ProjectTokenSnapshot>;
35
- /** Exported as a seam so provenance and symlink confinement are testable without PostCSS. */
25
+ /** Exported for tests: provenance and symlink confinement without PostCSS. */
36
26
  export declare function discoverProjectCssArtifacts(rootDirectory: string, readFile?: ProjectCssFileReader): Promise<readonly ProjectCssArtifact[]>;
@@ -1,26 +1,16 @@
1
- /**
2
- * Node-only CSS token discovery for the static HTML host. Reports directory
3
- * order as discovery evidence only: a directory walk cannot prove the order in
4
- * which a browser applies stylesheets. Every filesystem operation is async so a
5
- * large tree never blocks the server's event loop.
6
- */
1
+ /** Directory order is discovery evidence only; a walk cannot prove the order a browser applies stylesheets. */
7
2
  import { createHash } from "node:crypto";
8
3
  import { readFile as readUtf8File, readdir, realpath, stat, } from "node:fs/promises";
9
4
  import { extname, isAbsolute, join, relative, resolve, sep } from "node:path";
10
5
  import { createTokenInventory, } from "../css/token-inventory/index.js";
11
6
  import { isExcludedDirectoryName, isSensitiveProjectPath } from "./pathPolicy.js";
12
- /** The placeholder used before and in place of a successful project scan. */
13
7
  export const EMPTY_PROJECT_TOKEN_SNAPSHOT = {
14
8
  tokenCatalog: [],
15
9
  tokens: [],
16
10
  tokenDiagnostics: [],
17
11
  tokenGeneration: "empty",
18
12
  };
19
- /**
20
- * Files are sorted by project-relative POSIX path before receiving
21
- * discoveryOrder. Symlinks are followed only when their canonical target stays
22
- * below rootDirectory. Read and parse failures become diagnostics, never rejections.
23
- */
13
+ /** Sorted by project-relative POSIX path; symlinks only within root; read failures become diagnostics, never rejections. */
24
14
  export async function createProjectTokenSnapshot(options) {
25
15
  const rootDirectory = await canonicalRoot(options.rootDirectory);
26
16
  const additionalRoots = (await Promise.all((options.additionalRootDirectories ?? []).map((directory) => canonicalOptionalRoot(directory)))).filter((root) => root !== null);
@@ -34,8 +24,7 @@ export async function createProjectTokenSnapshot(options) {
34
24
  if (seenFiles.has(canonicalPath))
35
25
  continue;
36
26
  seenFiles.add(canonicalPath);
37
- // Additional roots are expressed relative to the primary one so a single
38
- // inventory can merge their declarations without losing provenance.
27
+ // Additional roots are expressed relative to the primary so one inventory keeps provenance.
39
28
  artifacts.push({
40
29
  ...artifact,
41
30
  projectPath: index === 0
@@ -85,7 +74,7 @@ export async function createProjectTokenSnapshot(options) {
85
74
  tokenGeneration,
86
75
  };
87
76
  }
88
- /** Exported as a seam so provenance and symlink confinement are testable without PostCSS. */
77
+ /** Exported for tests: provenance and symlink confinement without PostCSS. */
89
78
  export async function discoverProjectCssArtifacts(rootDirectory, readFile = (absolutePath) => readUtf8File(absolutePath, "utf8")) {
90
79
  const root = await canonicalRoot(rootDirectory);
91
80
  const artifacts = [];
@@ -1,23 +1,13 @@
1
- /** Returns the editor URL for one same-origin application location. */
2
1
  export declare function createNudgeUiEditorUrl(applicationHref: string): string;
3
- /** Resolves the application URL carried by an editor URL. */
4
2
  export declare function readNudgeUiEditorTarget(editorHref: string): string | null;
5
3
  type RequestHeaderValue = string | readonly string[] | undefined;
6
- /** Returns whether a host request should receive the pure editor document. */
7
4
  export declare function isNudgeUiEditorDocumentRequest(requestHref: string, method: string | undefined, headers: Record<string, RequestHeaderValue> | undefined): boolean;
8
- /** Adds the persistent marker that bypasses editor entry for a plain app view. */
9
5
  export declare function createNudgeUiDirectUrl(applicationHref: string): string;
10
- /** Reads the public `nudge-ui=off` / `nudge-ui=on` switch from an application URL. */
11
6
  export declare function readNudgeUiQuerySwitch(href: string): "off" | "on" | null;
12
- /** Returns whether this application location explicitly bypasses editor entry. */
13
7
  export declare function isNudgeUiDirectUrl(href: string): boolean;
14
- /** Remembers that this browser tab was explicitly opened outside the editor. */
15
8
  export declare function rememberNudgeUiDirectTabIntent(): void;
16
- /** Remembers an explicit URL switch so later navigations in this tab keep it. */
17
9
  export declare function rememberNudgeUiTabSwitch(value: "off" | "on"): void;
18
- /** Returns whether this browser tab should remain outside the editor. */
19
10
  export declare function hasNudgeUiDirectTabIntent(): boolean;
20
- /** Returns whether this browser tab explicitly asked for the editor with `nudge-ui=on`. */
21
11
  export declare function hasNudgeUiForcedTabIntent(): boolean;
22
12
  export type NudgeUiClientEntry = {
23
13
  readonly kind: "bootstrap";
@@ -40,8 +30,7 @@ export interface NudgeUiClientEntryContext {
40
30
  /** `navigator.webdriver`: Playwright, Puppeteer, Selenium, and headless Chrome. */
41
31
  readonly automated?: boolean;
42
32
  }
43
- /** Chooses the browser-client role before any runtime manifest is fetched. */
33
+ /** Resolved before any runtime manifest is fetched. */
44
34
  export declare function resolveNudgeUiClientEntry(href: string, context: NudgeUiClientEntryContext): NudgeUiClientEntry;
45
- /** Renders the host-neutral editor document served by every development Adapter. */
46
35
  export declare function createNudgeUiEditorDocument(): string;
47
36
  export {};
@@ -2,7 +2,6 @@ import { NUDGE_UI_CLIENT_PATH, NUDGE_UI_ARTIFACTS_PATH, NUDGE_UI_DIRECT_QUERY_PA
2
2
  const TARGET_QUERY_PARAM = "url";
3
3
  const DIRECT_TAB_SESSION_KEY = "nudge-ui:direct-tab";
4
4
  const FORCED_TAB_SESSION_KEY = "nudge-ui:forced-tab";
5
- /** Returns the editor URL for one same-origin application location. */
6
5
  export function createNudgeUiEditorUrl(applicationHref) {
7
6
  const applicationUrl = new URL(applicationHref);
8
7
  assertApplicationUrl(applicationUrl);
@@ -23,7 +22,6 @@ export function createNudgeUiEditorUrl(applicationHref) {
23
22
  applicationUrl.hash = hash;
24
23
  return applicationUrl.href;
25
24
  }
26
- /** Resolves the application URL carried by an editor URL. */
27
25
  export function readNudgeUiEditorTarget(editorHref) {
28
26
  const editorUrl = new URL(editorHref);
29
27
  if (editorUrl.pathname !== NUDGE_UI_EDITOR_PATH) {
@@ -50,7 +48,6 @@ export function readNudgeUiEditorTarget(editorHref) {
50
48
  return null;
51
49
  }
52
50
  }
53
- /** Returns whether a host request should receive the pure editor document. */
54
51
  export function isNudgeUiEditorDocumentRequest(requestHref, method, headers) {
55
52
  const normalizedMethod = (method ?? "GET").toUpperCase();
56
53
  if (normalizedMethod !== "GET" && normalizedMethod !== "HEAD")
@@ -69,14 +66,12 @@ export function isNudgeUiEditorDocumentRequest(requestHref, method, headers) {
69
66
  return header("sec-fetch-dest").toLowerCase() === "document"
70
67
  || header("accept").toLowerCase().includes("text/html");
71
68
  }
72
- /** Adds the persistent marker that bypasses editor entry for a plain app view. */
73
69
  export function createNudgeUiDirectUrl(applicationHref) {
74
70
  const url = new URL(applicationHref);
75
71
  assertApplicationUrl(url);
76
72
  url.searchParams.set(NUDGE_UI_DIRECT_QUERY_PARAM, "1");
77
73
  return url.href;
78
74
  }
79
- /** Reads the public `nudge-ui=off` / `nudge-ui=on` switch from an application URL. */
80
75
  export function readNudgeUiQuerySwitch(href) {
81
76
  const url = new URL(href);
82
77
  const values = url.searchParams.getAll(NUDGE_UI_EDITOR_QUERY_PARAM);
@@ -85,15 +80,12 @@ export function readNudgeUiQuerySwitch(href) {
85
80
  }
86
81
  return values.includes(NUDGE_UI_ON_QUERY_VALUE) ? "on" : null;
87
82
  }
88
- /** Returns whether this application location explicitly bypasses editor entry. */
89
83
  export function isNudgeUiDirectUrl(href) {
90
84
  return readNudgeUiQuerySwitch(href) === "off";
91
85
  }
92
- /** Remembers that this browser tab was explicitly opened outside the editor. */
93
86
  export function rememberNudgeUiDirectTabIntent() {
94
87
  rememberNudgeUiTabSwitch("off");
95
88
  }
96
- /** Remembers an explicit URL switch so later navigations in this tab keep it. */
97
89
  export function rememberNudgeUiTabSwitch(value) {
98
90
  try {
99
91
  sessionStorage.setItem(value === "off" ? DIRECT_TAB_SESSION_KEY : FORCED_TAB_SESSION_KEY, "1");
@@ -103,11 +95,9 @@ export function rememberNudgeUiTabSwitch(value) {
103
95
  // Storage denial must not prevent the current page from honoring the switch.
104
96
  }
105
97
  }
106
- /** Returns whether this browser tab should remain outside the editor. */
107
98
  export function hasNudgeUiDirectTabIntent() {
108
99
  return readTabFlag(DIRECT_TAB_SESSION_KEY);
109
100
  }
110
- /** Returns whether this browser tab explicitly asked for the editor with `nudge-ui=on`. */
111
101
  export function hasNudgeUiForcedTabIntent() {
112
102
  return readTabFlag(FORCED_TAB_SESSION_KEY);
113
103
  }
@@ -119,7 +109,7 @@ function readTabFlag(key) {
119
109
  return false;
120
110
  }
121
111
  }
122
- /** Chooses the browser-client role before any runtime manifest is fetched. */
112
+ /** Resolved before any runtime manifest is fetched. */
123
113
  export function resolveNudgeUiClientEntry(href, context) {
124
114
  if (context.editorDocument || context.canvasRenderer)
125
115
  return { kind: "bootstrap" };
@@ -147,14 +137,13 @@ function assertApplicationUrl(url) {
147
137
  throw new TypeError("Nudge UI application URLs must be HTTP(S) URLs outside its reserved route namespace.");
148
138
  }
149
139
  }
150
- /** Renders the host-neutral editor document served by every development Adapter. */
151
140
  export function createNudgeUiEditorDocument() {
152
141
  return `<!doctype html>
153
142
  <html lang="en" data-nudge-ui-editor>
154
143
  <head>
155
144
  <meta charset="utf-8">
156
145
  <meta name="viewport" content="width=device-width, initial-scale=1">
157
- <title>Nudge UI</title>
146
+ <title></title>
158
147
  <style>html,body,#${NUDGE_UI_MOUNT_ID}{width:100%;height:100%;margin:0}body{overflow:hidden}</style>
159
148
  </head>
160
149
  <body>
@@ -1,8 +1,3 @@
1
- /**
2
- * The wire contract between any host and the browser client. Must stay
3
- * browser-safe: the inspector's mount components import these routes directly.
4
- * Anything needing Node belongs in `project/`.
5
- */
6
1
  export * from "./routes.js";
7
2
  export * from "./editor.js";
8
3
  /** Envelope version understood by the browser client. */
@@ -1,8 +1,3 @@
1
- /**
2
- * The wire contract between any host and the browser client. Must stay
3
- * browser-safe: the inspector's mount components import these routes directly.
4
- * Anything needing Node belongs in `project/`.
5
- */
6
1
  export * from "./routes.js";
7
2
  export * from "./editor.js";
8
3
  /** Envelope version understood by the browser client. */
@@ -1,8 +1,3 @@
1
- /**
2
- * The reserved URL namespace every host serves the inspector through. Hosts
3
- * own their own middleware and reload policy, but the paths are one contract:
4
- * the browser client is built once and requests the same URLs everywhere.
5
- */
6
1
  /** A host must not serve project files here. */
7
2
  export declare const NUDGE_UI_ROUTE_PREFIX = "/__nudge_ui__/";
8
3
  export declare const NUDGE_UI_MANIFEST_PATH = "/__nudge_ui__/manifest";
@@ -1,8 +1,3 @@
1
- /**
2
- * The reserved URL namespace every host serves the inspector through. Hosts
3
- * own their own middleware and reload policy, but the paths are one contract:
4
- * the browser client is built once and requests the same URLs everywhere.
5
- */
6
1
  /** A host must not serve project files here. */
7
2
  export const NUDGE_UI_ROUTE_PREFIX = "/__nudge_ui__/";
8
3
  export const NUDGE_UI_MANIFEST_PATH = `${NUDGE_UI_ROUTE_PREFIX}manifest`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nudge-ui",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "A design panel for your codebase. Development only.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -59,15 +59,25 @@
59
59
  "default": "./dist/inspector/index.js"
60
60
  },
61
61
  "./internal/component-runtime": {
62
- "types": "./dist/inspector/componentSemantics/reactRuntime.d.ts",
63
- "import": "./dist/inspector/componentSemantics/reactRuntime.js",
64
- "default": "./dist/inspector/componentSemantics/reactRuntime.js"
62
+ "types": "./dist/inspector/componentSemantics/react/runtime.d.ts",
63
+ "import": "./dist/inspector/componentSemantics/react/runtime.js",
64
+ "default": "./dist/inspector/componentSemantics/react/runtime.js"
65
65
  },
66
66
  "./internal/host-runtime": {
67
67
  "types": "./dist/inspector/componentSemantics/runtimeBridge.d.ts",
68
68
  "import": "./dist/inspector/componentSemantics/runtimeBridge.js",
69
69
  "default": "./dist/inspector/componentSemantics/runtimeBridge.js"
70
70
  },
71
+ "./internal/page-inspector": {
72
+ "types": "./dist/inspector/pageInspector.d.ts",
73
+ "import": "./dist/inspector/pageInspector.js",
74
+ "default": "./dist/inspector/pageInspector.js"
75
+ },
76
+ "./internal/cursor-images": {
77
+ "types": "./dist/inspector/ui/customCursors.d.ts",
78
+ "import": "./dist/inspector/ui/customCursors.js",
79
+ "default": "./dist/inspector/ui/customCursors.js"
80
+ },
71
81
  "./internal/next/mount": {
72
82
  "types": "./dist/hosts/next/mount.d.ts",
73
83
  "import": "./dist/hosts/next/mount.js",
@@ -133,11 +143,12 @@
133
143
  "access": "public"
134
144
  },
135
145
  "scripts": {
146
+ "dev:client": "node scripts/watch-inspector-client.mjs",
136
147
  "build": "node ../../scripts/build-package.mjs && node ../../scripts/vendor-agent-protocol.mjs && node scripts/build-inspector-client.mjs && node scripts/build-next-loaders.mjs && node scripts/build-static-cli.mjs",
137
148
  "typecheck": "tsc --noEmit -p tsconfig.json",
138
149
  "test:unit": "vitest run --config vitest.unit.config.ts",
139
150
  "test:unit:watch": "vitest --config vitest.unit.config.ts",
140
- "test:ui-integration": "vitest run src/inspector/styleEditors/LayoutSection.test.tsx src/inspector/styleEditors/LayoutComboField.test.tsx src/inspector/tokens/TokenDropdown.test.tsx src/inspector/ui/ui.test.tsx src/inspector/styleEditors/LayoutDropdown.test.tsx src/inspector/tokens/TokenField.test.tsx src/inspector/styleEditors/Typography.test.tsx src/inspector/styleEditors/BorderEditor.test.tsx src/inspector/styleEditors/AspectRatioField.test.tsx",
151
+ "test:ui-integration": "vitest run --config vitest.ui.config.ts",
141
152
  "test:unit:full": "vitest run"
142
153
  }
143
154
  }
@@ -1,8 +0,0 @@
1
- import type { MeasurementSegment } from "../overlay/measurementGeometry.js";
2
- import type { Rect } from "../overlay/overlayGeometry.js";
3
- /**
4
- * Maps iframe-local measurement geometry into the Canvas board's screen
5
- * coordinate system. Distances deliberately remain in local CSS pixels so
6
- * their labels stay meaningful regardless of the board zoom.
7
- */
8
- export declare function projectMeasurementSegments(iframeRect: Rect, segments: MeasurementSegment[], zoom: number): MeasurementSegment[];
@@ -1,16 +0,0 @@
1
- /**
2
- * Maps iframe-local measurement geometry into the Canvas board's screen
3
- * coordinate system. Distances deliberately remain in local CSS pixels so
4
- * their labels stay meaningful regardless of the board zoom.
5
- */
6
- export function projectMeasurementSegments(iframeRect, segments, zoom) {
7
- const projectPoint = (point) => ({
8
- x: iframeRect.left + point.x * zoom,
9
- y: iframeRect.top + point.y * zoom,
10
- });
11
- return segments.map((segment) => ({
12
- ...segment,
13
- from: projectPoint(segment.from),
14
- to: projectPoint(segment.to),
15
- }));
16
- }
@@ -1,49 +0,0 @@
1
- import type { StyleRule } from "../projection/managedStylesheet.js";
2
- import type { ChangeRecord } from "./types.js";
3
- import { type CommitResult } from "./draftChanges.js";
4
- import type { StructuralChange } from "./structuralTypes.js";
5
- export { isComponentChange, isElementChange, isTextContentChange, isTextContentChangeValue, isPreviewableChange, isTokenChange, } from "./types.js";
6
- export type { ChangeRecord, ComponentChangeRecord, ElementChangeRecord, PreviewableChangeRecord, TextContentChangeRecord, TokenChangeRecord, RuntimeElementEvidence, SourceElementEvidence, } from "./types.js";
7
- export interface AppendChangesOptions {
8
- /** The rendered target captured for each change key at commit time. */
9
- verificationTargets?: ReadonlyMap<string, HTMLElement | null>;
10
- }
11
- declare function subscribe(cb: () => void): () => void;
12
- declare function getChangesSnapshot(): ChangeRecord[];
13
- export declare function getPendingRules(): StyleRule[];
14
- /** Append records and report whether canonical workspace state changed. */
15
- export declare function appendChanges(incoming: ChangeRecord[], options?: AppendChangesOptions): CommitResult;
16
- export declare function appendChange(change: ChangeRecord): CommitResult;
17
- export declare function revertChange(change: ChangeRecord): void;
18
- /**
19
- * Removes source-verified records without allowing older undo snapshots to
20
- * resurrect their managed previews.
21
- *
22
- * Agent handoff revisions identify records by the same stable key used by the
23
- * canonical change model. Verification can therefore reconcile a subset while
24
- * preserving newer, unsent edits and their remaining undo history.
25
- */
26
- export declare function reconcileVerifiedChanges(verifiedKeys: ReadonlySet<string>): number;
27
- /** Atomically reconciles ordinary and structural intent from one agent handoff. */
28
- export declare function reconcileVerifiedDraftChanges(verifiedKeys: ReadonlySet<string>, verifiedStructuralIds: ReadonlySet<string>): number;
29
- /** Replaces ordinary and structural intent as one undoable edit. */
30
- export declare function commitDraftContents(changes: readonly ChangeRecord[], structuralChanges: readonly StructuralChange[]): boolean;
31
- export declare function discardChangesForSelector(selector: string): void;
32
- /** Relink removes every CSS declaration owned by one durable rendered target. */
33
- export declare function discardChangesForInstanceOverride(overrideId: string): void;
34
- export declare function undo(): boolean;
35
- export declare function redo(): boolean;
36
- /**
37
- * Replaces ordinary records while preserving structural intent. Restoring any
38
- * dimension is terminal for the unified workspace timeline, so undo and redo
39
- * history are reset for both dimensions.
40
- */
41
- export declare function restoreChangeRecords(incoming: ChangeRecord[]): void;
42
- /** Restores every canonical workspace intent as one subscriber-visible snapshot. */
43
- export declare function loadActiveDraftChanges(incoming: readonly ChangeRecord[], structuralChanges: readonly StructuralChange[], preserveHistory?: boolean): void;
44
- /** Clears the active draft and its edit steps, preserving other session history. */
45
- export declare function clearActiveDraft(): void;
46
- export declare function getChangesList(): ChangeRecord[];
47
- export { subscribe as subscribeChanges, getChangesSnapshot as getChanges };
48
- export declare function useChanges(): ChangeRecord[];
49
- export declare function refreshDraftPreview(): void;