nudge-ui 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/dist/cli/agentCommand.d.ts +0 -1
  2. package/dist/cli/agentCommand.js +0 -1
  3. package/dist/client.mjs +238 -122
  4. package/dist/compiler/ast.d.ts +0 -6
  5. package/dist/compiler/ast.js +0 -5
  6. package/dist/compiler/componentContractTypes.d.ts +11 -5
  7. package/dist/compiler/componentContracts.js +3 -9
  8. package/dist/compiler/componentInstrumentation.d.ts +2 -13
  9. package/dist/compiler/componentInstrumentation.js +3 -12
  10. package/dist/compiler/componentPolicyResolution.d.ts +3 -22
  11. package/dist/compiler/componentPolicyResolution.js +6 -38
  12. package/dist/compiler/identityAttributes.d.ts +2 -0
  13. package/dist/compiler/identityAttributes.js +2 -0
  14. package/dist/compiler/index.d.ts +0 -1
  15. package/dist/compiler/index.js +0 -1
  16. package/dist/compiler/packageComponentContracts.d.ts +10 -19
  17. package/dist/compiler/packageComponentContracts.js +60 -43
  18. package/dist/compiler/reactComponentProtocols.d.ts +0 -7
  19. package/dist/compiler/reactComponentProtocols.js +0 -7
  20. package/dist/compiler/reactIdentity.d.ts +2 -2
  21. package/dist/compiler/reactIdentity.js +41 -43
  22. package/dist/compiler/sourcePaths.d.ts +4 -8
  23. package/dist/compiler/sourcePaths.js +6 -8
  24. package/dist/css/dialects/index.d.ts +2 -21
  25. package/dist/css/dialects/index.js +2 -9
  26. package/dist/css/dialects/tailwind.d.ts +2 -16
  27. package/dist/css/dialects/tailwind.js +2 -25
  28. package/dist/css/dialects/vanillaExtract.d.ts +1 -9
  29. package/dist/css/dialects/vanillaExtract.js +0 -1
  30. package/dist/css/index.d.ts +0 -8
  31. package/dist/css/index.js +0 -8
  32. package/dist/css/model/index.d.ts +6 -38
  33. package/dist/css/model/index.js +0 -9
  34. package/dist/css/token-inventory/index.d.ts +0 -23
  35. package/dist/css/token-inventory/index.js +0 -23
  36. package/dist/css/token-inventory/inventory.js +4 -16
  37. package/dist/css/token-inventory/parseStylesheet.d.ts +1 -9
  38. package/dist/css/token-inventory/parseStylesheet.js +5 -42
  39. package/dist/css/token-inventory/policy.d.ts +2 -39
  40. package/dist/css/token-inventory/policy.js +2 -39
  41. package/dist/css/token-inventory/types.d.ts +2 -15
  42. package/dist/css/value-semantics/borderSemantics.d.ts +1 -8
  43. package/dist/css/value-semantics/borderSemantics.js +5 -23
  44. package/dist/css/value-semantics/boxSemantics.d.ts +2 -25
  45. package/dist/css/value-semantics/boxSemantics.js +1 -7
  46. package/dist/css/value-semantics/colorSemantics.d.ts +6 -60
  47. package/dist/css/value-semantics/colorSemantics.js +9 -40
  48. package/dist/css/value-semantics/cssSyntax.d.ts +10 -10
  49. package/dist/css/value-semantics/cssSyntax.js +39 -11
  50. package/dist/css/value-semantics/fontSemantics.d.ts +3 -19
  51. package/dist/css/value-semantics/fontSemantics.js +7 -25
  52. package/dist/css/value-semantics/index.d.ts +1 -12
  53. package/dist/css/value-semantics/index.js +1 -12
  54. package/dist/css/value-semantics/propertyPolicy.d.ts +6 -53
  55. package/dist/css/value-semantics/propertyPolicy.js +47 -59
  56. package/dist/css/value-semantics/stringMaps.d.ts +0 -1
  57. package/dist/css/value-semantics/structuredValues.d.ts +3 -37
  58. package/dist/css/value-semantics/structuredValues.js +6 -17
  59. package/dist/css/value-semantics/tokenInterpretation.d.ts +8 -50
  60. package/dist/css/value-semantics/tokenInterpretation.js +7 -21
  61. package/dist/hosts/astro/astroRuntimeConfig.d.ts +0 -1
  62. package/dist/hosts/astro/astroRuntimeConfig.js +0 -1
  63. package/dist/hosts/astro/clientAsset.d.ts +1 -5
  64. package/dist/hosts/astro/clientAsset.js +1 -5
  65. package/dist/hosts/astro/clientTransport.d.ts +0 -1
  66. package/dist/hosts/astro/clientTransport.js +4 -9
  67. package/dist/hosts/astro/integration.d.ts +2 -28
  68. package/dist/hosts/astro/integration.js +7 -36
  69. package/dist/hosts/astro/markdownIdentity.d.ts +0 -3
  70. package/dist/hosts/astro/markdownIdentity.js +0 -3
  71. package/dist/hosts/astro/middleware.d.ts +1 -12
  72. package/dist/hosts/astro/middleware.js +1 -12
  73. package/dist/hosts/astro/projectContext.d.ts +1 -9
  74. package/dist/hosts/astro/projectContext.js +2 -11
  75. package/dist/hosts/astro/responseInstrumentation.d.ts +4 -33
  76. package/dist/hosts/astro/responseInstrumentation.js +5 -34
  77. package/dist/hosts/environment.d.ts +0 -8
  78. package/dist/hosts/environment.js +0 -1
  79. package/dist/hosts/next/index.js +1 -3
  80. package/dist/hosts/next/loader.d.ts +5 -44
  81. package/dist/hosts/next/loader.js +22 -103
  82. package/dist/hosts/next/loaders/identity-loader.cjs +111 -65
  83. package/dist/hosts/next/loaders/loader-plugin.cjs +111 -65
  84. package/dist/hosts/next/manifest.d.ts +2 -16
  85. package/dist/hosts/next/manifest.js +18 -20
  86. package/dist/hosts/next/mount.d.ts +1 -11
  87. package/dist/hosts/next/mount.js +1 -11
  88. package/dist/hosts/next/repositoryScope.d.ts +2 -17
  89. package/dist/hosts/next/repositoryScope.js +2 -17
  90. package/dist/hosts/next/sidecar.d.ts +0 -13
  91. package/dist/hosts/next/sidecar.js +25 -110
  92. package/dist/hosts/next/wrapper.d.ts +0 -31
  93. package/dist/hosts/next/wrapper.js +13 -64
  94. package/dist/hosts/projectBridge.d.ts +0 -2
  95. package/dist/hosts/projectBridge.js +0 -2
  96. package/dist/hosts/reactRendererCapture.d.ts +2 -0
  97. package/dist/hosts/reactRendererCapture.js +12 -0
  98. package/dist/hosts/static/cli.d.ts +0 -4
  99. package/dist/hosts/static/cli.js +0 -3
  100. package/dist/hosts/static/html/bootstrap.d.ts +1 -18
  101. package/dist/hosts/static/html/bootstrap.js +2 -14
  102. package/dist/hosts/static/manifest.d.ts +2 -15
  103. package/dist/hosts/static/manifest.js +5 -18
  104. package/dist/hosts/static/server.d.ts +4 -38
  105. package/dist/hosts/static/server.js +17 -67
  106. package/dist/hosts/vite/index.d.ts +0 -10
  107. package/dist/hosts/vite/index.js +0 -10
  108. package/dist/hosts/vite/react.d.ts +4 -17
  109. package/dist/hosts/vite/react.js +18 -35
  110. package/dist/hosts/vite/tokens/activeStylesheets.d.ts +1 -10
  111. package/dist/hosts/vite/tokens/activeStylesheets.js +3 -8
  112. package/dist/hosts/vite/tokens/fileMap.d.ts +0 -1
  113. package/dist/hosts/vite/tokens/viteStylesheetArtifacts.d.ts +2 -15
  114. package/dist/hosts/vite/tokens/viteStylesheetArtifacts.js +3 -10
  115. package/dist/hosts/vite/vite.d.ts +5 -26
  116. package/dist/hosts/vite/vite.js +44 -80
  117. package/dist/html/dom.d.ts +0 -1
  118. package/dist/html/dom.js +0 -1
  119. package/dist/html/identity.d.ts +1 -15
  120. package/dist/html/identity.js +1 -8
  121. package/dist/html/insertions.d.ts +2 -8
  122. package/dist/html/insertions.js +1 -1
  123. package/dist/inspector/agent/McpConnectionDialog.d.ts +1 -6
  124. package/dist/inspector/agent/McpConnectionDialog.js +1 -6
  125. package/dist/inspector/agent/activity.d.ts +1 -1
  126. package/dist/inspector/agent/activity.js +1 -1
  127. package/dist/inspector/agent/client.d.ts +2 -26
  128. package/dist/inspector/agent/client.js +17 -64
  129. package/dist/inspector/agent/connectionStatus.d.ts +0 -1
  130. package/dist/inspector/agent/connectionStatus.js +0 -1
  131. package/dist/inspector/agent/httpTransport.d.ts +0 -8
  132. package/dist/inspector/agent/httpTransport.js +21 -39
  133. package/dist/inspector/agent/protocol.d.ts +1 -10
  134. package/dist/inspector/agent/protocol.js +1 -9
  135. package/dist/inspector/agent/verification.d.ts +2 -19
  136. package/dist/inspector/agent/verification.js +7 -43
  137. package/dist/inspector/boot.d.ts +3 -1
  138. package/dist/inspector/boot.js +12 -20
  139. package/dist/inspector/canvas/AgentActivityOverlay.d.ts +1 -1
  140. package/dist/inspector/canvas/AgentActivityOverlay.js +1 -1
  141. package/dist/inspector/canvas/CanvasCard.js +7 -14
  142. package/dist/inspector/canvas/CanvasElementOverlay.js +117 -50
  143. package/dist/inspector/canvas/CanvasWorkspace.js +15 -29
  144. package/dist/inspector/canvas/PageCard.d.ts +0 -1
  145. package/dist/inspector/canvas/PageCard.js +0 -1
  146. package/dist/inspector/canvas/SketchToolOptions.d.ts +0 -1
  147. package/dist/inspector/canvas/SketchToolOptions.js +0 -6
  148. package/dist/inspector/canvas/ToolOptionsDrawer.d.ts +1 -6
  149. package/dist/inspector/canvas/ToolOptionsDrawer.js +2 -8
  150. package/dist/inspector/canvas/activeCanvasDocument.d.ts +0 -2
  151. package/dist/inspector/canvas/activeCanvasDocument.js +0 -2
  152. package/dist/inspector/canvas/agentPresentation.d.ts +2 -13
  153. package/dist/inspector/canvas/agentPresentation.js +3 -14
  154. package/dist/inspector/canvas/canvasFrame.d.ts +2 -6
  155. package/dist/inspector/canvas/canvasFrame.js +1 -2
  156. package/dist/inspector/canvas/canvasResize.d.ts +1 -6
  157. package/dist/inspector/canvas/canvasResize.js +1 -6
  158. package/dist/inspector/canvas/canvasStore.d.ts +4 -12
  159. package/dist/inspector/canvas/canvasStore.js +12 -26
  160. package/dist/inspector/canvas/frameConnection.d.ts +1 -7
  161. package/dist/inspector/canvas/frameContent.d.ts +0 -1
  162. package/dist/inspector/canvas/frameLifecycle.d.ts +12 -0
  163. package/dist/inspector/canvas/frameLifecycle.js +11 -0
  164. package/dist/inspector/canvas/frameProtocol.d.ts +5 -40
  165. package/dist/inspector/canvas/frameProtocol.js +1 -24
  166. package/dist/inspector/canvas/frameScrollbarStyles.d.ts +0 -1
  167. package/dist/inspector/canvas/frameScrollbarStyles.js +0 -1
  168. package/dist/inspector/canvas/layout.d.ts +10 -22
  169. package/dist/inspector/canvas/layout.js +0 -3
  170. package/dist/inspector/canvas/normalizeUrl.js +1 -8
  171. package/dist/inspector/canvas/pageSurface.d.ts +1 -6
  172. package/dist/inspector/canvas/pageSurface.js +1 -6
  173. package/dist/inspector/canvas/projection.d.ts +4 -25
  174. package/dist/inspector/canvas/projection.js +22 -72
  175. package/dist/inspector/canvas/rendererBootstrap.d.ts +8 -1
  176. package/dist/inspector/canvas/rendererBootstrap.js +6 -14
  177. package/dist/inspector/canvas/rendererCidIndex.d.ts +0 -5
  178. package/dist/inspector/canvas/rendererCidIndex.js +0 -5
  179. package/dist/inspector/canvas/rendererElementSelector.js +29 -27
  180. package/dist/inspector/canvas/rendererMessageRouter.d.ts +0 -1
  181. package/dist/inspector/canvas/rendererMessageRouter.js +0 -1
  182. package/dist/inspector/canvas/rendererSelectionProxy.d.ts +1 -5
  183. package/dist/inspector/canvas/rendererSelectionProxy.js +2 -7
  184. package/dist/inspector/canvas/rendererStylesheet.d.ts +0 -1
  185. package/dist/inspector/canvas/rendererStylesheet.js +9 -2
  186. package/dist/inspector/canvas/resizeHandleScale.d.ts +1 -10
  187. package/dist/inspector/canvas/resizeHandleScale.js +1 -10
  188. package/dist/inspector/canvas/sessionStore.d.ts +1 -7
  189. package/dist/inspector/canvas/sessionStore.js +21 -34
  190. package/dist/inspector/canvas/staleChangeDetector.js +1 -4
  191. package/dist/inspector/canvas/toolbarScale.d.ts +1 -4
  192. package/dist/inspector/canvas/toolbarScale.js +1 -4
  193. package/dist/inspector/canvas/useCanvasLayoutAnimation.d.ts +0 -1
  194. package/dist/inspector/canvas/useCanvasLayoutAnimation.js +0 -1
  195. package/dist/inspector/canvas/viewStore.js +1 -1
  196. package/dist/inspector/canvas/wheelPan.d.ts +1 -1
  197. package/dist/inspector/canvas/wheelPan.js +1 -1
  198. package/dist/inspector/canvas/workspaceLease.d.ts +1 -5
  199. package/dist/inspector/canvas/workspaceLease.js +1 -7
  200. package/dist/inspector/changes/codecs.js +2 -1
  201. package/dist/inspector/changes/draftPreview.d.ts +1 -6
  202. package/dist/inspector/changes/draftPreview.js +15 -30
  203. package/dist/inspector/changes/editModel.d.ts +3 -13
  204. package/dist/inspector/changes/editModel.js +1 -2
  205. package/dist/inspector/changes/managedStyleProjection.js +4 -14
  206. package/dist/inspector/changes/model.d.ts +0 -5
  207. package/dist/inspector/changes/model.js +1 -8
  208. package/dist/inspector/changes/previewDiagnostics.d.ts +2 -12
  209. package/dist/inspector/changes/previewDiagnostics.js +4 -20
  210. package/dist/inspector/changes/previewVerification.d.ts +25 -0
  211. package/dist/inspector/changes/previewVerification.js +34 -0
  212. package/dist/inspector/changes/structuralTypes.d.ts +2 -4
  213. package/dist/inspector/changes/types.d.ts +3 -10
  214. package/dist/inspector/clientManifest.d.ts +17 -6
  215. package/dist/inspector/clientManifest.js +16 -3
  216. package/dist/inspector/comments/CommentsOverlay.js +48 -7
  217. package/dist/inspector/comments/element.d.ts +1 -2
  218. package/dist/inspector/comments/element.js +1 -2
  219. package/dist/inspector/comments/store.d.ts +1 -1
  220. package/dist/inspector/comments/store.js +1 -1
  221. package/dist/inspector/comments/verification.d.ts +8 -2
  222. package/dist/inspector/comments/verification.js +18 -10
  223. package/dist/inspector/componentSemantics/ComponentPropsSection.d.ts +8 -0
  224. package/dist/inspector/componentSemantics/ComponentPropsSection.js +10 -7
  225. package/dist/inspector/componentSemantics/adapterRegistry.d.ts +2 -9
  226. package/dist/inspector/componentSemantics/adapterRegistry.js +2 -9
  227. package/dist/inspector/componentSemantics/changeModel.js +2 -4
  228. package/dist/inspector/componentSemantics/react/callsites.d.ts +28 -0
  229. package/dist/inspector/componentSemantics/react/callsites.js +261 -0
  230. package/dist/inspector/componentSemantics/react/devtoolsHook.d.ts +23 -0
  231. package/dist/inspector/componentSemantics/react/devtoolsHook.js +71 -0
  232. package/dist/inspector/componentSemantics/react/fibers.d.ts +17 -0
  233. package/dist/inspector/componentSemantics/react/fibers.js +30 -0
  234. package/dist/inspector/componentSemantics/{reactRuntime.d.ts → react/runtime.d.ts} +3 -2
  235. package/dist/inspector/componentSemantics/{reactRuntime.js → react/runtime.js} +70 -53
  236. package/dist/inspector/componentSemantics/runtimeBridge.d.ts +2 -18
  237. package/dist/inspector/componentSemantics/runtimeBridge.js +5 -19
  238. package/dist/inspector/componentSemantics/textBinding.d.ts +1 -9
  239. package/dist/inspector/componentSemantics/textBinding.js +16 -42
  240. package/dist/inspector/componentSemantics/types.d.ts +8 -27
  241. package/dist/inspector/componentSemantics/types.js +0 -1
  242. package/dist/inspector/conformance/borderCases.d.ts +0 -5
  243. package/dist/inspector/conformance/borderCases.js +0 -5
  244. package/dist/inspector/conformance/colorCases.d.ts +0 -6
  245. package/dist/inspector/conformance/colorCases.js +0 -6
  246. package/dist/inspector/conformance/fixture.d.ts +1 -5
  247. package/dist/inspector/conformance/fixture.js +1 -5
  248. package/dist/inspector/conformance/spacingCases.d.ts +0 -4
  249. package/dist/inspector/conformance/spacingCases.js +0 -4
  250. package/dist/inspector/conformance/typographyCases.d.ts +0 -5
  251. package/dist/inspector/conformance/typographyCases.js +0 -5
  252. package/dist/inspector/drafts/draftStore.d.ts +7 -21
  253. package/dist/inspector/drafts/draftStore.js +15 -5
  254. package/dist/inspector/drafts/model.d.ts +7 -15
  255. package/dist/inspector/drafts/model.js +0 -2
  256. package/dist/inspector/drafts/store.d.ts +1 -8
  257. package/dist/inspector/drafts/store.js +3 -10
  258. package/dist/inspector/editScope.d.ts +0 -1
  259. package/dist/inspector/editScope.js +0 -1
  260. package/dist/inspector/inline-text/inlineTextDiagnostics.d.ts +0 -2
  261. package/dist/inspector/inline-text/inlineTextDiagnostics.js +0 -2
  262. package/dist/inspector/inline-text/inlineTextEditor.d.ts +2 -8
  263. package/dist/inspector/inline-text/inlineTextEditor.js +26 -79
  264. package/dist/inspector/inline-text/inlineTextLifecycle.js +1 -6
  265. package/dist/inspector/inline-text/textEditChange.d.ts +0 -1
  266. package/dist/inspector/inspection/bridge.d.ts +2 -6
  267. package/dist/inspector/inspection/bridge.js +4 -12
  268. package/dist/inspector/inspection/browserCssInspection.d.ts +4 -11
  269. package/dist/inspector/inspection/browserCssInspection.js +4 -8
  270. package/dist/inspector/inspection/browserCssInspectionRegistry.d.ts +0 -7
  271. package/dist/inspector/inspection/browserCssInspectionRegistry.js +1 -16
  272. package/dist/inspector/inspection/selectionProperty.d.ts +1 -6
  273. package/dist/inspector/inspection/selectionProperty.js +1 -5
  274. package/dist/inspector/inspection/useBrowserCssInspection.d.ts +1 -5
  275. package/dist/inspector/inspection/useBrowserCssInspection.js +5 -21
  276. package/dist/inspector/iterations/capture.d.ts +0 -1
  277. package/dist/inspector/iterations/capture.js +4 -9
  278. package/dist/inspector/iterations/client.d.ts +0 -1
  279. package/dist/inspector/iterations/client.js +0 -1
  280. package/dist/inspector/iterations/coordinator.d.ts +0 -1
  281. package/dist/inspector/iterations/coordinator.js +0 -1
  282. package/dist/inspector/iterations/prompt.d.ts +0 -1
  283. package/dist/inspector/iterations/prompt.js +0 -1
  284. package/dist/inspector/overlay/DomNavigator.d.ts +3 -1
  285. package/dist/inspector/overlay/DomNavigator.js +39 -15
  286. package/dist/inspector/overlay/DropGuideOverlay.d.ts +0 -1
  287. package/dist/inspector/overlay/DropGuideOverlay.js +0 -1
  288. package/dist/inspector/overlay/MeasurementGuideOverlay.d.ts +1 -8
  289. package/dist/inspector/overlay/MeasurementGuideOverlay.js +1 -5
  290. package/dist/inspector/overlay/clickPolicy.d.ts +3 -14
  291. package/dist/inspector/overlay/clickPolicy.js +3 -14
  292. package/dist/inspector/overlay/dropGuide.d.ts +0 -3
  293. package/dist/inspector/overlay/dropGuide.js +0 -3
  294. package/dist/inspector/overlay/frameThrottle.d.ts +0 -1
  295. package/dist/inspector/overlay/frameThrottle.js +0 -1
  296. package/dist/inspector/overlay/interactionStyles.d.ts +1 -1
  297. package/dist/inspector/overlay/interactionStyles.js +2 -8
  298. package/dist/inspector/overlay/measurementGeometry.js +4 -12
  299. package/dist/inspector/overlay/selectedGeometry.d.ts +1 -6
  300. package/dist/inspector/overlay/selectedGeometry.js +1 -8
  301. package/dist/inspector/overlay/spacingGestures.d.ts +14 -21
  302. package/dist/inspector/overlay/spacingGestures.js +151 -31
  303. package/dist/inspector/overlay/structuralGestures.d.ts +2 -9
  304. package/dist/inspector/overlay/structuralGestures.js +1 -4
  305. package/dist/inspector/pageInspector.d.ts +4 -13
  306. package/dist/inspector/pageInspector.js +25 -32
  307. package/dist/inspector/projection/cssEscapes.d.ts +0 -1
  308. package/dist/inspector/projection/cssEscapes.js +2 -4
  309. package/dist/inspector/projection/draftProjection.d.ts +2 -14
  310. package/dist/inspector/projection/draftProjection.js +1 -8
  311. package/dist/inspector/projection/managedStylesheet.d.ts +1 -7
  312. package/dist/inspector/projection/managedStylesheet.js +4 -22
  313. package/dist/inspector/projection/renderedInstance.d.ts +5 -28
  314. package/dist/inspector/projection/renderedInstance.js +6 -32
  315. package/dist/inspector/projection/structuralProjection.d.ts +7 -39
  316. package/dist/inspector/projection/structuralProjection.js +17 -52
  317. package/dist/inspector/projection/textProjection.d.ts +2 -14
  318. package/dist/inspector/projection/textProjection.js +17 -70
  319. package/dist/inspector/prompt/PromptSettingsDialog.d.ts +0 -1
  320. package/dist/inspector/prompt/PromptSettingsDialog.js +0 -1
  321. package/dist/inspector/prompt/clipboardHandoff.d.ts +1 -9
  322. package/dist/inspector/prompt/clipboardHandoff.js +1 -9
  323. package/dist/inspector/prompt/generatePrompt.d.ts +1 -1
  324. package/dist/inspector/prompt/generatePrompt.js +10 -25
  325. package/dist/inspector/prompt/promptSettings.d.ts +0 -3
  326. package/dist/inspector/prompt/promptSettings.js +0 -3
  327. package/dist/inspector/runtime/devFlag.d.ts +2 -25
  328. package/dist/inspector/runtime/devFlag.js +4 -31
  329. package/dist/inspector/runtime/documentStylesheetOrder.d.ts +0 -2
  330. package/dist/inspector/runtime/editorShell.d.ts +0 -1
  331. package/dist/inspector/runtime/editorShell.js +0 -1
  332. package/dist/inspector/runtime/inspectorStorage.d.ts +1 -7
  333. package/dist/inspector/runtime/inspectorStorage.js +1 -6
  334. package/dist/inspector/runtime/ownedStylesheets.d.ts +2 -8
  335. package/dist/inspector/runtime/ownedStylesheets.js +2 -8
  336. package/dist/inspector/runtime/runtimeConfig.d.ts +12 -86
  337. package/dist/inspector/runtime/runtimeConfig.js +9 -50
  338. package/dist/inspector/runtime/runtimeIdentityClaims.d.ts +3 -13
  339. package/dist/inspector/runtime/runtimeIdentityClaims.js +9 -19
  340. package/dist/inspector/runtime/staticHtmlRuntimeIdentity.d.ts +4 -36
  341. package/dist/inspector/runtime/staticHtmlRuntimeIdentity.js +7 -40
  342. package/dist/inspector/runtime/useRuntimeConfig.d.ts +1 -8
  343. package/dist/inspector/runtime/useRuntimeConfig.js +1 -8
  344. package/dist/inspector/selection/editScope.d.ts +1 -7
  345. package/dist/inspector/selection/editScope.js +2 -12
  346. package/dist/inspector/selection/editTarget.d.ts +1 -5
  347. package/dist/inspector/selection/hierarchy.d.ts +11 -11
  348. package/dist/inspector/selection/hierarchy.js +42 -24
  349. package/dist/inspector/selection/selectionStore.d.ts +0 -3
  350. package/dist/inspector/selection/selectionStore.js +5 -16
  351. package/dist/inspector/selection/sourceSite.d.ts +1 -5
  352. package/dist/inspector/selection/sourceSite.js +2 -8
  353. package/dist/inspector/selection/styleSelection.d.ts +1 -5
  354. package/dist/inspector/selection/styleSelection.js +1 -5
  355. package/dist/inspector/session/lifecycle.d.ts +1 -9
  356. package/dist/inspector/session/lifecycle.js +0 -1
  357. package/dist/inspector/session/sessionContext.d.ts +0 -4
  358. package/dist/inspector/session/sessionContext.js +0 -4
  359. package/dist/inspector/session/sessionFactory.d.ts +0 -9
  360. package/dist/inspector/session/sessionFactory.js +0 -6
  361. package/dist/inspector/settings/SettingsDialog.d.ts +0 -1
  362. package/dist/inspector/settings/SettingsDialog.js +5 -3
  363. package/dist/inspector/shell/AgentStatusButton.d.ts +3 -2
  364. package/dist/inspector/shell/AgentStatusButton.js +5 -5
  365. package/dist/inspector/shell/ChangesLog.js +3 -4
  366. package/dist/inspector/shell/CopyPromptButton.d.ts +2 -1
  367. package/dist/inspector/shell/CopyPromptButton.js +12 -11
  368. package/dist/inspector/shell/InspectorEditors.d.ts +16 -0
  369. package/dist/inspector/shell/InspectorEditors.js +14 -0
  370. package/dist/inspector/shell/InspectorPanel.d.ts +12 -0
  371. package/dist/inspector/shell/InspectorPanel.js +8 -0
  372. package/dist/inspector/shell/InspectorSelection.d.ts +24 -0
  373. package/dist/inspector/shell/InspectorSelection.js +20 -0
  374. package/dist/inspector/shell/InspectorShell.js +26 -48
  375. package/dist/inspector/shell/NudgeLogoIcon.d.ts +5 -0
  376. package/dist/inspector/shell/NudgeLogoIcon.js +5 -0
  377. package/dist/inspector/shell/PeekOriginalButton.d.ts +0 -5
  378. package/dist/inspector/shell/PeekOriginalButton.js +0 -5
  379. package/dist/inspector/shell/PeekOriginalIcon.d.ts +0 -5
  380. package/dist/inspector/shell/PeekOriginalIcon.js +0 -5
  381. package/dist/inspector/shell/PromptActionButton.d.ts +21 -0
  382. package/dist/inspector/shell/PromptActionButton.js +14 -0
  383. package/dist/inspector/shell/elementName.d.ts +5 -0
  384. package/dist/inspector/shell/elementName.js +29 -0
  385. package/dist/inspector/shell/interactionStatePreview.d.ts +1 -4
  386. package/dist/inspector/shell/interactionStatePreview.js +3 -8
  387. package/dist/inspector/shell/originalPreview.d.ts +1 -6
  388. package/dist/inspector/shell/originalPreview.js +1 -6
  389. package/dist/inspector/shell/stateValue.d.ts +1 -2
  390. package/dist/inspector/shell/stateValue.js +2 -5
  391. package/dist/inspector/shell/styleState.d.ts +1 -2
  392. package/dist/inspector/shell/styleState.js +1 -2
  393. package/dist/inspector/sketch/SketchEditor.js +0 -1
  394. package/dist/inspector/sketch/SketchFrameOverlay.js +8 -12
  395. package/dist/inspector/sketch/SketchOverlay.js +5 -6
  396. package/dist/inspector/sketch/SketchPromptPanel.d.ts +0 -1
  397. package/dist/inspector/sketch/SketchPromptPanel.js +0 -1
  398. package/dist/inspector/sketch/SketchWorkspace.js +2 -4
  399. package/dist/inspector/sketch/capture.d.ts +12 -3
  400. package/dist/inspector/sketch/capture.js +12 -11
  401. package/dist/inspector/sketch/copySketch.d.ts +1 -7
  402. package/dist/inspector/sketch/copySketch.js +2 -11
  403. package/dist/inspector/sketch/drawingTools.d.ts +1 -3
  404. package/dist/inspector/sketch/drawingTools.js +1 -2
  405. package/dist/inspector/sketch/frameHeading.d.ts +1 -7
  406. package/dist/inspector/sketch/frameHeading.js +1 -8
  407. package/dist/inspector/sketch/freehand.d.ts +0 -1
  408. package/dist/inspector/sketch/freehand.js +0 -1
  409. package/dist/inspector/sketch/geometry.d.ts +1 -6
  410. package/dist/inspector/sketch/geometry.js +1 -6
  411. package/dist/inspector/sketch/handoff.js +0 -1
  412. package/dist/inspector/sketch/history.d.ts +1 -5
  413. package/dist/inspector/sketch/history.js +1 -4
  414. package/dist/inspector/sketch/interaction.d.ts +2 -2
  415. package/dist/inspector/sketch/interaction.js +2 -2
  416. package/dist/inspector/sketch/model.d.ts +2 -9
  417. package/dist/inspector/sketch/model.js +2 -19
  418. package/dist/inspector/sketch/persistence.d.ts +0 -1
  419. package/dist/inspector/sketch/persistence.js +2 -2
  420. package/dist/inspector/sketch/raster.d.ts +1 -4
  421. package/dist/inspector/sketch/raster.js +2 -8
  422. package/dist/inspector/sketch/store.js +2 -3
  423. package/dist/inspector/sketch/videoFrames.js +2 -3
  424. package/dist/inspector/spacing/projection.d.ts +0 -8
  425. package/dist/inspector/spacing/projection.js +38 -20
  426. package/dist/inspector/styleEditors/BackgroundEditor.js +1 -1
  427. package/dist/inspector/styleEditors/BorderEditor.js +1 -6
  428. package/dist/inspector/styleEditors/ChildPlacement.d.ts +12 -0
  429. package/dist/inspector/styleEditors/ChildPlacement.js +9 -0
  430. package/dist/inspector/styleEditors/FlexControls.d.ts +35 -0
  431. package/dist/inspector/styleEditors/FlexControls.js +158 -0
  432. package/dist/inspector/styleEditors/GapField.d.ts +5 -2
  433. package/dist/inspector/styleEditors/GapField.js +3 -4
  434. package/dist/inspector/styleEditors/GridChildSection.d.ts +0 -5
  435. package/dist/inspector/styleEditors/GridChildSection.js +0 -5
  436. package/dist/inspector/styleEditors/GridPicker.d.ts +1 -1
  437. package/dist/inspector/styleEditors/GridPicker.js +2 -4
  438. package/dist/inspector/styleEditors/GridSection.d.ts +10 -8
  439. package/dist/inspector/styleEditors/GridSection.js +22 -9
  440. package/dist/inspector/styleEditors/GridValueField.d.ts +1 -5
  441. package/dist/inspector/styleEditors/GridValueField.js +2 -8
  442. package/dist/inspector/styleEditors/ImageBackgroundEditor.d.ts +0 -1
  443. package/dist/inspector/styleEditors/ImageBackgroundEditor.js +0 -1
  444. package/dist/inspector/styleEditors/LayoutBlockedIndicator.d.ts +0 -1
  445. package/dist/inspector/styleEditors/LayoutBlockedIndicator.js +0 -1
  446. package/dist/inspector/styleEditors/LayoutComboField.js +0 -5
  447. package/dist/inspector/styleEditors/LayoutModeRow.d.ts +14 -0
  448. package/dist/inspector/styleEditors/LayoutModeRow.js +60 -0
  449. package/dist/inspector/styleEditors/LayoutSection.d.ts +2 -2
  450. package/dist/inspector/styleEditors/LayoutSection.js +30 -356
  451. package/dist/inspector/styleEditors/OpacityEditor.js +7 -5
  452. package/dist/inspector/styleEditors/PositionControls.d.ts +18 -0
  453. package/dist/inspector/styleEditors/PositionControls.js +16 -0
  454. package/dist/inspector/styleEditors/SizeSection.d.ts +18 -0
  455. package/dist/inspector/styleEditors/SizeSection.js +71 -0
  456. package/dist/inspector/styleEditors/{SpacingBox.d.ts → SpacingField.d.ts} +3 -10
  457. package/dist/inspector/styleEditors/{SpacingBox.js → SpacingField.js} +15 -29
  458. package/dist/inspector/styleEditors/Typography.js +2 -4
  459. package/dist/inspector/styleEditors/borderModel.d.ts +1 -7
  460. package/dist/inspector/styleEditors/borderModel.js +2 -11
  461. package/dist/inspector/styleEditors/completeCssValue.d.ts +1 -5
  462. package/dist/inspector/styleEditors/completeCssValue.js +3 -13
  463. package/dist/inspector/styleEditors/fieldValue.d.ts +20 -0
  464. package/dist/inspector/styleEditors/fieldValue.js +26 -0
  465. package/dist/inspector/styleEditors/gradientValue.d.ts +1 -1
  466. package/dist/inspector/styleEditors/gradientValue.js +3 -2
  467. package/dist/inspector/styleEditors/gridChildModel.d.ts +7 -47
  468. package/dist/inspector/styleEditors/gridChildModel.js +6 -37
  469. package/dist/inspector/styleEditors/hiddenSizeOverrides.d.ts +5 -0
  470. package/dist/inspector/styleEditors/hiddenSizeOverrides.js +42 -0
  471. package/dist/inspector/styleEditors/inlineAuthored.d.ts +1 -8
  472. package/dist/inspector/styleEditors/inlineAuthored.js +3 -17
  473. package/dist/inspector/styleEditors/layoutMode.d.ts +15 -0
  474. package/dist/inspector/styleEditors/layoutMode.js +33 -0
  475. package/dist/inspector/styleEditors/layoutPreviewState.d.ts +0 -1
  476. package/dist/inspector/styleEditors/layoutPreviewState.js +0 -1
  477. package/dist/inspector/styleEditors/layoutValue.d.ts +2 -8
  478. package/dist/inspector/styleEditors/layoutValue.js +4 -12
  479. package/dist/inspector/styleEditors/nudgeValue.d.ts +1 -13
  480. package/dist/inspector/styleEditors/nudgeValue.js +1 -13
  481. package/dist/inspector/styleEditors/rowLookup.d.ts +1 -5
  482. package/dist/inspector/styleEditors/rowLookup.js +1 -5
  483. package/dist/inspector/styleEditors/stringRecord.d.ts +1 -2
  484. package/dist/inspector/styleEditors/stylePresence.d.ts +0 -2
  485. package/dist/inspector/styleEditors/stylePresence.js +1 -4
  486. package/dist/inspector/styleEditors/textRelevance.d.ts +1 -1
  487. package/dist/inspector/styleEditors/textRelevance.js +1 -1
  488. package/dist/inspector/styleEditors/useFieldVisibility.js +1 -2
  489. package/dist/inspector/styleEditors/useLayoutContext.d.ts +13 -0
  490. package/dist/inspector/styleEditors/useLayoutContext.js +53 -0
  491. package/dist/inspector/styleEditors/valuePolicy.d.ts +1 -5
  492. package/dist/inspector/styleEditors/valuePolicy.js +0 -1
  493. package/dist/inspector/testing.d.ts +1 -4
  494. package/dist/inspector/testing.js +1 -4
  495. package/dist/inspector/tokens/TokenChip.d.ts +1 -4
  496. package/dist/inspector/tokens/TokenChip.js +1 -4
  497. package/dist/inspector/tokens/TokenField.d.ts +4 -3
  498. package/dist/inspector/tokens/TokenField.js +19 -29
  499. package/dist/inspector/tokens/catalog.d.ts +2 -10
  500. package/dist/inspector/tokens/catalog.js +5 -12
  501. package/dist/inspector/tokens/dragPointerLock.d.ts +0 -1
  502. package/dist/inspector/tokens/dragPointerLock.js +2 -3
  503. package/dist/inspector/tokens/editActions.d.ts +1 -1
  504. package/dist/inspector/tokens/editActions.js +2 -4
  505. package/dist/inspector/tokens/resolution/cascade.d.ts +1 -5
  506. package/dist/inspector/tokens/resolution/cascade.js +1 -5
  507. package/dist/inspector/tokens/resolution/containerQueryEvaluator.d.ts +1 -5
  508. package/dist/inspector/tokens/resolution/containerQueryEvaluator.js +1 -5
  509. package/dist/inspector/tokens/resolution/cssomCollector.d.ts +4 -19
  510. package/dist/inspector/tokens/resolution/cssomCollector.js +151 -122
  511. package/dist/inspector/tokens/resolution/nestedSelectors.d.ts +1 -5
  512. package/dist/inspector/tokens/resolution/nestedSelectors.js +1 -5
  513. package/dist/inspector/tokens/resolution/ruleMatching.d.ts +4 -14
  514. package/dist/inspector/tokens/resolution/ruleMatching.js +121 -67
  515. package/dist/inspector/tokens/resolution/selectorSemantics.d.ts +3 -14
  516. package/dist/inspector/tokens/resolution/selectorSemantics.js +12 -27
  517. package/dist/inspector/tokens/resolution.d.ts +5 -24
  518. package/dist/inspector/tokens/resolution.js +16 -71
  519. package/dist/inspector/tokens/tokenAvailability.d.ts +2 -14
  520. package/dist/inspector/tokens/tokenAvailability.js +6 -38
  521. package/dist/inspector/tokens/valueSemanticsAdapter.d.ts +0 -1
  522. package/dist/inspector/tokens/valueSemanticsAdapter.js +18 -2
  523. package/dist/inspector/ui/AtRuleContext.d.ts +5 -5
  524. package/dist/inspector/ui/AtRuleContext.js +8 -6
  525. package/dist/inspector/ui/ControlSurface.d.ts +0 -4
  526. package/dist/inspector/ui/Disclosure.d.ts +0 -5
  527. package/dist/inspector/ui/Disclosure.js +0 -4
  528. package/dist/inspector/ui/InlineStyleWarning.d.ts +0 -1
  529. package/dist/inspector/ui/InspectorPopover.d.ts +1 -5
  530. package/dist/inspector/ui/InspectorPopover.js +1 -5
  531. package/dist/inspector/ui/SegmentedControl.d.ts +4 -4
  532. package/dist/inspector/ui/SegmentedControl.js +6 -4
  533. package/dist/inspector/ui/SideValuesField.d.ts +1 -6
  534. package/dist/inspector/ui/SideValuesField.js +2 -8
  535. package/dist/inspector/ui/Toast.d.ts +0 -4
  536. package/dist/inspector/ui/Toast.js +0 -4
  537. package/dist/inspector/ui/atRuleSegments.d.ts +13 -0
  538. package/dist/inspector/ui/atRuleSegments.js +34 -0
  539. package/dist/inspector/ui/classNames.d.ts +0 -1
  540. package/dist/inspector/ui/classNames.js +0 -1
  541. package/dist/inspector/ui/customCursors.d.ts +7 -1
  542. package/dist/inspector/ui/customCursors.js +2 -6
  543. package/dist/inspector/ui/styles.js +18 -20
  544. package/dist/inspector/workspace/controller.js +20 -1
  545. package/dist/inspector/workspace/handoff.d.ts +1 -5
  546. package/dist/inspector/workspace/handoff.js +1 -5
  547. package/dist/inspector/workspace/timeline.d.ts +5 -2
  548. package/dist/inspector/workspace/timeline.js +0 -1
  549. package/dist/internal/agent-protocol.d.ts +20 -42
  550. package/dist/internal/agent-protocol.js +18 -35
  551. package/dist/nudge-ui.mjs +75 -28
  552. package/dist/project/artifacts.js +24 -21
  553. package/dist/project/files.d.ts +0 -1
  554. package/dist/project/files.js +2 -9
  555. package/dist/project/identity.d.ts +1 -5
  556. package/dist/project/identity.js +1 -5
  557. package/dist/project/mcpPackage.d.ts +1 -6
  558. package/dist/project/mcpPackage.js +2 -7
  559. package/dist/project/pathPolicy.d.ts +1 -6
  560. package/dist/project/pathPolicy.js +1 -6
  561. package/dist/project/tokens.d.ts +2 -12
  562. package/dist/project/tokens.js +4 -15
  563. package/dist/transport/editor.d.ts +1 -12
  564. package/dist/transport/editor.js +2 -13
  565. package/dist/transport/index.d.ts +0 -5
  566. package/dist/transport/index.js +0 -5
  567. package/dist/transport/routes.d.ts +0 -5
  568. package/dist/transport/routes.js +0 -5
  569. package/package.json +5 -4
  570. package/dist/inspector/styleEditors/InsetSection.d.ts +0 -15
  571. package/dist/inspector/styleEditors/InsetSection.js +0 -15
  572. package/dist/inspector/styleEditors/PositionInsets.d.ts +0 -15
  573. package/dist/inspector/styleEditors/PositionInsets.js +0 -12
  574. package/dist/inspector/tokens/TokenDropdown.d.ts +0 -13
  575. package/dist/inspector/tokens/TokenDropdown.js +0 -59
