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,18 +1,10 @@
1
1
  import { type AgentBridgeTransport, type AgentBridgeEndpointConfig, type AgentDiscoveryRequest, type AgentEventHandlers, type AgentEventSubscription, type AgentEventsRequest, type AgentPairRequest, type AgentPromptDispatch, type AgentDisconnectRequest, type AgentCanvasAcknowledgementRequest, type AgentSessionRequest, type AgentStatusSnapshot, type PairingResponse, type PromptDispatchResponse } from "./protocol.js";
2
- /** Returns whether the dev host supplied a trusted project bridge endpoint. */
3
2
  export declare function shouldAutoConnectAgentBridge(): boolean;
4
3
  export declare class AgentBridgeHttpError extends Error {
5
4
  readonly status: number;
6
5
  readonly code?: string;
7
6
  constructor(status: number, message: string, code?: string);
8
7
  }
9
- /**
10
- * HTTP/SSE browser adapter for the companion's canonical endpoints.
11
- *
12
- * The adapter is inert when no endpoint is configured. A host can publish an
13
- * endpoint with `window.__NUDGE_UI_AGENT_BRIDGE__` or the meta tag named
14
- * `nudge-ui-agent-bridge`; tests can inject a transport directly instead.
15
- */
16
8
  export declare class HttpAgentBridgeTransport implements AgentBridgeTransport {
17
9
  private readonly config;
18
10
  constructor(config?: AgentBridgeEndpointConfig);
@@ -1,4 +1,4 @@
1
- import { AGENT_PROTOCOL_VERSION, defaultBridgePort, isAgentPromptRequest, isAgentActivity, } from "./protocol.js";
1
+ import { AGENT_PROTOCOL_VERSION, BRIDGE_ENDPOINTS, decodeAgentStatusSnapshot, decodeBridgeEvent, decodePairingResponse, decodePromptDispatchResponse, } from "./protocol.js";
2
2
  import { getActiveCanvasDocument } from "../canvas/activeCanvasDocument.js";
3
3
  function isRecord(value) {
4
4
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -27,8 +27,7 @@ function configuredEndpointInDocument(doc) {
27
27
  const target = doc.defaultView;
28
28
  if (!target)
29
29
  return undefined;
30
- const globalConfig = endpointValue(target.__NUDGE_UI_AGENT_BRIDGE__)
31
- ?? endpointValue(target.__NUDGE_UI_AGENT__);
30
+ const globalConfig = endpointValue(target.__NUDGE_UI_AGENT_BRIDGE__);
32
31
  if (globalConfig)
33
32
  return globalConfig;
34
33
  const meta = doc.querySelector('meta[name="nudge-ui-agent-bridge"]');
@@ -44,7 +43,6 @@ function configuredEndpoint() {
44
43
  const previewDocument = getActiveCanvasDocument();
45
44
  return previewDocument ? configuredEndpointInDocument(previewDocument) : undefined;
46
45
  }
47
- /** Returns whether the dev host supplied a trusted project bridge endpoint. */
48
46
  export function shouldAutoConnectAgentBridge() {
49
47
  return configuredEndpoint()?.autoConnect === true;
50
48
  }
@@ -65,8 +63,7 @@ function safeUrl(value, origin) {
65
63
  const url = new URL(value, origin);
66
64
  if (url.protocol !== "http:" && url.protocol !== "https:")
67
65
  return null;
68
- // A same-origin reverse proxy is valid; a separately hosted bridge must
69
- // remain loopback-only to match ADR-0013.
66
+ // A separately hosted bridge must remain loopback-only; a same-origin reverse proxy is valid.
70
67
  if (url.origin !== origin && !isLoopback(url.hostname))
71
68
  return null;
72
69
  return url;
@@ -75,12 +72,12 @@ function safeUrl(value, origin) {
75
72
  return null;
76
73
  }
77
74
  }
78
- function endpointUrl(config, projectId, key, fallbackPath, origin) {
75
+ /** Null when the host published no endpoint; the browser never guesses a bridge port. */
76
+ function endpointUrl(config, key, fallbackPath, origin) {
79
77
  const explicit = config[key];
80
78
  if (explicit && key !== "baseUrl")
81
79
  return safeUrl(explicit, origin);
82
- const baseValue = config.baseUrl ?? `http://127.0.0.1:${defaultBridgePort(projectId)}`;
83
- const base = safeUrl(baseValue, origin);
80
+ const base = config.baseUrl ? safeUrl(config.baseUrl, origin) : null;
84
81
  if (!base)
85
82
  return null;
86
83
  base.pathname = `${base.pathname.replace(/\/$/, "")}${fallbackPath}`;
@@ -108,122 +105,23 @@ export class AgentBridgeHttpError extends Error {
108
105
  }
109
106
  }
110
107
  async function readJson(response) {
111
- let payload;
112
- try {
113
- payload = await response.json();
114
- }
115
- catch {
116
- payload = {};
117
- }
108
+ const body = await response.json().catch(() => null);
109
+ const payload = isRecord(body) ? body : {};
118
110
  if (!response.ok) {
119
- const error = isRecord(payload) && isRecord(payload.error) ? payload.error : payload;
111
+ const error = isRecord(payload.error) ? payload.error : payload;
120
112
  const message = isRecord(error) ? stringValue(error.message) : undefined;
121
113
  const code = isRecord(error) ? stringValue(error.code) : undefined;
122
114
  throw new AgentBridgeHttpError(response.status, message ?? `Agent bridge request failed (${response.status}).`, code);
123
115
  }
124
- return isRecord(payload) ? payload : {};
125
- }
126
- function statusPayload(value) {
127
- if (!isRecord(value))
128
- return null;
129
- const status = isRecord(value.status) ? value.status : value;
130
- if (typeof status.projectId !== "string"
131
- || (status.connection !== "offline"
132
- && status.connection !== "listening"
133
- && status.connection !== "paired"
134
- && status.connection !== "working")
135
- || typeof status.listenerActive !== "boolean"
136
- || typeof status.paired !== "boolean")
137
- return null;
138
- if (status.protocolVersion !== undefined && status.protocolVersion !== AGENT_PROTOCOL_VERSION)
139
- return null;
140
- const rawRequest = status.request;
141
- let request = null;
142
- if (rawRequest !== null && rawRequest !== undefined) {
143
- if (!isRecord(rawRequest)
144
- || (rawRequest.status !== "working"
145
- && rawRequest.status !== "completed"
146
- && rawRequest.status !== "failed"
147
- && rawRequest.status !== "interrupted"))
148
- return null;
149
- const requestCandidate = {
150
- requestId: rawRequest.requestId,
151
- projectId: rawRequest.projectId,
152
- prompt: rawRequest.prompt,
153
- ...(typeof rawRequest.changeRevision === "number" ? { changeRevision: rawRequest.changeRevision } : {}),
154
- ...(rawRequest.clientDispatchId === undefined ? {} : { clientDispatchId: rawRequest.clientDispatchId }),
155
- ...(rawRequest.sketches === undefined ? {} : { sketches: rawRequest.sketches }),
156
- };
157
- if (!isAgentPromptRequest(requestCandidate))
158
- return null;
159
- request = {
160
- ...requestCandidate,
161
- status: rawRequest.status,
162
- ...(typeof rawRequest.summary === "string" ? { summary: rawRequest.summary } : {}),
163
- ...(typeof rawRequest.error === "string" ? { error: rawRequest.error } : {}),
164
- };
165
- }
166
- return {
167
- protocolVersion: AGENT_PROTOCOL_VERSION,
168
- projectId: status.projectId,
169
- connection: status.connection,
170
- listenerActive: status.listenerActive,
171
- ...(typeof status.agentClientName === "string" ? { agentClientName: status.agentClientName.slice(0, 120) } : {}),
172
- paired: status.paired,
173
- request,
174
- };
116
+ return payload;
175
117
  }
176
- function eventPayload(value) {
177
- if (!isRecord(value))
178
- return null;
179
- const envelope = value;
180
- const event = isRecord(envelope.event) ? envelope.event : value;
181
- const type = stringValue(event.type);
182
- if (type === "status") {
183
- const status = statusPayload(event.status);
184
- return status ? { type: "status", status } : null;
185
- }
186
- if (type === "connected") {
187
- const status = statusPayload(event.status);
188
- return status ? { type: "connected", status } : null;
189
- }
190
- if (type === "disconnected") {
191
- return { type: "disconnected", ...(stringValue(event.reason) ? { reason: stringValue(event.reason) } : {}) };
192
- }
193
- if (type === "activity" && isAgentActivity(event.activity))
194
- return { type: "activity", activity: event.activity };
195
- if (type === "canvas-command" && isRecord(event.command)) {
196
- // The Canvas controller owns command validation. Preserve the shared
197
- // shape here so the parent stage can consume this event without a second
198
- // protocol vocabulary.
199
- return { type: "canvas-command", command: event.command };
200
- }
201
- return null;
202
- }
203
- function eventData(event) {
204
- if (typeof event.data !== "string")
205
- return event.data;
206
- try {
207
- return JSON.parse(event.data);
208
- }
209
- catch {
210
- return null;
211
- }
212
- }
213
- /**
214
- * HTTP/SSE browser adapter for the companion's canonical endpoints.
215
- *
216
- * The adapter is inert when no endpoint is configured. A host can publish an
217
- * endpoint with `window.__NUDGE_UI_AGENT_BRIDGE__` or the meta tag named
218
- * `nudge-ui-agent-bridge`; tests can inject a transport directly instead.
219
- */
220
118
  export class HttpAgentBridgeTransport {
221
119
  config;
222
120
  constructor(config = configuredEndpoint() ?? {}) {
223
121
  this.config = config;
224
122
  }
225
123
  async discover(request, signal) {
226
- const url = endpointUrl(this.config, request.projectId, "healthUrl", "/health", pageOrigin());
124
+ const url = endpointUrl(this.config, "healthUrl", BRIDGE_ENDPOINTS.health, pageOrigin());
227
125
  if (!url || typeof fetch !== "function")
228
126
  return null;
229
127
  const response = await fetch(withQuery(url, {
@@ -238,10 +136,10 @@ export class HttpAgentBridgeTransport {
238
136
  || payload.projectId !== request.projectId
239
137
  || (payload.origin !== undefined && payload.origin !== null && payload.origin !== request.origin))
240
138
  return null;
241
- return statusPayload(payload.status);
139
+ return decodeAgentStatusSnapshot(payload.status);
242
140
  }
243
141
  async pair(request, signal) {
244
- const url = endpointUrl(this.config, request.projectId, "pairUrl", "/pair", pageOrigin());
142
+ const url = endpointUrl(this.config, "pairUrl", BRIDGE_ENDPOINTS.pair, pageOrigin());
245
143
  if (!url || typeof fetch !== "function")
246
144
  throw new Error("Agent bridge is unavailable.");
247
145
  const response = await fetch(url, {
@@ -250,26 +148,13 @@ export class HttpAgentBridgeTransport {
250
148
  body: JSON.stringify(request),
251
149
  signal,
252
150
  });
253
- const payload = await readJson(response);
254
- if (payload.protocolVersion !== AGENT_PROTOCOL_VERSION
255
- || payload.projectId !== request.projectId
256
- || payload.origin !== request.origin
257
- || typeof payload.sessionToken !== "string") {
151
+ const pairing = decodePairingResponse(await readJson(response), request);
152
+ if (!pairing)
258
153
  throw new Error("Agent bridge returned an invalid pairing response.");
259
- }
260
- const status = statusPayload(payload.status);
261
- if (!status)
262
- throw new Error("Agent bridge returned an invalid status.");
263
- return {
264
- protocolVersion: AGENT_PROTOCOL_VERSION,
265
- projectId: request.projectId,
266
- origin: request.origin,
267
- sessionToken: payload.sessionToken,
268
- status,
269
- };
154
+ return pairing;
270
155
  }
271
156
  async takeOver(request, signal) {
272
- const url = endpointUrl(this.config, request.projectId, "takeoverUrl", "/takeover", pageOrigin());
157
+ const url = endpointUrl(this.config, "takeoverUrl", BRIDGE_ENDPOINTS.takeover, pageOrigin());
273
158
  if (!url || typeof fetch !== "function")
274
159
  throw new Error("Agent bridge is unavailable.");
275
160
  const response = await fetch(url, {
@@ -278,42 +163,26 @@ export class HttpAgentBridgeTransport {
278
163
  body: JSON.stringify(request),
279
164
  signal,
280
165
  });
281
- const payload = await readJson(response);
282
- if (payload.protocolVersion !== AGENT_PROTOCOL_VERSION
283
- || payload.projectId !== request.projectId
284
- || payload.origin !== request.origin
285
- || typeof payload.sessionToken !== "string") {
166
+ const pairing = decodePairingResponse(await readJson(response), request);
167
+ if (!pairing)
286
168
  throw new Error("Agent bridge returned an invalid takeover response.");
287
- }
288
- const status = statusPayload(payload.status);
289
- if (!status)
290
- throw new Error("Agent bridge returned an invalid status.");
291
- return {
292
- protocolVersion: AGENT_PROTOCOL_VERSION,
293
- projectId: request.projectId,
294
- origin: request.origin,
295
- sessionToken: payload.sessionToken,
296
- status,
297
- };
169
+ return pairing;
298
170
  }
299
171
  async restore(request, signal) {
300
- const url = endpointUrl(this.config, request.projectId, "statusUrl", "/status", pageOrigin());
172
+ const url = endpointUrl(this.config, "statusUrl", BRIDGE_ENDPOINTS.status, pageOrigin());
301
173
  if (!url || typeof fetch !== "function")
302
174
  return null;
303
175
  const response = await fetch(withQuery(url, {
304
176
  projectId: request.projectId,
305
177
  sessionToken: request.sessionToken,
306
178
  }), { method: "GET", headers: headers(), signal });
307
- const payload = await readJson(response);
308
- if (payload.protocolVersion !== AGENT_PROTOCOL_VERSION || payload.projectId !== request.projectId)
309
- return null;
310
- const status = statusPayload(payload);
311
- if (!status || !status.paired)
179
+ const status = decodeAgentStatusSnapshot(await readJson(response));
180
+ if (!status || status.projectId !== request.projectId || !status.paired)
312
181
  return null;
313
182
  return status;
314
183
  }
315
184
  openEvents(request, handlers) {
316
- const url = endpointUrl(this.config, request.projectId, "eventsUrl", "/events", pageOrigin());
185
+ const url = endpointUrl(this.config, "eventsUrl", BRIDGE_ENDPOINTS.events, pageOrigin());
317
186
  if (!url || typeof EventSource !== "function") {
318
187
  queueMicrotask(() => handlers.onDisconnect("Agent event transport is unavailable."));
319
188
  return { close: () => undefined };
@@ -325,10 +194,19 @@ export class HttpAgentBridgeTransport {
325
194
  const source = new EventSource(eventUrl.href);
326
195
  let closed = false;
327
196
  const handleMessage = (event) => {
328
- const value = eventData(event);
329
- if (isRecord(value) && "event" in value && (value.protocolVersion !== AGENT_PROTOCOL_VERSION || value.projectId !== request.projectId || value.sessionToken !== request.sessionToken))
197
+ let envelope;
198
+ try {
199
+ envelope = JSON.parse(event.data);
200
+ }
201
+ catch {
330
202
  return;
331
- const parsed = eventPayload(value);
203
+ }
204
+ if (!isRecord(envelope)
205
+ || envelope.protocolVersion !== AGENT_PROTOCOL_VERSION
206
+ || envelope.projectId !== request.projectId
207
+ || envelope.sessionToken !== request.sessionToken)
208
+ return;
209
+ const parsed = decodeBridgeEvent(envelope.event);
332
210
  if (parsed)
333
211
  handlers.onEvent(parsed);
334
212
  };
@@ -355,7 +233,7 @@ export class HttpAgentBridgeTransport {
355
233
  };
356
234
  }
357
235
  async dispatch(request, signal) {
358
- const url = endpointUrl(this.config, request.projectId, "promptUrl", "/prompt", pageOrigin());
236
+ const url = endpointUrl(this.config, "promptUrl", BRIDGE_ENDPOINTS.prompt, pageOrigin());
359
237
  if (!url || typeof fetch !== "function")
360
238
  throw new Error("Agent bridge is unavailable.");
361
239
  const response = await fetch(url, {
@@ -364,25 +242,13 @@ export class HttpAgentBridgeTransport {
364
242
  body: JSON.stringify(request),
365
243
  signal,
366
244
  });
367
- const payload = await readJson(response);
368
- if (!isRecord(payload.request) || payload.status !== "working") {
369
- throw new Error("Agent bridge returned an invalid prompt response.");
370
- }
371
- const requestCandidate = {
372
- requestId: payload.request.requestId,
373
- projectId: payload.request.projectId,
374
- prompt: payload.request.prompt,
375
- ...(typeof payload.request.changeRevision === "number" ? { changeRevision: payload.request.changeRevision } : {}),
376
- ...(payload.request.clientDispatchId === undefined ? {} : { clientDispatchId: payload.request.clientDispatchId }),
377
- ...(payload.request.sketches === undefined ? {} : { sketches: payload.request.sketches }),
378
- };
379
- if (!isAgentPromptRequest(requestCandidate) || requestCandidate.projectId !== request.projectId) {
245
+ const dispatched = decodePromptDispatchResponse(await readJson(response), request.projectId);
246
+ if (!dispatched)
380
247
  throw new Error("Agent bridge returned an invalid prompt response.");
381
- }
382
- return { request: requestCandidate, status: "working" };
248
+ return dispatched;
383
249
  }
384
250
  async disconnect(request, signal) {
385
- const url = endpointUrl(this.config, request.projectId, "disconnectUrl", "/disconnect", pageOrigin());
251
+ const url = endpointUrl(this.config, "disconnectUrl", BRIDGE_ENDPOINTS.disconnect, pageOrigin());
386
252
  if (!url || typeof fetch !== "function")
387
253
  return;
388
254
  await fetch(url, {
@@ -393,7 +259,7 @@ export class HttpAgentBridgeTransport {
393
259
  });
394
260
  }
395
261
  async acknowledgeCanvasCommand(request, signal) {
396
- const url = endpointUrl(this.config, request.projectId, "canvasAckUrl", "/canvas/ack", pageOrigin());
262
+ const url = endpointUrl(this.config, "canvasAckUrl", BRIDGE_ENDPOINTS.canvasAcknowledgement, pageOrigin());
397
263
  if (!url || typeof fetch !== "function")
398
264
  return;
399
265
  await fetch(url, {
@@ -1,13 +1,5 @@
1
1
  import type { AgentActivity, AgentStatusSnapshot, CanvasCommand, CanvasCommandAcknowledgement, CanvasCommandResult, AgentSketchAttachment, PairingResponse, PromptDispatchResponse } from "../../internal/agent-protocol.js";
2
- /**
3
- * Browser transport port for the shared Nudge agent protocol.
4
- *
5
- * Domain messages come from the private shared protocol module; this file only
6
- * adds the browser's injectable HTTP/SSE transport boundary. Keeping that
7
- * boundary local lets inspector tests use a deterministic fake while the
8
- * companion remains the owner of MCP and Node-specific code.
9
- */
10
- export { AGENT_PROTOCOL_LIMITS, AGENT_PROTOCOL_VERSION, defaultBridgePort, CANVAS_COMMAND_TYPES, canonicalOrigin, isAgentPromptRequest, isAgentSketchAttachment, isAgentSketchAnnotation, isAgentSketchCaptureMetadata, isAgentSketchMetadata, isAgentStatusUpdate, isAgentActivity, isAllowedOrigin, isCanvasCommand, isCanvasGroup, isCanvasState, isCanonicalOrigin, isProjectIdentity, isSameOriginRoute, protocolError, validateSketchAttachments, validateRoutes, } from "../../internal/agent-protocol.js";
2
+ export { AGENT_PROTOCOL_LIMITS, AGENT_PROTOCOL_VERSION, BRIDGE_ENDPOINTS, CANVAS_COMMAND_TYPES, canonicalOrigin, decodeAgentStatusSnapshot, decodeBridgeEvent, decodePairingResponse, decodePromptDispatchResponse, deriveConnectionState, isAgentPromptRequest, isAgentSketchAttachment, isAgentSketchAnnotation, isAgentSketchCaptureMetadata, isAgentSketchMetadata, isAgentStatusUpdate, isAgentActivity, isAllowedOrigin, isCanvasCommand, isCanvasGroup, isCanvasState, isCanonicalOrigin, isProjectIdentity, isSameOriginRoute, protocolError, validateSketchAttachments, validateRoutes, } from "../../internal/agent-protocol.js";
11
3
  export type { AgentActivity, BridgeActivityEvent, AgentConnectionState, AgentProjectIdentity, AgentPromptRequest, AgentDeliveredPrompt, AgentSketchAttachment, AgentSketchAnnotation, AgentSketchCaptureMetadata, AgentSketchMetadata, AgentRequestOutcome, AgentRequestStatus, AgentRoute, AgentStatusSnapshot, AgentStatusUpdate, BridgeCanvasCommandEvent, BridgeConnectedEvent, BridgeDisconnectedEvent, BridgeEnvelope, BridgeEvent, BridgeEventType, BridgeStatusEvent, CanvasCommand, CanvasCommandAcknowledgement, CanvasCommandError, CanvasCommandResult, CanvasGroup, CanvasGroupOwner, CanvasState, FitCanvasCommand, FocusCanvasGroupCommand, PairingRequest, PairingResponse, PresentRoutesCommand, PromptDispatchRequest, PromptDispatchResponse, ReadCanvasStateCommand, RemoveCanvasGroupCommand, StatusEventRequest, AgentProtocolVersion, } from "../../internal/agent-protocol.js";
12
4
  export interface AgentBridgeEndpointConfig {
13
5
  readonly baseUrl?: string;
@@ -67,7 +59,6 @@ export interface AgentEventHandlers {
67
59
  export interface AgentEventSubscription {
68
60
  readonly close: () => void;
69
61
  }
70
- /** Events delivered by the companion's SSE stream. */
71
62
  export type AgentBridgeEvent = {
72
63
  readonly type: "activity";
73
64
  readonly activity: AgentActivity;
@@ -1,9 +1 @@
1
- /**
2
- * Browser transport port for the shared Nudge agent protocol.
3
- *
4
- * Domain messages come from the private shared protocol module; this file only
5
- * adds the browser's injectable HTTP/SSE transport boundary. Keeping that
6
- * boundary local lets inspector tests use a deterministic fake while the
7
- * companion remains the owner of MCP and Node-specific code.
8
- */
9
- export { AGENT_PROTOCOL_LIMITS, AGENT_PROTOCOL_VERSION, defaultBridgePort, CANVAS_COMMAND_TYPES, canonicalOrigin, isAgentPromptRequest, isAgentSketchAttachment, isAgentSketchAnnotation, isAgentSketchCaptureMetadata, isAgentSketchMetadata, isAgentStatusUpdate, isAgentActivity, isAllowedOrigin, isCanvasCommand, isCanvasGroup, isCanvasState, isCanonicalOrigin, isProjectIdentity, isSameOriginRoute, protocolError, validateSketchAttachments, validateRoutes, } from "../../internal/agent-protocol.js";
1
+ export { AGENT_PROTOCOL_LIMITS, AGENT_PROTOCOL_VERSION, BRIDGE_ENDPOINTS, CANVAS_COMMAND_TYPES, canonicalOrigin, decodeAgentStatusSnapshot, decodeBridgeEvent, decodePairingResponse, decodePromptDispatchResponse, deriveConnectionState, isAgentPromptRequest, isAgentSketchAttachment, isAgentSketchAnnotation, isAgentSketchCaptureMetadata, isAgentSketchMetadata, isAgentStatusUpdate, isAgentActivity, isAllowedOrigin, isCanvasCommand, isCanvasGroup, isCanvasState, isCanonicalOrigin, isProjectIdentity, isSameOriginRoute, protocolError, validateSketchAttachments, validateRoutes, } from "../../internal/agent-protocol.js";
@@ -1,5 +1,5 @@
1
1
  import { type DraftTarget } from "../drafts/model.js";
2
- import { type ChangeRecord } from "../changes/changesLog.js";
2
+ import { type ChangeRecord } from "../changes/types.js";
3
3
  import { type StructuralChange } from "../projection/structuralProjection.js";
4
4
  export interface HandoffOwner {
5
5
  readonly draftId: string;
@@ -13,35 +13,18 @@ export interface HandoffSnapshot {
13
13
  readonly changes: readonly ChangeRecord[];
14
14
  readonly structuralChanges: readonly StructuralChange[];
15
15
  }
16
- /** Stable, preview-metadata-free identity for one prompt handoff record. */
17
16
  export declare function handoffChangeFingerprint(change: ChangeRecord): string;
18
- /** Stable identity for one structural record included in a prompt handoff. */
19
17
  export declare function handoffStructuralFingerprint(change: StructuralChange): string;
20
- /**
21
- * Positively verifies browser-observable source results after the inspector's
22
- * own projections have been removed. Component props and interaction states
23
- * intentionally remain unresolved because rendered output alone cannot prove
24
- * that their source was updated.
25
- */
18
+ /** Component props and interaction states stay unresolved: rendered output alone cannot prove their source changed. */
26
19
  export declare function verifiedChangeKeys(sentChanges: readonly ChangeRecord[], doc?: Document): Set<string>;
27
- /** Captures the exact canonical edits associated with one dispatched prompt. */
28
20
  export declare function recordAgentDispatch(revision: number, changes: readonly ChangeRecord[], structuralChanges?: readonly StructuralChange[], owner?: HandoffOwner): void;
29
- /** Drops a captured revision when the bridge rejects its dispatch. */
30
21
  export declare function discardAgentDispatch(revision: number): void;
31
- /** Returns how many canonical edits were in flight for one dispatch. */
32
22
  export declare function getAgentDispatchSize(revision: number): number;
33
- /**
34
- * Reconciles only records that still equal the sent snapshot and that remain
35
- * observable after removing Nudge's own preview. Newer edits and ambiguous
36
- * records are preserved.
37
- */
23
+ /** Newer edits and ambiguous records are preserved. */
38
24
  export declare function verifyAndReconcileHandoff(snapshot: HandoffSnapshot, doc?: Document | null): Promise<number>;
39
25
  export declare function documentBelongsToHandoff(doc: Document, owner: HandoffOwner): boolean;
40
- /** Returns the records captured for one dispatch until it is reconciled. */
41
26
  export declare function getAgentDispatch(revision: number): HandoffSnapshot | null;
42
- /** Records in the owner draft that still equal what a handoff sent. */
43
27
  export declare function unchangedHandoffRecords(snapshot: HandoffSnapshot): Pick<HandoffSnapshot, "changes" | "structuralChanges">;
44
- /** Reconciles the captured records for one completed connected-agent request. */
45
28
  export declare function verifyAndReconcileAgentDispatch(revision: number): Promise<number>;
46
29
  /** Test/session reset for in-memory dispatch snapshots. */
47
30
  export declare function resetAgentVerification(): void;
@@ -1,11 +1,10 @@
1
- import { draftIdForCard } from "../drafts/store.js";
1
+ import { draftIdForCard, getActiveDraftChanges, getDraftChanges, reconcileDraftChanges } from "../drafts/store.js";
2
2
  import { getCanvasCards } from "../canvas/canvasStore.js";
3
3
  import { getRegisteredFrames, getCanvasCardIdForDocument } from "../canvas/projection.js";
4
4
  import { applicationTarget, targetFromKey, targetKey } from "../drafts/model.js";
5
5
  import { changeKey, tokenReference } from "../changes/model.js";
6
6
  import { selectorForManagedChange } from "../changes/managedStyleProjection.js";
7
- import { getActiveDraftChanges, getDraftChanges, reconcileDraftChanges } from "../changes/draftChanges.js";
8
- import { isComponentChange, isTextContentChange, isTokenChange, } from "../changes/changesLog.js";
7
+ import { isComponentChange, isTextContentChange, isTokenChange, } from "../changes/types.js";
9
8
  import { verifyPreview } from "../projection/managedStylesheet.js";
10
9
  import { resolveMovedRenderedInstance } from "../projection/renderedInstance.js";
11
10
  import { relocateSourceSite, sourceSiteSelector } from "../selection/sourceSite.js";
@@ -35,11 +34,9 @@ function stableJsonValue(value) {
35
34
  function stableSerialized(value) {
36
35
  return JSON.stringify(stableJsonValue(value));
37
36
  }
38
- /** Stable, preview-metadata-free identity for one prompt handoff record. */
39
37
  export function handoffChangeFingerprint(change) {
40
38
  return stableSerialized(change);
41
39
  }
42
- /** Stable identity for one structural record included in a prompt handoff. */
43
40
  export function handoffStructuralFingerprint(change) {
44
41
  return stableSerialized(change);
45
42
  }
@@ -60,7 +57,7 @@ function queryTargets(doc, selector) {
60
57
  return [];
61
58
  }
62
59
  }
63
- /** Resolves current style targets, following a source site whose position shifted. */
60
+ /** Falls back to relocating a shifted source site. */
64
61
  function styleTargets(change, doc) {
65
62
  if (isTokenChange(change))
66
63
  return queryTargets(doc, change.selector);
@@ -107,12 +104,7 @@ function verifyText(change, doc) {
107
104
  && change.after.length === 0
108
105
  && (resolved.element.textContent ?? "") === "";
109
106
  }
110
- /**
111
- * A delete verifies when its target no longer resolves in the document once
112
- * the preview is lifted: the source really removed it. Ambiguous evidence
113
- * still means identical elements are present, so only a definitive miss
114
- * verifies.
115
- */
107
+ /** Only a definitive miss verifies; ambiguous evidence still means identical elements are present. */
116
108
  function verifyStructuralDelete(change, doc) {
117
109
  if (!change.route || !change.state || !doc.location)
118
110
  return false;
@@ -129,12 +121,7 @@ function verifyStructuralDelete(change, doc) {
129
121
  && documentStateKey(doc) === change.state
130
122
  && resolveMovedRenderedInstance(doc, change.target).status === "missing";
131
123
  }
132
- /**
133
- * A move verifies when the element sits at its recorded destination without
134
- * the preview holding it there. The projection rebuild returns a cleanly
135
- * applied move preview to its captured origin, so such records conservatively
136
- * stay unverified instead of trusting rendered placement alone.
137
- */
124
+ /** A cleanly applied preview returns to its captured origin, so only a move that stays at its recorded destination verifies. */
138
125
  function verifyStructuralMove(change, doc) {
139
126
  const target = resolveMovedRenderedInstance(doc, change.target);
140
127
  if (target.status !== "resolved")
@@ -160,12 +147,7 @@ function verifiedStructuralChangeIds(eligible, doc) {
160
147
  }
161
148
  return verified;
162
149
  }
163
- /**
164
- * Positively verifies browser-observable source results after the inspector's
165
- * own projections have been removed. Component props and interaction states
166
- * intentionally remain unresolved because rendered output alone cannot prove
167
- * that their source was updated.
168
- */
150
+ /** Component props and interaction states stay unresolved: rendered output alone cannot prove their source changed. */
169
151
  export function verifiedChangeKeys(sentChanges, doc = document) {
170
152
  const verified = new Set();
171
153
  for (const change of sentChanges) {
@@ -179,7 +161,6 @@ export function verifiedChangeKeys(sentChanges, doc = document) {
179
161
  }
180
162
  return verified;
181
163
  }
182
- /** Captures the exact canonical edits associated with one dispatched prompt. */
183
164
  export function recordAgentDispatch(revision, changes, structuralChanges = [], owner = captureHandoffOwner()) {
184
165
  dispatches.set(revision, {
185
166
  owner: structuredClone(owner),
@@ -187,11 +168,9 @@ export function recordAgentDispatch(revision, changes, structuralChanges = [], o
187
168
  structuralChanges: structuralChanges.map((change) => structuredClone(change)),
188
169
  });
189
170
  }
190
- /** Drops a captured revision when the bridge rejects its dispatch. */
191
171
  export function discardAgentDispatch(revision) {
192
172
  dispatches.delete(revision);
193
173
  }
194
- /** Returns how many canonical edits were in flight for one dispatch. */
195
174
  export function getAgentDispatchSize(revision) {
196
175
  const snapshot = dispatches.get(revision);
197
176
  if (!snapshot)
@@ -220,11 +199,7 @@ function afterBrowserPaint(doc) {
220
199
  });
221
200
  });
222
201
  }
223
- /**
224
- * Reconciles only records that still equal the sent snapshot and that remain
225
- * observable after removing Nudge's own preview. Newer edits and ambiguous
226
- * records are preserved.
227
- */
202
+ /** Newer edits and ambiguous records are preserved. */
228
203
  export async function verifyAndReconcileHandoff(snapshot, doc = handoffDocument(snapshot.owner)) {
229
204
  if (!doc || !documentBelongsToHandoff(doc, snapshot.owner))
230
205
  return 0;
@@ -242,8 +217,6 @@ export async function verifyAndReconcileHandoff(snapshot, doc = handoffDocument(
242
217
  const eligible = current.filter((change) => sentByKey.get(changeKey(change)) === handoffChangeFingerprint(change));
243
218
  const eligibleKeys = new Set(eligible.map(changeKey));
244
219
  const remaining = current.filter((change) => !eligibleKeys.has(changeKey(change)));
245
- // The same "still unchanged" rule for structural intent: only canonical
246
- // records byte-identical to the dispatched snapshot may be reconciled.
247
220
  const sentStructural = new Map(snapshot.structuralChanges.map((change) => [change.id, handoffStructuralFingerprint(change)]));
248
221
  const currentStructural = getDraftChanges(snapshot.owner.draftId).structuralChanges;
249
222
  const eligibleStructural = currentStructural.filter((change) => sentStructural.get(change.id) === handoffStructuralFingerprint(change));
@@ -266,9 +239,7 @@ export async function verifyAndReconcileHandoff(snapshot, doc = handoffDocument(
266
239
  return 0;
267
240
  const verified = verifiedChangeKeys(eligible, doc);
268
241
  const verifiedStructural = verifiedStructuralChangeIds(eligibleStructural, doc);
269
- // A user can make another inspector edit while the two-frame verification
270
- // window is open. Recheck byte identity immediately before reconciliation
271
- // so a newer value at the same key can never be removed.
242
+ // Recheck byte identity before reconciling; a user edit can land while the two-frame window is open.
272
243
  const currentByKey = new Map(getDraftChanges(snapshot.owner.draftId).changes.map((change) => [changeKey(change), handoffChangeFingerprint(change)]));
273
244
  const stillVerified = new Set([...verified].filter((key) => currentByKey.get(key) === sentByKey.get(key)));
274
245
  const currentStructuralById = new Map(getDraftChanges(snapshot.owner.draftId).structuralChanges.map((change) => [change.id, handoffStructuralFingerprint(change)]));
@@ -281,12 +252,11 @@ export async function verifyAndReconcileHandoff(snapshot, doc = handoffDocument(
281
252
  return reconcileDraftChanges(snapshot.owner.draftId, stillVerified, stillVerifiedStructural);
282
253
  }
283
254
  finally {
284
- // Reconciliation reapplies the canonical set. If it was unable to write
285
- // (for example, a read-only Canvas lease), restore the untouched set here.
255
+ // If reconciliation could not write (read-only Canvas lease), restore the untouched set; a Canvas restore settles on the renderer's acknowledgement.
286
256
  if (doc === document)
287
257
  await applyProjection(getActiveDraftChanges());
288
258
  else
289
- restoreCanonicalFrameProjection(doc);
259
+ await restoreCanonicalFrameProjection(doc);
290
260
  }
291
261
  }
292
262
  export function documentBelongsToHandoff(doc, owner) {
@@ -308,11 +278,9 @@ function handoffDocument(owner) {
308
278
  }
309
279
  return owner.target.kind === "application" && !isEditorShellDocument() ? document : null;
310
280
  }
311
- /** Returns the records captured for one dispatch until it is reconciled. */
312
281
  export function getAgentDispatch(revision) {
313
282
  return dispatches.get(revision) ?? null;
314
283
  }
315
- /** Records in the owner draft that still equal what a handoff sent. */
316
284
  export function unchangedHandoffRecords(snapshot) {
317
285
  const sent = new Set(snapshot.changes.map(handoffChangeFingerprint));
318
286
  const sentStructural = new Set(snapshot.structuralChanges.map(handoffStructuralFingerprint));
@@ -322,7 +290,6 @@ export function unchangedHandoffRecords(snapshot) {
322
290
  structuralChanges: current.structuralChanges.filter((change) => sentStructural.has(handoffStructuralFingerprint(change))),
323
291
  };
324
292
  }
325
- /** Reconciles the captured records for one completed connected-agent request. */
326
293
  export async function verifyAndReconcileAgentDispatch(revision) {
327
294
  const snapshot = dispatches.get(revision);
328
295
  if (!snapshot)
@@ -0,0 +1,5 @@
1
+ import { type ReactElement } from "react";
2
+ export type InspectorShell = () => ReactElement;
3
+ export declare function bootstrapNudgeUi(inspectorHost: HTMLElement, shell?: InspectorShell): void;
4
+ export declare function mountInspector(host: HTMLElement): void;
5
+ export declare function unmountInspector(): void;