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,4 +1,4 @@
1
- import { splitTopLevelWhitespace, topLevelSlashIndex } from "./cssSyntax.js";
1
+ import { isSingleVarReference, splitTopLevelWhitespace, topLevelSlashIndex } from "./cssSyntax.js";
2
2
  import { parseBorderComponents } from "./borderSemantics.js";
3
3
  import { parseFontShorthand } from "./fontSemantics.js";
4
4
  import { normalizeOpacityPercent } from "./colorSemantics.js";
@@ -76,17 +76,12 @@ function fieldFor(property, declaredValue, sourceProperty, ctx) {
76
76
  capability: classifyEditCapability(property, declaredValue),
77
77
  });
78
78
  }
79
- /**
80
- * Expands authored raw values into per-position entries, deriving each
81
- * component's token interpretation once. A bare `var()` whose resolved value
82
- * is multiple lengths expands into multiple positions, preserving the token
83
- * on every one.
84
- */
79
+ /** A multi-length `var()` expands into one position per length, each keeping the token. */
85
80
  function expandPositionValues(rawValues, ctx) {
86
81
  return rawValues.flatMap((rawValue) => {
87
82
  const res = interpretTokenValue(rawValue, ctx.tokenContext);
88
83
  const tokenValues = res.tokenName ? splitTopLevelWhitespace(res.resolvedValue) : [];
89
- if (res.tokenName && /^var\(\s*--[\w-]+(?:\s*,[\s\S]*)?\s*\)$/.test(rawValue) && tokenValues.length > 1) {
84
+ if (res.tokenName && isSingleVarReference(rawValue) && tokenValues.length > 1) {
90
85
  return tokenValues.map((resolvedValue) => ({
91
86
  declaredValue: rawValue,
92
87
  resolvedValue,
@@ -114,7 +109,7 @@ function expandBorder(lower, property, authored, ctx) {
114
109
  const sourceProperty = lower;
115
110
  const sidePrefix = sourceProperty === "border" ? "" : `${sourceProperty}-`;
116
111
  // Interpret each distinct component once; every projected longhand reuses
117
- // that component result rather than resolving the same token repeatedly.
112
+ // that component result instead of re-resolving the same token.
118
113
  const { widthResult, styleResult, colorResult } = components;
119
114
  const scopedStructure = {
120
115
  kind: "border",
@@ -197,13 +192,7 @@ function expandGap(property, axes, authored, ctx) {
197
192
  return null;
198
193
  return axes.map((longhand, index) => projectPositionField(longhand, property, axisValues[index]));
199
194
  }
200
- /**
201
- * Interprets one authored value for a property into a structured projection
202
- * tree. Returns the projected fields, or a single conservative raw/composite
203
- * field when the value cannot be decomposed faithfully. The declared order of
204
- * the families mirrors CSS projection precedence: logical sides, border, font,
205
- * border-radius corners, gap, physical spacing, then the raw fallback.
206
- */
195
+ /** Values that cannot be decomposed faithfully collapse to one conservative raw/composite field; families are checked in CSS precedence order. */
207
196
  export function interpretValue(property, authored, ctx) {
208
197
  const lower = property.toLowerCase();
209
198
  if (lower === "opacity")
@@ -246,5 +235,5 @@ export function interpretValue(property, authored, ctx) {
246
235
  }
247
236
  return [rawField(property, authored, ctx)];
248
237
  }
249
- /** @internal Use the package-level `interpretValue` Interface in production. */
238
+ /** @internal Use `interpretValue` in production. */
250
239
  export const interpretStructuredValue = interpretValue;
@@ -1,27 +1,5 @@
1
- /**
2
- * Token-reference, alias, and modifier interpretation (plan slice 3.2).
3
- *
4
- * This is the deep value-semantics Module for token attribution: it turns one
5
- * CSSOM-authored value into the structured token facts an inspector needs —
6
- * the primary field token, every referenced token with its origin, the leaf
7
- * token behind chained aliases, explicit modifiers (fallbacks and alpha), and
8
- * a `cycle` diagnostic when alias traversal loops.
9
- *
10
- * Interface invariants:
11
- * - the Module never touches the DOM or CSSOM; the token table, local
12
- * aliases, color/opacity reading, direct-literal attribution, and alias
13
- * attribution are all explicit inputs (`TokenInterpretationContext`);
14
- * - the primary token, all referenced tokens, and implementation aliases stay
15
- * distinct;
16
- * - alias cycles terminate and surface a `cycle` diagnostic;
17
- * - arbitrary input does not throw through `interpretTokenValue`;
18
- * - framework-specific policy — Tailwind `--tw-*` aliases, adapter-derived
19
- * token origins, direct Tailwind v3 color attribution — is injected by the
20
- * integration, never encoded here.
21
- */
22
1
  import type { ColorOpacity, ColorValueFacts, TokenEntry, TokenOrigin, TokenReference, TokenTable, ValueModifier } from "../model/index.js";
23
2
  export { extractVarCalls } from "./cssSyntax.js";
24
- /** The structured token interpretation of one authored CSSOM value. */
25
3
  export interface TokenValueInterpretation {
26
4
  /** The primary field token, or null when no non-alpha token is primary. */
27
5
  tokenName: string | null;
@@ -29,30 +7,22 @@ export interface TokenValueInterpretation {
29
7
  resolvedValue: string;
30
8
  /** Every referenced token (primary, fallback, opacity), deduped, with origin. */
31
9
  tokens: TokenReference[];
32
- /** Normalized opacity when the value carries an alpha component. */
33
10
  opacity?: ColorOpacity;
34
- /** Color-shape facts projected to UI without reparsing authored expressions there. */
11
+ /** Color-shape facts projected for the UI. */
35
12
  color: ColorValueFacts;
36
- /** Explicit fallback and alpha modifiers derived from the authored value. */
37
13
  modifiers: ValueModifier[];
38
14
  /** The token reached after traversing chained aliases from `tokenName`. */
39
15
  leafTokenName: string | null;
40
- /** The alias reference that repeated during traversal, when a cycle exists. */
16
+ /** The alias reference that repeated, when a cycle exists. */
41
17
  cycle?: string;
42
18
  }
43
- /** The interpretation of a token's own value after alias traversal. */
44
19
  export interface AliasInnerResult {
45
20
  tokenName: string | null;
46
21
  resolvedValue: string;
47
22
  leafTokenName: string | null;
48
23
  cycle?: string;
49
24
  }
50
- /**
51
- * How a local alias reference is attributed after its value is resolved.
52
- * The neutral default authors the alias name itself; the Tailwind `--tw-*`
53
- * policy (attributing to the catalog token an implementation alias points at)
54
- * is supplied by the integration.
55
- */
25
+ /** Attribution policy for a local alias reference; framework-specific behaviour is injected. */
56
26
  export interface AliasAttribution {
57
27
  known: boolean;
58
28
  tokenName: string | null;
@@ -60,31 +30,19 @@ export interface AliasAttribution {
60
30
  leafTokenName: string | null;
61
31
  cycle?: string;
62
32
  }
63
- /** Facts the token interpretation needs that are not part of the authored text. */
64
33
  export interface TokenInterpretationContext {
65
34
  /** Resolved token table (custom-property name → entry). */
66
35
  table: TokenTable;
67
36
  /** Local aliases collected from the selected element's cascade. */
68
37
  localAliases?: ReadonlyMap<string, string>;
69
- /**
70
- * Direct literal attribution: a token entry matched to the authored value
71
- * before var() interpretation (integration policy, e.g. Tailwind v3 config
72
- * tokens). Absent when no direct attribution applies.
73
- */
38
+ /** Direct literal attribution before var() interpretation (e.g. Tailwind v3 config tokens). */
74
39
  resolveDirectToken?: (value: string) => TokenEntry | undefined;
75
- /** Token-origin derivation. Default: `entry.origin ?? "project"` (undefined → "runtime"). */
40
+ /** Defaults to `entry.origin ?? "project"`. */
76
41
  resolveOrigin?: (entry: TokenEntry | undefined) => TokenOrigin;
77
- /** Local-alias attribution policy. Default attributes the alias reference itself. */
42
+ /** Default attributes the alias reference itself. */
78
43
  resolveAlias?: (ref: string, inner: AliasInnerResult) => AliasAttribution;
79
44
  }
80
- /**
81
- * Neutral token-origin derivation. Adapter-name heuristics ("tailwind-v3"
82
- * → "framework", "vanilla-extract" → "project") remain integration policy.
83
- */
45
+ /** Neutral derivation; adapter-name heuristics stay integration policy. */
84
46
  export declare function defaultTokenOrigin(entry: TokenEntry | undefined): TokenOrigin;
85
- /**
86
- * Interprets the token references, aliases, and modifiers of one authored
87
- * CSSOM value against explicit token knowledge. Returns the primary token,
88
- * every referenced token, the leaf token, modifiers, and a cycle diagnostic.
89
- */
47
+ /** Interprets token references, aliases, and modifiers against explicit token knowledge. */
90
48
  export declare function interpretTokenValue(value: string, ctx: TokenInterpretationContext): TokenValueInterpretation;
@@ -2,10 +2,7 @@ import { interpretColorValue, } from "./colorSemantics.js";
2
2
  export { extractVarCalls } from "./cssSyntax.js";
3
3
  import { extractVarCalls } from "./cssSyntax.js";
4
4
  const EMPTY_LOCAL_ALIASES = new Map();
5
- /**
6
- * Neutral token-origin derivation. Adapter-name heuristics ("tailwind-v3"
7
- * → "framework", "vanilla-extract" → "project") remain integration policy.
8
- */
5
+ /** Neutral derivation; adapter-name heuristics stay integration policy. */
9
6
  export function defaultTokenOrigin(entry) {
10
7
  if (!entry)
11
8
  return "runtime";
@@ -59,11 +56,7 @@ function resolveTokenValueInner(value, table, visited, localAliases, ctx) {
59
56
  }
60
57
  return { tokenName: null, resolvedValue: trimmed, leafTokenName: null };
61
58
  }
62
- /**
63
- * Interprets the token references, aliases, and modifiers of one authored
64
- * CSSOM value against explicit token knowledge. Returns the primary token,
65
- * every referenced token, the leaf token, modifiers, and a cycle diagnostic.
66
- */
59
+ /** Interprets token references, aliases, and modifiers against explicit token knowledge. */
67
60
  export function interpretTokenValue(value, ctx) {
68
61
  const authored = value.trim();
69
62
  const table = ctx.table;
@@ -122,11 +115,10 @@ export function interpretTokenValue(value, ctx) {
122
115
  if (opacity)
123
116
  modifiers.push({ kind: "alpha", value: opacity.value });
124
117
  const inner = resolveTokenValueInner(authored, table, new Set(), localAliases, ctx);
125
- // An alpha variable is still a token reference, but it is not the color
126
- // token represented by the field. For example, in
127
- // `rgb(37 99 235 / var(--opacity-muted))`, the color is literal and only
128
- // the opacity is token-backed. Keep that distinction in `tokenName` so the
129
- // UI can render a base color chip only when one actually exists.
118
+ // An alpha variable is still a token reference, but it is not the field's
119
+ // color token (`rgb(37 99 235 / var(--opacity-muted))` is literal color plus
120
+ // token-backed alpha). Keeping that distinction lets the UI render a base
121
+ // color chip only when one actually exists.
130
122
  const alphaTokenName = opacity?.tokenName;
131
123
  const baseKnown = firstKnown && firstKnown.tokenName !== alphaTokenName ? firstKnown : null;
132
124
  const baseInner = inner.tokenName && inner.tokenName !== alphaTokenName ? inner : null;
@@ -149,13 +141,7 @@ export function interpretTokenValue(value, ctx) {
149
141
  cycle: primary?.cycle,
150
142
  };
151
143
  }
152
- /**
153
- * Resolves a `var()` component of a color expression (for example an opacity
154
- * token) through the same interpretation context as the authored value. This
155
- * is what the color Module's `interpretColorOpacity` uses to attribute
156
- * token-backed alpha components, keeping alias and framework attribution in
157
- * the token interpretation.
158
- */
144
+ /** Resolves a `var()` component (e.g. an opacity token) through the same context as the authored value. */
159
145
  function resolveComponentReference(value, ctx) {
160
146
  const calls = extractVarCalls(value);
161
147
  if (calls.length === 0)
@@ -7,6 +7,5 @@ interface AstroRuntimeKnowledge {
7
7
  readonly tokenGeneration: string;
8
8
  readonly componentContracts: NudgeUiRuntimeConfig["componentContracts"];
9
9
  }
10
- /** Builds the runtime knowledge shared by both Astro client transports. */
11
10
  export declare function createAstroRuntimeConfig(knowledge: AstroRuntimeKnowledge): NudgeUiRuntimeConfig;
12
11
  export {};
@@ -4,7 +4,6 @@ const ASTRO_SOURCE_COORDINATES = {
4
4
  exactCidPrefixes: ["astro:"],
5
5
  exactFileExtensions: [".astro", ".html", ".htm"],
6
6
  };
7
- /** Builds the runtime knowledge shared by both Astro client transports. */
8
7
  export function createAstroRuntimeConfig(knowledge) {
9
8
  return {
10
9
  projectId: knowledge.projectId,
@@ -3,10 +3,6 @@ interface ClientAssetDependencies {
3
3
  readonly resolveClientPath?: () => string;
4
4
  readonly readClientFile?: (path: string) => Promise<Buffer>;
5
5
  }
6
- /**
7
- * Creates the Astro handler for the shared, immutable inspector client.
8
- * Resolution and reads remain lazy so disabled and production integrations do
9
- * not depend on a development asset being present.
10
- */
6
+ /** Resolution and reads stay lazy so disabled and production integrations never need the development asset. */
11
7
  export declare function createAstroClientAssetHandler(dependencies?: ClientAssetDependencies): (request: IncomingMessage, response: ServerResponse) => Promise<void>;
12
8
  export {};
@@ -2,11 +2,7 @@ import { createHash } from "node:crypto";
2
2
  import { readFile } from "node:fs/promises";
3
3
  import { createRequire } from "node:module";
4
4
  const packageRequire = createRequire(import.meta.url);
5
- /**
6
- * Creates the Astro handler for the shared, immutable inspector client.
7
- * Resolution and reads remain lazy so disabled and production integrations do
8
- * not depend on a development asset being present.
9
- */
5
+ /** Resolution and reads stay lazy so disabled and production integrations never need the development asset. */
10
6
  export function createAstroClientAssetHandler(dependencies = {}) {
11
7
  const resolveClientPath = dependencies.resolveClientPath
12
8
  ?? (() => packageRequire.resolve("nudge-ui/internal/client"));
@@ -1,3 +1,2 @@
1
1
  import type { Plugin } from "vite";
2
- /** Serves the prebuilt client and its host-neutral manifest in Astro dev. */
3
2
  export declare function createAstroClientTransportPlugin(): Plugin;
@@ -1,19 +1,16 @@
1
1
  import { handleHtmlArtifactRequest } from "../../project/artifacts.js";
2
- import {} from "../../inspector/clientManifest.js";
2
+ import { createNudgeUiClientManifest, } from "../../inspector/clientManifest.js";
3
3
  import { createAstroRuntimeConfig } from "./astroRuntimeConfig.js";
4
4
  import { createAstroClientAssetHandler } from "./clientAsset.js";
5
5
  import { NUDGE_UI_CLIENT_PATH, NUDGE_UI_EDITOR_PATH, NUDGE_UI_MANIFEST_PATH, createNudgeUiEditorDocument, isNudgeUiEditorDocumentRequest, } from "../../transport/index.js";
6
6
  import { startOptionalProjectBridge } from "../projectBridge.js";
7
7
  import { automationManifestFields } from "../environment.js";
8
8
  const serveClient = createAstroClientAssetHandler();
9
- /** Serves the prebuilt client and its host-neutral manifest in Astro dev. */
10
9
  export function createAstroClientTransportPlugin() {
11
10
  let projectBridge = null;
12
11
  return {
13
12
  name: "nudge-ui-astro-client-transport",
14
- // The shared Vite plugin exposes the same route for React hosts. Astro's
15
- // host-specific manifest must be installed first so that its middleware
16
- // is the handler that answers /__nudge_ui__/manifest.
13
+ // Installed before the shared Vite plugin so Astro's own manifest handler answers /__nudge_ui__/manifest.
17
14
  enforce: "pre",
18
15
  apply: "serve",
19
16
  configureServer(server) {
@@ -89,13 +86,11 @@ async function createManifest(server, request, setBridge) {
89
86
  })
90
87
  : null;
91
88
  setBridge(bridge);
92
- return {
93
- version: 1,
94
- revision: 0,
89
+ return createNudgeUiClientManifest({
95
90
  runtime,
96
91
  ...(bridge ? { agentBridge: bridge.browser } : {}),
97
92
  ...automationManifestFields(),
98
- };
93
+ });
99
94
  }
100
95
  function resolvedRequestOrigin(server, request) {
101
96
  const host = request.headers.host;
@@ -1,35 +1,9 @@
1
1
  import type { AstroIntegration, AstroUserConfig } from "astro";
2
2
  import { type NudgeUiOptions } from "../vite/index.js";
3
3
  export type { NudgeUiOptions };
4
- /**
5
- * Options for `nudgeUiAstro`. The token/component knowledge options are
6
- * forwarded to the shared Vite plugin unchanged; Astro-specific concerns
7
- * (gating, injection, instrumentation) stay internal.
8
- */
9
4
  export interface NudgeUiAstroOptions extends NudgeUiOptions {
10
5
  }
11
- /**
12
- * Nudge UI host Adapter for Astro dev servers (ADR-0011).
13
- *
14
- * Dev-only by contract (ADR-0002): unless `command === "dev"`,
15
- * `enabled !== false`, and `NUDGE_UI` is not `0`, the integration registers nothing at all — no Vite
16
- * plugins, no injected scripts, no middleware — so `astro build` output is
17
- * byte-identical to a project without the integration.
18
- *
19
- * In dev it wires three pieces:
20
- * 1. the shared `nudgeUi()` Vite plugin (token knowledge and island JSX
21
- * identity transforms), the client transport, and project context;
22
- * 2. one external client script, injected on every rendered page;
23
- * 3. an `addMiddleware` response instrumentation that buffers rendered HTML
24
- * responses and adds the response-level identity layer through the
25
- * identity Module.
26
- */
6
+ /** Dev-only by contract: outside `command === "dev"` with Nudge UI enabled, nothing is registered, so `astro build` output is byte-identical to a project without the integration. */
27
7
  export declare function nudgeUiAstro(options?: NudgeUiAstroOptions): AstroIntegration;
28
- /**
29
- * Adds Nudge UI to an Astro configuration without inspecting its shape.
30
- *
31
- * This wrapper is the stable installer seam. It works with shorthand,
32
- * variable, spread, and computed integration lists because it treats the
33
- * configuration as a value rather than rewriting `integrations`.
34
- */
8
+ /** Treats the configuration as a value, so shorthand, variable, spread and computed integration lists all work. */
35
9
  export declare function withNudgeUi(config: AstroUserConfig, options?: NudgeUiAstroOptions): AstroUserConfig;
@@ -5,10 +5,7 @@ import { createAstroClientTransportPlugin, } from "./clientTransport.js";
5
5
  import { createProjectContextPlugin } from "./projectContext.js";
6
6
  import { isNudgeUiEnabled } from "../environment.js";
7
7
  import { installMarkdownIdentity } from "./markdownIdentity.js";
8
- /**
9
- * Adds the prebuilt client as an external module. The inspector dependency
10
- * graph therefore never enters Astro's Vite optimizer.
11
- */
8
+ /** Loads the prebuilt client as an external module so the inspector graph never enters Astro's Vite optimizer. */
12
9
  const BOOTSTRAP_ENTRY_CONTENT = [
13
10
  'if (!document.querySelector("script[data-nudge-ui-client]")) {',
14
11
  ' const script = document.createElement("script");',
@@ -19,26 +16,10 @@ const BOOTSTRAP_ENTRY_CONTENT = [
19
16
  " document.head.append(script);",
20
17
  "}",
21
18
  ].join("\n");
22
- // Astro loads this URL directly from the installed package. Keep the source
23
- // suffix for the workspace test/dev path and select the compiled sibling in a
24
- // published package, where `middleware.ts` is intentionally not shipped.
19
+ // Astro loads this URL directly from the installed package: the .ts sibling serves
20
+ // workspace dev, while the compiled .js sibling ships in the published package.
25
21
  const MIDDLEWARE_ENTRYPOINT = new URL(import.meta.url.endsWith(".ts") ? "./middleware.ts" : "./middleware.js", import.meta.url);
26
- /**
27
- * Nudge UI host Adapter for Astro dev servers (ADR-0011).
28
- *
29
- * Dev-only by contract (ADR-0002): unless `command === "dev"`,
30
- * `enabled !== false`, and `NUDGE_UI` is not `0`, the integration registers nothing at all — no Vite
31
- * plugins, no injected scripts, no middleware — so `astro build` output is
32
- * byte-identical to a project without the integration.
33
- *
34
- * In dev it wires three pieces:
35
- * 1. the shared `nudgeUi()` Vite plugin (token knowledge and island JSX
36
- * identity transforms), the client transport, and project context;
37
- * 2. one external client script, injected on every rendered page;
38
- * 3. an `addMiddleware` response instrumentation that buffers rendered HTML
39
- * responses and adds the response-level identity layer through the
40
- * identity Module.
41
- */
22
+ /** Dev-only by contract: outside `command === "dev"` with Nudge UI enabled, nothing is registered, so `astro build` output is byte-identical to a project without the integration. */
42
23
  export function nudgeUiAstro(options = {}) {
43
24
  const enabled = isNudgeUiEnabled(options.enabled);
44
25
  const sharedOptions = { ...options };
@@ -49,10 +30,8 @@ export function nudgeUiAstro(options = {}) {
49
30
  if (!enabled || command !== "dev")
50
31
  return;
51
32
  const markdown = installMarkdownIdentity(config.markdown, fileURLToPath(config.root));
52
- // The shared plugin objects are plain Vite plugin records, but this
53
- // monorepo typechecks them against a different Vite major than the
54
- // installed Astro resolves internally; the runtime contract
55
- // (config/resolveId/load/transform hooks) is identical.
33
+ // Plain Vite plugin records; the monorepo typechecks them against a different Vite
34
+ // major than Astro resolves, but the runtime contract is identical.
56
35
  updateConfig({
57
36
  ...(markdown ? { markdown } : {}),
58
37
  vite: {
@@ -65,21 +44,13 @@ export function nudgeUiAstro(options = {}) {
65
44
  ],
66
45
  },
67
46
  });
68
- // The page stage runs on every rendered page. It only appends an
69
- // external script; no inspector dependency enters Vite's graph.
70
47
  injectScript("page", BOOTSTRAP_ENTRY_CONTENT);
71
48
  addMiddleware({ entrypoint: MIDDLEWARE_ENTRYPOINT, order: "pre" });
72
49
  },
73
50
  },
74
51
  };
75
52
  }
76
- /**
77
- * Adds Nudge UI to an Astro configuration without inspecting its shape.
78
- *
79
- * This wrapper is the stable installer seam. It works with shorthand,
80
- * variable, spread, and computed integration lists because it treats the
81
- * configuration as a value rather than rewriting `integrations`.
82
- */
53
+ /** Treats the configuration as a value, so shorthand, variable, spread and computed integration lists all work. */
83
54
  export function withNudgeUi(config, options = {}) {
84
55
  const integrations = config.integrations ?? [];
85
56
  if (containsNudgeUiIntegration(integrations))
@@ -1,9 +1,7 @@
1
1
  import type { Element, Root } from "hast";
2
- /** Adds authored Markdown positions through the remark/rehype pipeline. */
3
2
  export declare function createMarkdownIdentityPlugin(projectRoot: string): () => (tree: Root, file: {
4
3
  path?: string;
5
4
  }) => void;
6
- /** Adds the same identity through Astro's Sätteri visitor API. */
7
5
  export declare function createSatteriIdentityPlugin(projectRoot: string): {
8
6
  name: string;
9
7
  options: {
@@ -17,7 +15,6 @@ export declare function createSatteriIdentityPlugin(projectRoot: string): {
17
15
  }): void;
18
16
  };
19
17
  };
20
- /** Extends supported processors without replacing the consumer's pipeline. */
21
18
  export declare function installMarkdownIdentity(markdown: {
22
19
  processor?: {
23
20
  name: string;
@@ -21,7 +21,6 @@ function attributesFor(node, file, projectRoot) {
21
21
  }
22
22
  return attributes;
23
23
  }
24
- /** Adds authored Markdown positions through the remark/rehype pipeline. */
25
24
  export function createMarkdownIdentityPlugin(projectRoot) {
26
25
  return function nudgeMarkdownIdentity() {
27
26
  return (tree, file) => {
@@ -41,7 +40,6 @@ export function createMarkdownIdentityPlugin(projectRoot) {
41
40
  };
42
41
  };
43
42
  }
44
- /** Adds the same identity through Astro's Sätteri visitor API. */
45
43
  export function createSatteriIdentityPlugin(projectRoot) {
46
44
  return {
47
45
  name: "nudge-ui-markdown-identity",
@@ -61,7 +59,6 @@ export function createSatteriIdentityPlugin(projectRoot) {
61
59
  },
62
60
  };
63
61
  }
64
- /** Extends supported processors without replacing the consumer's pipeline. */
65
62
  export function installMarkdownIdentity(markdown, projectRoot) {
66
63
  const processor = markdown.processor;
67
64
  if (!processor)
@@ -1,13 +1,2 @@
1
- /**
2
- * Dev-only response instrumentation middleware (ADR-0011).
3
- *
4
- * Registered through `addMiddleware({ order: "pre" })`, this runs inside
5
- * Astro's own middleware chain — before user middleware, around page
6
- * rendering. It buffers the rendered HTML response, adds the Nudge UI
7
- * identity layer server-side (before any client script can strip Astro's
8
- * annotations), and forwards every non-HTML response untouched.
9
- *
10
- * Identity diagnostics are logged rather than swallowed so degraded identity
11
- * (for example a disabled dev toolbar) is observable in the dev server output.
12
- */
1
+ /** Runs at `order: "pre"` so identity lands before any client script can strip Astro's annotations. */
13
2
  export declare const onRequest: (_context: unknown, next: () => Promise<Response>) => Promise<Response>;
@@ -1,17 +1,6 @@
1
1
  import { projectRoot } from "virtual:nudge-ui-astro-context";
2
2
  import { instrumentAstroResponse } from "./responseInstrumentation.js";
3
- /**
4
- * Dev-only response instrumentation middleware (ADR-0011).
5
- *
6
- * Registered through `addMiddleware({ order: "pre" })`, this runs inside
7
- * Astro's own middleware chain — before user middleware, around page
8
- * rendering. It buffers the rendered HTML response, adds the Nudge UI
9
- * identity layer server-side (before any client script can strip Astro's
10
- * annotations), and forwards every non-HTML response untouched.
11
- *
12
- * Identity diagnostics are logged rather than swallowed so degraded identity
13
- * (for example a disabled dev toolbar) is observable in the dev server output.
14
- */
3
+ /** Runs at `order: "pre"` so identity lands before any client script can strip Astro's annotations. */
15
4
  export const onRequest = async (_context, next) => {
16
5
  const response = await next();
17
6
  const result = await instrumentAstroResponse(response, projectRoot === "" ? undefined : projectRoot);
@@ -1,11 +1,3 @@
1
1
  import type { Plugin } from "vite";
2
- /**
3
- * Supplies the dev-only server context (project root) to the instrumentation
4
- * middleware through a virtual module.
5
- *
6
- * The middleware entrypoint is loaded by Astro's SSR pipeline, where no
7
- * integration hook argument is available; the Vite-resolved project root is
8
- * therefore published as a module value instead of being read from ambient
9
- * process state.
10
- */
2
+ /** The middleware entrypoint has no integration hook argument, so the Vite-resolved root is published as a module value. */
11
3
  export declare function createProjectContextPlugin(): Plugin;
@@ -1,14 +1,6 @@
1
1
  const VIRTUAL_CONTEXT_ID = "virtual:nudge-ui-astro-context";
2
2
  const RESOLVED_CONTEXT_ID = `\0${VIRTUAL_CONTEXT_ID}`;
3
- /**
4
- * Supplies the dev-only server context (project root) to the instrumentation
5
- * middleware through a virtual module.
6
- *
7
- * The middleware entrypoint is loaded by Astro's SSR pipeline, where no
8
- * integration hook argument is available; the Vite-resolved project root is
9
- * therefore published as a module value instead of being read from ambient
10
- * process state.
11
- */
3
+ /** The middleware entrypoint has no integration hook argument, so the Vite-resolved root is published as a module value. */
12
4
  export function createProjectContextPlugin() {
13
5
  let projectRoot;
14
6
  return {
@@ -26,8 +18,7 @@ export function createProjectContextPlugin() {
26
18
  load(id) {
27
19
  if (id !== RESOLVED_CONTEXT_ID)
28
20
  return null;
29
- // An empty root degrades to undefined so annotation paths forward
30
- // unchanged instead of relativizing against the wrong base.
21
+ // Empty root degrades to undefined so annotation paths stay unchanged.
31
22
  return `export const projectRoot = ${JSON.stringify(projectRoot ?? "")};\n`;
32
23
  },
33
24
  };
@@ -1,41 +1,12 @@
1
1
  import { instrumentRenderedHtml, type HtmlIdentityDiagnostic } from "../../html/identity.js";
2
- /**
3
- * Classifies a response Content-Type header. Only `text/html` responses
4
- * (with optional parameters such as charset) are eligible for identity
5
- * instrumentation; everything else must pass through untouched.
6
- */
2
+ /** Only `text/html` (with optional parameters such as charset) is eligible; everything else passes through untouched. */
7
3
  export declare function isHtmlContentType(contentType: string | undefined): boolean;
8
- /** The instrumented response plus the identity diagnostics it produced. */
9
4
  export interface InstrumentedAstroResponse {
10
- /** A response safe to hand back to Astro. */
11
5
  readonly response: Response;
12
- /** Identity diagnostics in source order; empty for untouched responses. */
6
+ /** Empty for untouched responses. */
13
7
  readonly diagnostics: readonly HtmlIdentityDiagnostic[];
14
8
  }
15
- /**
16
- * The identity transform applied to an eligible HTML body. Injectable so the
17
- * failure-tolerance suite can drive the catch branch through a real seam
18
- * instead of replacing the identity module wholesale.
19
- */
9
+ /** Injectable so failure handling can be driven through a real seam rather than by replacing the identity module. */
20
10
  export type AstroHtmlInstrumenter = typeof instrumentRenderedHtml;
21
- /**
22
- * Instruments one rendered dev response at the Astro middleware seam
23
- * (ADR-0011).
24
- *
25
- * HTML bodies are materialized once, transformed through the identity Module,
26
- * and re-emitted as a new `Response` whose headers carry a corrected
27
- * `Content-Length`; every other response is returned by reference with its
28
- * stream untouched. If the body read or instrumentation throws, the original
29
- * response forwards so identity extraction can never break a dev page load —
30
- * a failed read returns the original response by reference (its stream is the
31
- * only remaining representation), while a failed transform returns a fresh
32
- * `Response` over the already-materialized body. Diagnostics always
33
- * accompany the result so callers can surface degraded identity.
34
- *
35
- * @param response The response produced downstream (the rendered page).
36
- * @param projectRoot Project root used to relativize annotation paths.
37
- * @param instrument Identity transform to apply; defaults to the real
38
- * `instrumentRenderedHtml`. Tests inject a failing implementation to exercise
39
- * the catch branch.
40
- */
11
+ /** HTML bodies are materialized once to re-emit with a corrected Content-Length; every other response is returned by reference, stream untouched. */
41
12
  export declare function instrumentAstroResponse(response: Response, projectRoot: string | undefined, instrument?: AstroHtmlInstrumenter): Promise<InstrumentedAstroResponse>;