@@ -104,12 +104,7 @@ export function McpConnectionContent({ projectId, origin, snapshot, onConnect, o
104
104
  }
105
105
  return (_jsxs(_Fragment, { children: [showConnectionStatus ? (_jsxs(StatusCallout, { className: "mcp-connection__status", tone: status.tone, "data-test": "mcp-connection-status", children: [_jsx("span", { className: "mcp-connection__status-label", role: "status", children: status.label }), snapshot.error ? (_jsx("span", { className: "mcp-connection__status-detail", children: snapshot.error })) : null, checkError ? _jsx("span", { role: "alert", children: checkError }) : null, snapshot.request?.summary ? (_jsx("span", { className: "mcp-connection__status-detail", children: snapshot.request.summary })) : null, snapshot.request?.error ? (_jsx("span", { className: "mcp-connection__status-detail", children: snapshot.request.error })) : null] })) : null, _jsxs("ol", { className: "mcp-connection__timeline", "data-test": "mcp-connection-timeline", children: [_jsxs(TimelineStep, { number: 1, complete: snapshot.companionReachable || snapshot.listenerActive || snapshot.request !== null, title: "Set up agent", children: [_jsx("p", { className: "mcp-connection__copy", children: "Agent prompt" }), _jsxs("div", { className: "mcp-connection__command-block", children: [_jsx(IconButton, { className: "mcp-connection__copy-button", variant: "quiet", size: "compact", label: copiedPrompt ? "Copied" : "Copy setup instructions", "data-test": "mcp-copy-setup-prompt", onClick: () => void handleCopyPrompt(), children: copiedPrompt ? _jsx(IconCheck, { size: 16, "aria-hidden": "true" }) : _jsx(IconCopy, { size: 16, "aria-hidden": "true" }) }), _jsx("pre", { className: "mcp-connection__command", children: _jsx("code", { "data-test": "mcp-setup-prompt", children: setupPrompt }) })] }), _jsx("p", { className: "mcp-connection__copy", children: "Or, terminal command" }), _jsxs("div", { className: "mcp-connection__command-block", children: [_jsx(IconButton, { className: "mcp-connection__copy-button", variant: "quiet", size: "compact", label: copiedCommand ? "Copied" : "Copy command", "data-test": "mcp-copy-command", onClick: () => void handleCopyCommand(), children: copiedCommand ? _jsx(IconCheck, { size: 16, "aria-hidden": "true" }) : _jsx(IconCopy, { size: 16, "aria-hidden": "true" }) }), _jsx("pre", { className: "mcp-connection__command", children: _jsx("code", { "data-test": "mcp-setup-command", children: setupCommand }) })] })] }), _jsx(TimelineStep, { number: 2, complete: snapshot.listenerActive, title: "Tell agent to listen for instructions", children: _jsx("p", { className: "mcp-connection__copy", children: "Tell your coding agent: \u201CListen to Nudge.\u201D" }) })] }), _jsxs(Disclosure, { className: "mcp-connection__details", title: "Troubleshooting", defaultOpen: true, children: [_jsx("p", { className: "mcp-connection__copy", children: "To diagnose setup" }), _jsxs("div", { className: "mcp-connection__command-block", children: [_jsx(IconButton, { className: "mcp-connection__copy-button", variant: "quiet", size: "compact", label: copiedDoctor ? "Copied" : "Copy diagnostic command", "data-test": "mcp-copy-doctor", onClick: () => void handleCopyDoctor(), children: copiedDoctor ? _jsx(IconCheck, { size: 16, "aria-hidden": "true" }) : _jsx(IconCopy, { size: 16, "aria-hidden": "true" }) }), _jsx("pre", { className: "mcp-connection__command", children: _jsx("code", { children: doctorCommand }) })] }), _jsxs("dl", { className: "mcp-connection__diagnostics", "data-test": "mcp-connection-diagnostics", children: [_jsxs("div", { className: "mcp-connection__diagnostic", children: [_jsx("dt", { children: "Project ID" }), _jsx("dd", { "data-test": "mcp-project-id", children: projectId })] }), _jsxs("div", { className: "mcp-connection__diagnostic", children: [_jsx("dt", { children: "Origin" }), _jsx("dd", { "data-test": "mcp-origin", children: origin })] })] }), _jsxs("div", { className: "mcp-connection__actions", children: [canTakeOver ? (_jsxs(Button, { variant: "primary", "data-test": "mcp-takeover", type: "button", onClick: () => void onTakeOver(), children: [_jsx(IconPlugConnected, { size: "var(--icon-size-small)", stroke: 1.8, "aria-hidden": "true" }), "Take over"] })) : null, canConnect ? (_jsxs(Button, { variant: "primary", "data-test": "mcp-connect", type: "button", onClick: () => void onConnect(), children: [_jsx(IconPlugConnected, { size: "var(--icon-size-small)", stroke: 1.8, "aria-hidden": "true" }), "Connect"] })) : null, _jsxs(Button, { variant: "quiet", "data-test": "mcp-check-again", type: "button", disabled: checking || snapshot.state === "disabled" || snapshot.state === "pairing", onClick: () => void handleCheckAgain(), children: [_jsx(IconRefresh, { size: "var(--icon-size-small)", stroke: 1.8, "aria-hidden": "true" }), checking ? "Checking…" : "Refresh connection"] }), canDisconnect ? (_jsxs(Button, { variant: "danger", "data-test": "mcp-disconnect", type: "button", onClick: onDisconnect, children: [_jsx(IconUnlink, { size: "var(--icon-size-small)", stroke: 1.8, "aria-hidden": "true" }), snapshot.paired ? "Disconnect" : "Forget connection"] })) : null] })] }), copyError ? _jsx("p", { className: "mcp-connection__error", role: "alert", children: copyError }) : null] }));
106
106
  }
107
- /**
108
- * Explains and controls the project-scoped MCP companion connection.
109
- *
110
- * This compatibility wrapper keeps the existing standalone MCP surface while
111
- * the shared content is also embedded in the general settings modal.
112
- */
107
+ /** Compatibility wrapper: the shared content is also embedded in the general settings modal. */
113
108
  export function McpConnectionDialog({ open, projectId, origin, snapshot, onOpenChange, onConnect, onTakeOver, onDisconnect, onCheckAgain, }) {
114
109
  const closeRef = useRef(null);
115
110
  return (_jsx(Dialog.Root, { open: open, onOpenChange: onOpenChange, children: _jsxs(Dialog.Portal, { container: portalContainer(), children: [_jsx(Dialog.Backdrop, { className: "mcp-connection__backdrop", "data-test": "mcp-connection-backdrop" }), _jsxs(Dialog.Popup, { className: "mcp-connection__popup", "data-test": "mcp-connection-dialog", initialFocus: closeRef, children: [_jsxs("div", { className: "mcp-connection__header", children: [_jsxs("div", { children: [_jsx(Dialog.Title, { className: "mcp-connection__title", children: "Connect MCP" }), _jsx(Dialog.Description, { className: "mcp-connection__description", children: "Set up your coding agent once, then ask it to listen to Nudge in this worktree." })] }), _jsx(Dialog.Close, { ref: closeRef, className: "icon-button icon-button--quiet mcp-connection__close", "aria-label": "Close MCP connection", "data-test": "mcp-connection-close", type: "button", children: _jsx(IconX, { size: "var(--icon-size-small)", stroke: 1.8, "aria-hidden": "true" }) })] }), _jsx(McpConnectionContent, { projectId: projectId, origin: origin, snapshot: snapshot, onConnect: onConnect, onTakeOver: onTakeOver, onDisconnect: onDisconnect, onCheckAgain: onCheckAgain })] })] }) }));
@@ -9,7 +9,7 @@ export interface AgentActivitySnapshot {
9
9
  readonly target?: DraftTarget;
10
10
  readonly files: readonly ActivityFile[];
11
11
  }
12
- /** Pins submitted frames before dispatch. Activity never selects or edits a draft. */
12
+ /** Pins submitted frames before dispatch; activity never selects or edits a draft. */
13
13
  export declare function beginActivityDispatch(projectId: string, dispatchId: string, targets: readonly string[], target?: DraftTarget): void;
14
14
  /** Dispatch and status are the only authority for the layer's lifetime. */
15
15
  export declare function synchronizeAgentActivity(projectId: string, requestId: string | undefined, working: boolean, dispatchId?: string, awaitingAcknowledgment?: boolean): void;
@@ -14,7 +14,7 @@ function publish(state, snapshot) {
14
14
  for (const listener of state.listeners)
15
15
  listener();
16
16
  }
17
- /** Pins submitted frames before dispatch. Activity never selects or edits a draft. */
17
+ /** Pins submitted frames before dispatch; activity never selects or edits a draft. */
18
18
  export function beginActivityDispatch(projectId, dispatchId, targets, target) {
19
19
  project(projectId).dispatch = { id: dispatchId, targets: [...targets], target };
20
20
  }
@@ -16,23 +16,14 @@ export interface AgentClientSnapshot {
16
16
  readonly connection: AgentStatusSnapshot["connection"];
17
17
  readonly listenerActive: boolean;
18
18
  readonly agentClientName?: string;
19
- /** Whether the last valid discovery response came from the local companion. */
20
19
  readonly companionReachable: boolean;
21
20
  readonly paired: boolean;
22
- /** Whether another browser currently owns this project's pairing. */
23
21
  readonly pairedElsewhere: boolean;
24
22
  readonly request: AgentRequestSnapshot | null;
25
23
  readonly error?: string;
26
24
  }
27
- /** Creates a stable numeric revision for one prompt snapshot. */
28
25
  export declare function createPromptRevision(changes: readonly unknown[], structuralChanges?: readonly unknown[], sketches?: readonly unknown[]): number;
29
- /**
30
- * Browser-side companion client.
31
- *
32
- * Discovery is deliberately started by `start()`, which is guarded by the
33
- * dev-only flag. Constructing this class never opens a socket or performs a
34
- * network request, so importing the inspector remains inert in production.
35
- */
26
+ /** Construction never touches the network; discovery starts only from the dev-flag-guarded start(). */
36
27
  export declare class AgentClient {
37
28
  readonly projectId: string;
38
29
  readonly origin: string;
@@ -60,35 +51,23 @@ export declare class AgentClient {
60
51
  private readonly autoConnect;
61
52
  private autoConnectSuppressed;
62
53
  constructor(options: AgentClientOptions);
63
- /** Installs the controller callback used to acknowledge Canvas commands. */
64
54
  setCanvasCommandHandler(handler: AgentClientOptions["canvasCommandHandler"]): void;
65
55
  getSnapshot: () => AgentClientSnapshot;
66
56
  subscribe: (listener: () => void) => (() => void);
67
- /** Starts loopback discovery. Calling it repeatedly is idempotent. */
68
57
  start(): void;
69
- /** Stops discovery and closes the browser event stream. */
70
58
  stop(): void;
71
59
  private restoreOrDiscover;
72
- /** Runs an immediate authenticated restore or companion discovery probe. */
73
60
  checkConnection(): Promise<void>;
74
- /** Triggers a new discovery probe after a connection loss. */
75
61
  reconnect(): void;
76
- /** Pairs the browser with a reachable companion, including an idle agent. */
77
62
  connect(): Promise<boolean>;
78
- /** Replaces an existing browser pairing after an explicit user action. */
79
63
  takeOver(): Promise<boolean>;
80
64
  private pairWith;
81
65
  private openEvents;
82
- /**
83
- * Dispatches one immutable prompt revision. The request enters `delivered`
84
- * synchronously, before the transport promise resolves, so the UI cannot
85
- * issue a second prompt while the first one is in flight.
86
- */
66
+ /** Enters `delivered` synchronously so the UI cannot dispatch a second prompt while the first is in flight. */
87
67
  dispatchPrompt(prompt: string, changeRevision?: number, options?: {
88
68
  readonly clientDispatchId?: string;
89
69
  readonly attachments?: readonly AgentSketchAttachment[];
90
70
  }): Promise<PromptDispatchResponse | null>;
91
- /** Interrupts local request state and asks the companion to revoke pairing. */
92
71
  disconnect(reason?: string): void;
93
72
  private discover;
94
73
  private scheduleDiscovery;
@@ -103,11 +82,8 @@ export declare class AgentClient {
103
82
  private deriveState;
104
83
  private publish;
105
84
  }
106
- /** Sets a host/test transport for subsequently created project clients. */
107
85
  export declare function configureAgentBridgeTransport(transport: AgentBridgeTransport | undefined): void;
108
- /** Clears cached clients and their active streams. */
109
86
  export declare function resetAgentClients(): void;
110
87
  export declare function createAgentClient(options: AgentClientOptions): AgentClient;
111
88
  export declare function getAgentClient(projectId: string, options?: Omit<AgentClientOptions, "projectId">): AgentClient;
112
- /** React hook used by the inspector handoff control. */
113
89
  export declare function useAgentClient(projectId: string, suppliedClient?: AgentClient): AgentClientSnapshot;
@@ -57,8 +57,7 @@ function writeStoredSession(session) {
57
57
  localStorage.setItem(sessionStorageKey(session.projectId), JSON.stringify(session));
58
58
  }
59
59
  catch {
60
- // Storage can be disabled by browser privacy settings. The in-memory
61
- // pairing remains valid for this document in that case.
60
+ // Storage can be disabled by browser privacy settings; the in-memory pairing stays valid.
62
61
  }
63
62
  }
64
63
  function clearStoredSession(projectId) {
@@ -92,15 +91,11 @@ function setAutoConnectDisabled(projectId, disabled) {
92
91
  localStorage.removeItem(key);
93
92
  }
94
93
  catch {
95
- // Privacy settings can disable storage. The current document still keeps
96
- // the explicit disconnect preference in memory.
94
+ // Storage can be disabled; the disconnect preference stays in memory for this document.
97
95
  }
98
96
  }
99
97
  function hashRevision(value) {
100
- // FNV-1a is sufficient here: the revision is an opaque, bounded identity
101
- // used to prevent a later browser edit from being mistaken for the sent
102
- // canonical change set. Keep it in the safe-integer range accepted by the
103
- // companion protocol.
98
+ // Opaque bounded identity, kept in the safe-integer range the companion protocol accepts.
104
99
  let hash = 2_166_136_261;
105
100
  for (let index = 0; index < value.length; index += 1) {
106
101
  hash ^= value.charCodeAt(index);
@@ -108,7 +103,6 @@ function hashRevision(value) {
108
103
  }
109
104
  return (hash >>> 0) & 0x7fff_ffff;
110
105
  }
111
- /** Creates a stable numeric revision for one prompt snapshot. */
112
106
  export function createPromptRevision(changes, structuralChanges = [], sketches = []) {
113
107
  let serialized;
114
108
  try {
@@ -119,13 +113,7 @@ export function createPromptRevision(changes, structuralChanges = [], sketches =
119
113
  }
120
114
  return hashRevision(serialized);
121
115
  }
122
- /**
123
- * Browser-side companion client.
124
- *
125
- * Discovery is deliberately started by `start()`, which is guarded by the
126
- * dev-only flag. Constructing this class never opens a socket or performs a
127
- * network request, so importing the inspector remains inert in production.
128
- */
116
+ /** Construction never touches the network; discovery starts only from the dev-flag-guarded start(). */
129
117
  export class AgentClient {
130
118
  projectId;
131
119
  origin;
@@ -160,12 +148,10 @@ export class AgentClient {
160
148
  this.canvasCommandHandler = options.canvasCommandHandler;
161
149
  this.autoConnect = options.autoConnect ?? shouldAutoConnectAgentBridge();
162
150
  this.autoConnectSuppressed = this.autoConnect && autoConnectDisabled(this.projectId);
163
- // The public demo renders the real inspector but intentionally keeps the
164
- // local MCP/agent bridge inert.
151
+ // The public demo renders the real inspector but intentionally keeps the local MCP/agent bridge inert.
165
152
  this.enabled = isNudgeUiDev() && !isDemoRuntime();
166
153
  this.snapshot = this.enabled ? this.makeSnapshot() : DISABLED_SNAPSHOT;
167
154
  }
168
- /** Installs the controller callback used to acknowledge Canvas commands. */
169
155
  setCanvasCommandHandler(handler) {
170
156
  this.canvasCommandHandler = handler;
171
157
  }
@@ -174,14 +160,12 @@ export class AgentClient {
174
160
  this.listeners.add(listener);
175
161
  return () => this.listeners.delete(listener);
176
162
  };
177
- /** Starts loopback discovery. Calling it repeatedly is idempotent. */
178
163
  start() {
179
164
  if (!this.enabled || this.started)
180
165
  return;
181
166
  this.started = true;
182
167
  void this.restoreOrDiscover();
183
168
  }
184
- /** Stops discovery and closes the browser event stream. */
185
169
  stop() {
186
170
  if (!this.started && !this.eventSubscription)
187
171
  return;
@@ -198,10 +182,7 @@ export class AgentClient {
198
182
  this.dispatchAbort = null;
199
183
  this.eventSubscription?.close();
200
184
  this.eventSubscription = null;
201
- // `stop` is used by React effect cleanup and page remounts. Keep the
202
- // request and ephemeral token in memory/storage so a still-running
203
- // companion can be resumed; explicit `disconnect()` is the revocation
204
- // and interruption path.
185
+ // Keep the request and token so a remount can resume; disconnect() is the revocation path.
205
186
  this.connection = "offline";
206
187
  this.listenerActive = false;
207
188
  this.companionReachable = false;
@@ -240,8 +221,7 @@ export class AgentClient {
240
221
  catch (error) {
241
222
  if (abortController.signal.aborted || !this.started)
242
223
  return;
243
- // A stale or revoked token is not a connection error. Clearing it
244
- // lets the normal listener discovery path offer a fresh pairing.
224
+ // A stale or revoked token is not a connection error; clearing it lets discovery offer a fresh pairing.
245
225
  clearStoredSession(this.projectId);
246
226
  this.sessionToken = null;
247
227
  this.resetForDiscovery();
@@ -254,7 +234,6 @@ export class AgentClient {
254
234
  }
255
235
  await this.discover();
256
236
  }
257
- /** Runs an immediate authenticated restore or companion discovery probe. */
258
237
  async checkConnection() {
259
238
  if (!this.enabled)
260
239
  return;
@@ -270,7 +249,6 @@ export class AgentClient {
270
249
  this.publish();
271
250
  await this.restoreOrDiscover();
272
251
  }
273
- /** Triggers a new discovery probe after a connection loss. */
274
252
  reconnect() {
275
253
  if (!this.enabled)
276
254
  return;
@@ -292,11 +270,9 @@ export class AgentClient {
292
270
  this.publish();
293
271
  void this.restoreOrDiscover();
294
272
  }
295
- /** Pairs the browser with a reachable companion, including an idle agent. */
296
273
  async connect() {
297
274
  return this.pairWith((request, signal) => this.transport.pair(request, signal));
298
275
  }
299
- /** Replaces an existing browser pairing after an explicit user action. */
300
276
  async takeOver() {
301
277
  if (!this.transport.takeOver)
302
278
  return false;
@@ -388,11 +364,7 @@ export class AgentClient {
388
364
  this.handleDisconnect(errorMessage(error, "The agent event stream could not be opened."));
389
365
  }
390
366
  }
391
- /**
392
- * Dispatches one immutable prompt revision. The request enters `delivered`
393
- * synchronously, before the transport promise resolves, so the UI cannot
394
- * issue a second prompt while the first one is in flight.
395
- */
367
+ /** Enters `delivered` synchronously so the UI cannot dispatch a second prompt while the first is in flight. */
396
368
  async dispatchPrompt(prompt, changeRevision, options = {}) {
397
369
  if (!this.enabled || !this.started || !this.paired || !this.listenerActive || !this.sessionToken)
398
370
  return null;
@@ -456,7 +428,6 @@ export class AgentClient {
456
428
  this.dispatchAbort = null;
457
429
  }
458
430
  }
459
- /** Interrupts local request state and asks the companion to revoke pairing. */
460
431
  disconnect(reason = "browser_disconnected") {
461
432
  this.autoConnectSuppressed = true;
462
433
  if (this.autoConnect)
@@ -511,10 +482,7 @@ export class AgentClient {
511
482
  else {
512
483
  this.companionReachable = true;
513
484
  if (this.connection !== "paired" && this.connection !== "working" && this.connection !== "delivered" && !this.pairingAbort) {
514
- // Discovery is unauthenticated. Another browser tab can own the
515
- // pairing, so do not adopt `paired` until this tab restores the
516
- // shared token. The next poll runs restore first in case a sibling
517
- // tab has just stored that token.
485
+ // Discovery is unauthenticated; do not adopt `paired` until this tab restores the shared token.
518
486
  const pairedElsewhere = status.paired && !this.sessionToken;
519
487
  this.applyStatus(status.paired ? {
520
488
  ...status,
@@ -547,8 +515,7 @@ export class AgentClient {
547
515
  this.companionReachable = false;
548
516
  this.paired = false;
549
517
  this.pairedElsewhere = false;
550
- // Discovery failures are expected while the companion is not running;
551
- // retain a quiet disconnected state rather than flashing an error.
518
+ // Discovery failures are expected while the companion is down; stay quietly disconnected.
552
519
  this.lastError = undefined;
553
520
  this.publish();
554
521
  }
@@ -616,10 +583,7 @@ export class AgentClient {
616
583
  },
617
584
  };
618
585
  }
619
- // Every tab with the shared browser session receives the SSE command, but
620
- // only the Canvas lease owner may answer it. A read-only tab reports this
621
- // local sentinel; leave the command pending for the owning tab instead of
622
- // racing its acknowledgement with a false failure.
586
+ // Every tab receives the SSE command but only the Canvas lease owner may answer; leave it pending for that tab.
623
587
  if (!acknowledgement.ok && acknowledgement.error?.code === "workspace-locked")
624
588
  return;
625
589
  if (acknowledgement.commandId !== command.commandId) {
@@ -639,8 +603,7 @@ export class AgentClient {
639
603
  await this.transport.acknowledgeCanvasCommand(request);
640
604
  }
641
605
  catch {
642
- // A command acknowledgement is best effort. The companion owns the
643
- // bounded timeout and reports any expired command to its agent host.
606
+ // Acknowledgement is best effort; the companion owns the timeout.
644
607
  }
645
608
  }
646
609
  applyStatus(status, pairedElsewhere = false) {
@@ -659,14 +622,11 @@ export class AgentClient {
659
622
  this.applyRequestStatus(status.request.status, status.request.requestId, status.request.summary, status.request.error, status.request.changeRevision, status.request.clientDispatchId, status.request.sketches);
660
623
  }
661
624
  else if (status.listenerActive && status.paired && this.activeRequest?.status !== "working" && this.activeRequest?.status !== "delivered") {
662
- // A re-armed MCP listen call is the lifecycle boundary for the previous
663
- // terminal request. Drop only that terminal status; newer edits remain
664
- // in the inspector's canonical change log.
625
+ // A re-armed listen call ends the previous terminal request; newer edits stay in the canonical change log.
665
626
  this.activeRequest = null;
666
627
  }
667
628
  else if ((this.activeRequest?.status === "working" || this.activeRequest?.status === "delivered") && status.connection !== this.activeRequest.status) {
668
- // The bridge may omit a request during a brief re-arm transition. Do
669
- // not mark a local request interrupted until the stream disconnects.
629
+ // A brief re-arm can omit the request; do not mark it interrupted until the stream disconnects.
670
630
  this.connection = this.activeRequest.status;
671
631
  }
672
632
  if (!status.paired && this.sessionToken) {
@@ -693,8 +653,7 @@ export class AgentClient {
693
653
  return;
694
654
  }
695
655
  if (active && active.requestId !== requestId && active.localRequestId !== requestId) {
696
- // A fresh server id can arrive before the POST response. Associate it
697
- // with the one local request awaiting acknowledgment.
656
+ // A fresh server id can arrive before the POST response; associate it with the local request.
698
657
  if (active.status !== "working" && active.status !== "delivered")
699
658
  return;
700
659
  this.activeRequest = { ...active, requestId };
@@ -732,9 +691,7 @@ export class AgentClient {
732
691
  handleDisconnect(reason = "The agent connection was lost.") {
733
692
  this.eventSubscription?.close();
734
693
  this.eventSubscription = null;
735
- // An SSE disconnect is not proof that the coding request stopped. Keep
736
- // its last known state until an authenticated status restore says
737
- // otherwise. Explicit browser disconnect remains the interruption path.
694
+ // An SSE disconnect is not proof the request stopped; keep its last known state until an authenticated restore says otherwise.
738
695
  this.connection = "offline";
739
696
  this.listenerActive = false;
740
697
  this.companionReachable = false;
@@ -742,8 +699,7 @@ export class AgentClient {
742
699
  this.pairedElsewhere = false;
743
700
  this.lastError = reason;
744
701
  if (reason === "browser_disconnected") {
745
- // A remote takeover deliberately invalidates this browser's token. Do
746
- // not immediately race the new browser by auto-pairing again.
702
+ // A remote takeover invalidates this token; do not race the new browser by auto-pairing.
747
703
  this.autoConnectSuppressed = true;
748
704
  if (this.autoConnect)
749
705
  setAutoConnectDisabled(this.projectId, true);
@@ -803,7 +759,6 @@ export class AgentClient {
803
759
  let configuredTransport;
804
760
  const clients = new Map();
805
761
  const consumerCounts = new Map();
806
- /** Sets a host/test transport for subsequently created project clients. */
807
762
  export function configureAgentBridgeTransport(transport) {
808
763
  for (const client of clients.values())
809
764
  client.stop();
@@ -811,7 +766,6 @@ export function configureAgentBridgeTransport(transport) {
811
766
  consumerCounts.clear();
812
767
  configuredTransport = transport;
813
768
  }
814
- /** Clears cached clients and their active streams. */
815
769
  export function resetAgentClients() {
816
770
  for (const client of clients.values())
817
771
  client.stop();
@@ -846,7 +800,6 @@ export function getAgentClient(projectId, options = {}) {
846
800
  }
847
801
  return client;
848
802
  }
849
- /** React hook used by the inspector handoff control. */
850
803
  export function useAgentClient(projectId, suppliedClient) {
851
804
  const client = useMemo(() => suppliedClient ?? getAgentClient(projectId), [projectId, suppliedClient]);
852
805
  useEffect(() => {
@@ -9,7 +9,6 @@ export interface AgentConnectionStatus {
9
9
  readonly label: "Connect" | "Take over";
10
10
  };
11
11
  }
12
- /** Returns the user-facing connection state shared by the prompt UI and MCP panel. */
13
12
  export declare function getAgentConnectionStatus(snapshot: AgentClientSnapshot): AgentConnectionStatus;
14
13
  /** Gives the agent time to rearm after completing a request before showing a reminder. */
15
14
  export declare function useAgentConnectionStatus(snapshot: AgentClientSnapshot): AgentConnectionStatus;
@@ -1,5 +1,4 @@
1
1
  import { useEffect, useState } from "react";
2
- /** Returns the user-facing connection state shared by the prompt UI and MCP panel. */
3
2
  export function getAgentConnectionStatus(snapshot) {
4
3
  if (snapshot.state === "disabled") {
5
4
  return { kind: "unavailable", label: "Unavailable in this build", tone: "neutral" };
@@ -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, decodeAgentStatusSnapshot, decodeBridgeEvent, decodePairingResponse, decodePromptDispatchResponse, } 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);
@@ -43,7 +43,6 @@ function configuredEndpoint() {
43
43
  const previewDocument = getActiveCanvasDocument();
44
44
  return previewDocument ? configuredEndpointInDocument(previewDocument) : undefined;
45
45
  }
46
- /** Returns whether the dev host supplied a trusted project bridge endpoint. */
47
46
  export function shouldAutoConnectAgentBridge() {
48
47
  return configuredEndpoint()?.autoConnect === true;
49
48
  }
@@ -64,8 +63,7 @@ function safeUrl(value, origin) {
64
63
  const url = new URL(value, origin);
65
64
  if (url.protocol !== "http:" && url.protocol !== "https:")
66
65
  return null;
67
- // A same-origin reverse proxy is valid; a separately hosted bridge must
68
- // remain loopback-only to match ADR-0013.
66
+ // A separately hosted bridge must remain loopback-only; a same-origin reverse proxy is valid.
69
67
  if (url.origin !== origin && !isLoopback(url.hostname))
70
68
  return null;
71
69
  return url;
@@ -107,45 +105,23 @@ export class AgentBridgeHttpError extends Error {
107
105
  }
108
106
  }
109
107
  async function readJson(response) {
110
- let payload;
111
- try {
112
- payload = await response.json();
113
- }
114
- catch {
115
- payload = {};
116
- }
108
+ const body = await response.json().catch(() => null);
109
+ const payload = isRecord(body) ? body : {};
117
110
  if (!response.ok) {
118
- const error = isRecord(payload) && isRecord(payload.error) ? payload.error : payload;
111
+ const error = isRecord(payload.error) ? payload.error : payload;
119
112
  const message = isRecord(error) ? stringValue(error.message) : undefined;
120
113
  const code = isRecord(error) ? stringValue(error.code) : undefined;
121
114
  throw new AgentBridgeHttpError(response.status, message ?? `Agent bridge request failed (${response.status}).`, code);
122
115
  }
123
- return isRecord(payload) ? payload : {};
116
+ return payload;
124
117
  }
125
- function eventData(event) {
126
- if (typeof event.data !== "string")
127
- return event.data;
128
- try {
129
- return JSON.parse(event.data);
130
- }
131
- catch {
132
- return null;
133
- }
134
- }
135
- /**
136
- * HTTP/SSE browser adapter for the companion's canonical endpoints.
137
- *
138
- * The adapter is inert when no endpoint is configured. A host can publish an
139
- * endpoint with `window.__NUDGE_UI_AGENT_BRIDGE__` or the meta tag named
140
- * `nudge-ui-agent-bridge`; tests can inject a transport directly instead.
141
- */
142
118
  export class HttpAgentBridgeTransport {
143
119
  config;
144
120
  constructor(config = configuredEndpoint() ?? {}) {
145
121
  this.config = config;
146
122
  }
147
123
  async discover(request, signal) {
148
- const url = endpointUrl(this.config, "healthUrl", "/health", pageOrigin());
124
+ const url = endpointUrl(this.config, "healthUrl", BRIDGE_ENDPOINTS.health, pageOrigin());
149
125
  if (!url || typeof fetch !== "function")
150
126
  return null;
151
127
  const response = await fetch(withQuery(url, {
@@ -163,7 +139,7 @@ export class HttpAgentBridgeTransport {
163
139
  return decodeAgentStatusSnapshot(payload.status);
164
140
  }
165
141
  async pair(request, signal) {
166
- const url = endpointUrl(this.config, "pairUrl", "/pair", pageOrigin());
142
+ const url = endpointUrl(this.config, "pairUrl", BRIDGE_ENDPOINTS.pair, pageOrigin());
167
143
  if (!url || typeof fetch !== "function")
168
144
  throw new Error("Agent bridge is unavailable.");
169
145
  const response = await fetch(url, {
@@ -178,7 +154,7 @@ export class HttpAgentBridgeTransport {
178
154
  return pairing;
179
155
  }
180
156
  async takeOver(request, signal) {
181
- const url = endpointUrl(this.config, "takeoverUrl", "/takeover", pageOrigin());
157
+ const url = endpointUrl(this.config, "takeoverUrl", BRIDGE_ENDPOINTS.takeover, pageOrigin());
182
158
  if (!url || typeof fetch !== "function")
183
159
  throw new Error("Agent bridge is unavailable.");
184
160
  const response = await fetch(url, {
@@ -193,7 +169,7 @@ export class HttpAgentBridgeTransport {
193
169
  return pairing;
194
170
  }
195
171
  async restore(request, signal) {
196
- const url = endpointUrl(this.config, "statusUrl", "/status", pageOrigin());
172
+ const url = endpointUrl(this.config, "statusUrl", BRIDGE_ENDPOINTS.status, pageOrigin());
197
173
  if (!url || typeof fetch !== "function")
198
174
  return null;
199
175
  const response = await fetch(withQuery(url, {
@@ -206,7 +182,7 @@ export class HttpAgentBridgeTransport {
206
182
  return status;
207
183
  }
208
184
  openEvents(request, handlers) {
209
- const url = endpointUrl(this.config, "eventsUrl", "/events", pageOrigin());
185
+ const url = endpointUrl(this.config, "eventsUrl", BRIDGE_ENDPOINTS.events, pageOrigin());
210
186
  if (!url || typeof EventSource !== "function") {
211
187
  queueMicrotask(() => handlers.onDisconnect("Agent event transport is unavailable."));
212
188
  return { close: () => undefined };
@@ -218,7 +194,13 @@ export class HttpAgentBridgeTransport {
218
194
  const source = new EventSource(eventUrl.href);
219
195
  let closed = false;
220
196
  const handleMessage = (event) => {
221
- const envelope = eventData(event);
197
+ let envelope;
198
+ try {
199
+ envelope = JSON.parse(event.data);
200
+ }
201
+ catch {
202
+ return;
203
+ }
222
204
  if (!isRecord(envelope)
223
205
  || envelope.protocolVersion !== AGENT_PROTOCOL_VERSION
224
206
  || envelope.projectId !== request.projectId
@@ -251,7 +233,7 @@ export class HttpAgentBridgeTransport {
251
233
  };
252
234
  }
253
235
  async dispatch(request, signal) {
254
- const url = endpointUrl(this.config, "promptUrl", "/prompt", pageOrigin());
236
+ const url = endpointUrl(this.config, "promptUrl", BRIDGE_ENDPOINTS.prompt, pageOrigin());
255
237
  if (!url || typeof fetch !== "function")
256
238
  throw new Error("Agent bridge is unavailable.");
257
239
  const response = await fetch(url, {
@@ -266,7 +248,7 @@ export class HttpAgentBridgeTransport {
266
248
  return dispatched;
267
249
  }
268
250
  async disconnect(request, signal) {
269
- const url = endpointUrl(this.config, "disconnectUrl", "/disconnect", pageOrigin());
251
+ const url = endpointUrl(this.config, "disconnectUrl", BRIDGE_ENDPOINTS.disconnect, pageOrigin());
270
252
  if (!url || typeof fetch !== "function")
271
253
  return;
272
254
  await fetch(url, {
@@ -277,7 +259,7 @@ export class HttpAgentBridgeTransport {
277
259
  });
278
260
  }
279
261
  async acknowledgeCanvasCommand(request, signal) {
280
- const url = endpointUrl(this.config, "canvasAckUrl", "/canvas/ack", pageOrigin());
262
+ const url = endpointUrl(this.config, "canvasAckUrl", BRIDGE_ENDPOINTS.canvasAcknowledgement, pageOrigin());
281
263
  if (!url || typeof fetch !== "function")
282
264
  return;
283
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, 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";
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, 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
+ 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";