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
@@ -7,10 +7,11 @@ import { getCommentsForTarget, markCommentsHandedOff } from "../comments/store.j
7
7
  import { applicationTarget } from "../drafts/model.js";
8
8
  import { prepareHtmlIterationHandoff } from "../iterations/coordinator.js";
9
9
  import { getRegisteredFrames } from "../canvas/projection.js";
10
- import { getDraftChanges } from "../changes/draftChanges.js";
10
+ import { getDraftChanges } from "../drafts/store.js";
11
11
  import { recordClipboardHandoff } from "../prompt/clipboardHandoff.js";
12
12
  import { copyToClipboard } from "../prompt/copyToClipboard.js";
13
13
  import { generatePrompt } from "../prompt/generatePrompt.js";
14
+ import { withPromptContext } from "../prompt/promptDocument.js";
14
15
  import { createSketchAttachments, createSketchHandoffSnapshot, sketchMetadataForHandoff, } from "../sketch/handoff.js";
15
16
  import { markSketchesDispatching, markSketchesHandingOff, settleSketchDispatch } from "../sketch/store.js";
16
17
  async function prepareDraftHandoff(request) {
@@ -35,7 +36,7 @@ export async function prepareHandoff(request) {
35
36
  const generated = generatePrompt([...changes], hints, structuralChanges, request.customInstructions, sketchMetadata, comments);
36
37
  const prompt = target.kind === "html"
37
38
  ? htmlIterationPrompt(target.artifactId, generated, changes.length + structuralChanges.length + comments.length === 0, sketchMetadata.length > 0, request.customInstructions)
38
- : `Page: ${target.route}\nApply the requested changes to this page. Shared source may affect other pages.\n\n${generated}`;
39
+ : withPromptContext([`Page: ${target.route}`, "Apply the requested changes to this page."], generated);
39
40
  return { ...handoff, prompt };
40
41
  }
41
42
  export async function prepareIterationImplementationPrompt(request) {
@@ -61,11 +62,7 @@ export async function copyHandoff(handoff) {
61
62
  recordClipboardHandoff(changes, structuralChanges, owner);
62
63
  }
63
64
  }
64
- /**
65
- * Sends the prompt to a connected agent, or copies it when no agent is given.
66
- * A failed send without sketches falls back to the clipboard; a failed sketch
67
- * send is returned so the user can choose to copy without the images.
68
- */
65
+ /** Falls back to the clipboard; a failed sketch send returns so the caller can copy without the images. */
69
66
  export async function deliverHandoff(handoff, projectId, agent) {
70
67
  if (agent) {
71
68
  const outcome = await dispatchHandoff(handoff, projectId, agent);
@@ -1,4 +1,4 @@
1
- import { type ChangeRecord } from "../changes/changesLog.js";
1
+ import type { ChangeRecord } from "../changes/types.js";
2
2
  import type { StructuralChange } from "../changes/structuralTypes.js";
3
3
  import { type HandoffSnapshot } from "../agent/verification.js";
4
4
  import { type ElementComment } from "../comments/store.js";
@@ -12,8 +12,5 @@ export interface SentItems {
12
12
  }
13
13
  export declare function getSentItems(draftId: string, target: DraftTarget, agentDispatch: HandoffSnapshot | null): SentItems;
14
14
  export declare function sentItemCount(items: SentItems): number;
15
- /**
16
- * Removes sent items from the active draft as one undoable edit. Returns a
17
- * restore callback, or null when the draft is not active or nothing changed.
18
- */
19
- export declare function clearSentItems(items: SentItems): (() => void) | null;
15
+ /** Removes sent items and their draft history, preserving newer, unsent edits. */
16
+ export declare function clearSentItems(items: SentItems): void;
@@ -1,9 +1,8 @@
1
1
  import { changeKey } from "../changes/model.js";
2
- import { commitDraftContents } from "../changes/changesLog.js";
3
- import { getActiveDraftChanges, getDraftChanges } from "../changes/draftChanges.js";
2
+ import { canEditDraft, getActiveDraftChanges, reconcileDraftChanges } from "../drafts/store.js";
4
3
  import { unchangedHandoffRecords } from "../agent/verification.js";
5
4
  import { getClipboardHandoffRecords } from "../prompt/clipboardHandoff.js";
6
- import { getComments, getCommentsForTarget, removeComment, saveComment } from "../comments/store.js";
5
+ import { getCommentsForTarget, removeComment } from "../comments/store.js";
7
6
  export function getSentItems(draftId, target, agentDispatch) {
8
7
  const clipboard = getClipboardHandoffRecords(draftId);
9
8
  const agent = agentDispatch?.owner.draftId === draftId
@@ -21,31 +20,14 @@ export function getSentItems(draftId, target, agentDispatch) {
21
20
  export function sentItemCount(items) {
22
21
  return items.changes.length + items.structuralChanges.length + items.comments.length;
23
22
  }
24
- /**
25
- * Removes sent items from the active draft as one undoable edit. Returns a
26
- * restore callback, or null when the draft is not active or nothing changed.
27
- */
23
+ /** Removes sent items and their draft history, preserving newer, unsent edits. */
28
24
  export function clearSentItems(items) {
29
25
  const current = getActiveDraftChanges();
30
- if (current.draftId !== items.draftId || sentItemCount(items) === 0)
31
- return null;
26
+ if (current.draftId !== items.draftId || !canEditDraft(items.draftId) || sentItemCount(items) === 0)
27
+ return;
32
28
  const keys = new Set(items.changes.map(changeKey));
33
29
  const ids = new Set(items.structuralChanges.map((change) => change.id));
34
- const draftChanged = items.changes.length + items.structuralChanges.length > 0;
35
- if (draftChanged && !commitDraftContents(current.changes.filter((change) => !keys.has(changeKey(change))), current.structuralChanges.filter((change) => !ids.has(change.id))))
36
- return null;
30
+ reconcileDraftChanges(items.draftId, keys, ids);
37
31
  for (const comment of items.comments)
38
32
  removeComment(comment.id);
39
- return () => {
40
- const draft = getDraftChanges(items.draftId);
41
- if (draftChanged && getActiveDraftChanges().draftId === items.draftId) {
42
- const present = new Set(draft.changes.map(changeKey));
43
- const presentIds = new Set(draft.structuralChanges.map((change) => change.id));
44
- commitDraftContents([...draft.changes, ...items.changes.filter((change) => !present.has(changeKey(change)))], [...draft.structuralChanges, ...items.structuralChanges.filter((change) => !presentIds.has(change.id))]);
45
- }
46
- const existing = new Set(getComments().map((comment) => comment.id));
47
- for (const comment of items.comments)
48
- if (!existing.has(comment.id))
49
- saveComment(comment);
50
- };
51
33
  }
@@ -1,11 +1,15 @@
1
- import type { DraftContents } from "../changes/draftChanges.js";
1
+ import type { DraftContents } from "../drafts/model.js";
2
2
  export interface EditHistoryEntry {
3
3
  readonly kind: "edit";
4
4
  readonly draftId: string;
5
5
  readonly group?: symbol;
6
6
  readonly before: DraftContents;
7
7
  readonly after: DraftContents;
8
- readonly activate?: () => void;
8
+ /** Where replay should take the user: the draft's owning frame, when one was known. */
9
+ readonly focus?: {
10
+ readonly draftId: string;
11
+ readonly cardId?: string;
12
+ };
9
13
  }
10
14
  export interface CanvasHistoryEntry {
11
15
  readonly kind: "canvas";
@@ -14,17 +18,30 @@ export interface CanvasHistoryEntry {
14
18
  readonly redo: () => void;
15
19
  readonly dispose: () => void;
16
20
  }
17
- export declare function subscribeTimeline(listener: () => void): () => void;
18
- export declare function timelineStatus(): {
19
- canUndo: boolean;
20
- canRedo: boolean;
21
- };
22
- export declare function recordEdit(entry: Omit<EditHistoryEntry, "kind" | "group">, equal: (a: DraftContents, b: DraftContents) => boolean): void;
21
+ type ContentsEqual = (a: DraftContents, b: DraftContents) => boolean;
22
+ /** Session undo: one ordered history shared by draft edits and Canvas operations. */
23
+ export interface Timeline {
24
+ subscribe(listener: () => void): () => void;
25
+ status(): {
26
+ canUndo: boolean;
27
+ canRedo: boolean;
28
+ };
29
+ recordEdit(entry: Omit<EditHistoryEntry, "kind" | "group">, equal: ContentsEqual): void;
30
+ recordCanvasChange(entry: Omit<CanvasHistoryEntry, "kind">): void;
31
+ replay(direction: "undo" | "redo", applyEdit: (entry: EditHistoryEntry, contents: DraftContents) => void): boolean;
32
+ pruneDraftHistory(draftId: string, retain: (contents: DraftContents) => DraftContents, equal: ContentsEqual): void;
33
+ discardDraftHistory(draftId: string): void;
34
+ discardCanvasHistory(cardId: string): void;
35
+ clear(): void;
36
+ releaseDetachedIterations(): void;
37
+ createGroup(): (update: () => void) => void;
38
+ }
39
+ export declare function createTimeline(): Timeline;
40
+ export declare const sessionTimeline: Timeline;
23
41
  export declare function recordCanvasChange(entry: Omit<CanvasHistoryEntry, "kind">): void;
24
- export declare function replayTimeline(direction: "undo" | "redo", applyEdit: (entry: EditHistoryEntry, contents: DraftContents) => void): boolean;
25
- export declare function pruneDraftHistory(draftId: string, retain: (contents: DraftContents) => DraftContents, equal: (a: DraftContents, b: DraftContents) => boolean): void;
26
- export declare function discardDraftHistory(draftId: string): void;
27
42
  export declare function discardCanvasHistory(cardId: string): void;
43
+ export declare function discardDraftHistory(draftId: string): void;
28
44
  export declare function clearSessionUndoHistory(): void;
29
45
  export declare function releaseDetachedIterations(): void;
30
46
  export declare function createChangeHistoryGroup(): (update: () => void) => void;
47
+ export {};
@@ -1,108 +1,129 @@
1
- let undoStack = [];
2
- let redoStack = [];
3
- let activeGroup;
4
- const listeners = new Set();
5
- function notify() {
6
- for (const listener of listeners)
7
- listener();
8
- }
9
- function discardRedo() {
10
- const discarded = redoStack;
11
- redoStack = [];
12
- for (const entry of discarded)
13
- if (entry.kind === "canvas")
14
- entry.dispose();
15
- }
16
- export function subscribeTimeline(listener) {
17
- listeners.add(listener);
18
- return () => listeners.delete(listener);
19
- }
20
- export function timelineStatus() {
21
- return { canUndo: undoStack.length > 0, canRedo: redoStack.length > 0 };
22
- }
23
- export function recordEdit(entry, equal) {
24
- const previous = undoStack.at(-1);
25
- const grouped = activeGroup && previous?.kind === "edit" && previous.draftId === entry.draftId && previous.group === activeGroup;
26
- const next = { kind: "edit", ...entry, before: grouped ? previous.before : entry.before, group: activeGroup };
27
- if (grouped)
28
- undoStack.pop();
29
- if (!equal(next.before, next.after))
30
- undoStack.push(next);
31
- discardRedo();
32
- notify();
1
+ export function createTimeline() {
2
+ let undoStack = [];
3
+ let redoStack = [];
4
+ let activeGroup;
5
+ const listeners = new Set();
6
+ const notify = () => {
7
+ for (const listener of listeners)
8
+ listener();
9
+ };
10
+ const discardRedo = () => {
11
+ const discarded = redoStack;
12
+ redoStack = [];
13
+ for (const entry of discarded)
14
+ if (entry.kind === "canvas")
15
+ entry.dispose();
16
+ };
17
+ return {
18
+ subscribe(listener) {
19
+ listeners.add(listener);
20
+ return () => listeners.delete(listener);
21
+ },
22
+ status: () => ({ canUndo: undoStack.length > 0, canRedo: redoStack.length > 0 }),
23
+ recordEdit(entry, equal) {
24
+ const previous = undoStack.at(-1);
25
+ const grouped = activeGroup && previous?.kind === "edit" && previous.draftId === entry.draftId && previous.group === activeGroup;
26
+ const next = { kind: "edit", ...entry, before: grouped ? previous.before : entry.before, group: activeGroup };
27
+ if (grouped)
28
+ undoStack.pop();
29
+ if (!equal(next.before, next.after))
30
+ undoStack.push(next);
31
+ discardRedo();
32
+ notify();
33
+ },
34
+ recordCanvasChange(entry) {
35
+ discardRedo();
36
+ undoStack.push({ kind: "canvas", ...entry });
37
+ notify();
38
+ },
39
+ replay(direction, applyEdit) {
40
+ const source = direction === "undo" ? undoStack : redoStack;
41
+ const destination = direction === "undo" ? redoStack : undoStack;
42
+ const entry = source.pop();
43
+ if (!entry)
44
+ return false;
45
+ if (entry.kind === "edit")
46
+ applyEdit(entry, direction === "undo" ? entry.before : entry.after);
47
+ else
48
+ entry[direction]();
49
+ destination.push(entry);
50
+ notify();
51
+ return true;
52
+ },
53
+ pruneDraftHistory(draftId, retain, equal) {
54
+ const prune = (entries) => entries.flatMap((entry) => {
55
+ if (entry.kind !== "edit" || entry.draftId !== draftId)
56
+ return [entry];
57
+ const next = { ...entry, before: retain(entry.before), after: retain(entry.after) };
58
+ return equal(next.before, next.after) ? [] : [next];
59
+ });
60
+ undoStack = prune(undoStack);
61
+ redoStack = prune(redoStack);
62
+ notify();
63
+ },
64
+ discardDraftHistory(draftId) {
65
+ const retain = (entry) => entry.kind !== "edit" || entry.draftId !== draftId;
66
+ undoStack = undoStack.filter(retain);
67
+ redoStack = redoStack.filter(retain);
68
+ notify();
69
+ },
70
+ discardCanvasHistory(cardId) {
71
+ const retain = (entry) => entry.kind !== "canvas" || !entry.cardIds.includes(cardId);
72
+ undoStack = undoStack.filter(retain);
73
+ const discarded = redoStack.filter((entry) => !retain(entry));
74
+ redoStack = redoStack.filter(retain);
75
+ for (const entry of discarded)
76
+ if (entry.kind === "canvas")
77
+ entry.dispose();
78
+ notify();
79
+ },
80
+ clear() {
81
+ const discarded = [...undoStack, ...redoStack];
82
+ undoStack = [];
83
+ redoStack = [];
84
+ for (const entry of discarded)
85
+ if (entry.kind === "canvas")
86
+ entry.dispose();
87
+ notify();
88
+ },
89
+ releaseDetachedIterations() {
90
+ discardRedo();
91
+ for (const entry of undoStack)
92
+ if (entry.kind === "canvas")
93
+ entry.dispose();
94
+ notify();
95
+ },
96
+ createGroup() {
97
+ const group = Symbol("change-history-group");
98
+ return (update) => {
99
+ const previous = activeGroup;
100
+ activeGroup = group;
101
+ try {
102
+ update();
103
+ }
104
+ finally {
105
+ activeGroup = previous;
106
+ }
107
+ };
108
+ },
109
+ };
33
110
  }
111
+ export const sessionTimeline = createTimeline();
34
112
  export function recordCanvasChange(entry) {
35
- discardRedo();
36
- undoStack.push({ kind: "canvas", ...entry });
37
- notify();
38
- }
39
- export function replayTimeline(direction, applyEdit) {
40
- const source = direction === "undo" ? undoStack : redoStack;
41
- const destination = direction === "undo" ? redoStack : undoStack;
42
- const entry = source.pop();
43
- if (!entry)
44
- return false;
45
- if (entry.kind === "edit")
46
- applyEdit(entry, direction === "undo" ? entry.before : entry.after);
47
- else
48
- entry[direction]();
49
- destination.push(entry);
50
- notify();
51
- return true;
113
+ sessionTimeline.recordCanvasChange(entry);
52
114
  }
53
- export function pruneDraftHistory(draftId, retain, equal) {
54
- const prune = (entries) => entries.flatMap((entry) => {
55
- if (entry.kind !== "edit" || entry.draftId !== draftId)
56
- return [entry];
57
- const next = { ...entry, before: retain(entry.before), after: retain(entry.after) };
58
- return equal(next.before, next.after) ? [] : [next];
59
- });
60
- undoStack = prune(undoStack);
61
- redoStack = prune(redoStack);
62
- notify();
115
+ export function discardCanvasHistory(cardId) {
116
+ sessionTimeline.discardCanvasHistory(cardId);
63
117
  }
64
118
  export function discardDraftHistory(draftId) {
65
- const retain = (entry) => entry.kind !== "edit" || entry.draftId !== draftId;
66
- undoStack = undoStack.filter(retain);
67
- redoStack = redoStack.filter(retain);
68
- notify();
69
- }
70
- export function discardCanvasHistory(cardId) {
71
- const retain = (entry) => entry.kind !== "canvas" || !entry.cardIds.includes(cardId);
72
- undoStack = undoStack.filter(retain);
73
- const discarded = redoStack.filter((entry) => !retain(entry));
74
- redoStack = redoStack.filter(retain);
75
- for (const entry of discarded)
76
- if (entry.kind === "canvas")
77
- entry.dispose();
78
- notify();
119
+ sessionTimeline.discardDraftHistory(draftId);
79
120
  }
80
121
  export function clearSessionUndoHistory() {
81
- const discarded = [...undoStack, ...redoStack];
82
- undoStack = [];
83
- redoStack = [];
84
- for (const entry of discarded)
85
- if (entry.kind === "canvas")
86
- entry.dispose();
87
- notify();
122
+ sessionTimeline.clear();
88
123
  }
89
124
  export function releaseDetachedIterations() {
90
- discardRedo();
91
- for (const entry of undoStack)
92
- if (entry.kind === "canvas")
93
- entry.dispose();
94
- notify();
125
+ sessionTimeline.releaseDetachedIterations();
95
126
  }
96
127
  export function createChangeHistoryGroup() {
97
- const group = Symbol("change-history-group");
98
- return (update) => {
99
- const previous = activeGroup;
100
- activeGroup = group;
101
- try {
102
- update();
103
- }
104
- finally {
105
- activeGroup = previous;
106
- }
107
- };
128
+ return sessionTimeline.createGroup();
108
129
  }
@@ -1,12 +1,5 @@
1
- /**
2
- * Public, host-neutral contracts shared by the Nudge browser inspector and
3
- * its local MCP companion.
4
- *
5
- * This module deliberately has no Node, browser, MCP SDK, or framework
6
- * imports. Hosts can use the same validation and message shapes without
7
- * pulling the companion into a browser bundle.
8
- */
9
- export declare const AGENT_PROTOCOL_VERSION: 2;
1
+ /** Host-neutral contracts shared by the browser inspector and the local MCP companion; no Node, browser, MCP SDK, or framework imports. */
2
+ export declare const AGENT_PROTOCOL_VERSION: 3;
10
3
  export declare const AGENT_PROTOCOL_LIMITS: {
11
4
  readonly projectId: 256;
12
5
  readonly workspaceRoot: 4096;
@@ -35,16 +28,21 @@ export declare const AGENT_PROTOCOL_LIMITS: {
35
28
  readonly routeTitle: 512;
36
29
  readonly routeCount: 64;
37
30
  readonly canvasCardCount: 128;
31
+ readonly agentClientName: 120;
38
32
  };
39
- /**
40
- * Returns the default project-specific loopback port used by the CLI.
41
- *
42
- * The value is deterministic so a browser can probe the companion without a
43
- * port file, while the range stays high enough to avoid common dev servers.
44
- * Callers may still override it with an explicit port when a collision occurs.
45
- */
46
- export declare function defaultBridgePort(projectId: string): number;
47
33
  export type AgentProtocolVersion = typeof AGENT_PROTOCOL_VERSION;
34
+ /** Stable loopback endpoint names shared by the browser client and the MCP bridge. */
35
+ export declare const BRIDGE_ENDPOINTS: {
36
+ readonly health: "/health";
37
+ readonly pair: "/pair";
38
+ readonly takeover: "/takeover";
39
+ readonly events: "/events";
40
+ readonly prompt: "/prompt";
41
+ readonly status: "/status";
42
+ readonly canvasAcknowledgement: "/canvas/ack";
43
+ readonly disconnect: "/disconnect";
44
+ };
45
+ export type BridgeEndpoint = (typeof BRIDGE_ENDPOINTS)[keyof typeof BRIDGE_ENDPOINTS];
48
46
  /** A project identity is the pairing boundary for one companion process. */
49
47
  export interface AgentProjectIdentity {
50
48
  readonly projectId: string;
@@ -61,14 +59,12 @@ export interface AgentRoute {
61
59
  }
62
60
  /** The owner marker lets the browser remove only groups created by the agent. */
63
61
  export type CanvasGroupOwner = "agent" | "user";
64
- /** A browser-reported comparison group. */
65
62
  export interface CanvasGroup {
66
63
  readonly id: string;
67
64
  readonly label: string;
68
65
  readonly owner: CanvasGroupOwner;
69
66
  readonly routes: readonly AgentRoute[];
70
67
  }
71
- /** A compact, serialisable Canvas snapshot returned by the browser. */
72
68
  export interface CanvasState {
73
69
  readonly mode: "inspect" | "canvas";
74
70
  readonly groups: readonly CanvasGroup[];
@@ -164,14 +160,14 @@ export interface AgentSketchAttachment extends AgentSketchMetadata {
164
160
  export interface AgentDeliveredPrompt extends AgentPromptRequest {
165
161
  readonly attachments?: readonly AgentSketchAttachment[];
166
162
  }
167
- export type AgentRequestStatus = "working" | "completed" | "failed" | "interrupted";
163
+ export type AgentRequestStatus = "delivered" | "working" | "completed" | "failed" | "interrupted";
168
164
  export interface AgentRequestOutcome {
169
165
  readonly requestId: string;
170
- readonly status: AgentRequestStatus;
166
+ readonly status: Exclude<AgentRequestStatus, "delivered">;
171
167
  readonly summary?: string;
172
168
  readonly error?: string;
173
169
  }
174
- export type AgentConnectionState = "offline" | "listening" | "paired" | "working";
170
+ export type AgentConnectionState = "offline" | "listening" | "paired" | "delivered" | "working";
175
171
  export interface AgentStatusSnapshot {
176
172
  readonly protocolVersion: AgentProtocolVersion;
177
173
  readonly projectId: string;
@@ -269,7 +265,7 @@ export interface StatusEventRequest {
269
265
  }
270
266
  export interface AgentStatusUpdate {
271
267
  readonly requestId: string;
272
- readonly status: AgentRequestStatus;
268
+ readonly status: Exclude<AgentRequestStatus, "delivered">;
273
269
  readonly summary?: string;
274
270
  readonly error?: string;
275
271
  }
@@ -277,26 +273,33 @@ export interface ProtocolErrorShape {
277
273
  readonly code: string;
278
274
  readonly message: string;
279
275
  }
280
- /**
281
- * Returns a canonical origin or null. Credentials, paths, and fragments are
282
- * rejected so the browser cannot broaden the pairing boundary accidentally.
283
- */
276
+ /** Options a development host passes to the optional project bridge. */
277
+ export interface ProjectBridgeStartOptions {
278
+ readonly appRoot: string;
279
+ readonly projectId: string;
280
+ readonly origin: string;
281
+ /** Other explicit browser origins, such as loopback aliases on the same port. */
282
+ readonly allowedOrigins?: readonly string[];
283
+ }
284
+ /** The started project bridge as seen by the development host that owns it. */
285
+ export interface ProjectBridgeHandle {
286
+ readonly browser: {
287
+ readonly projectId: string;
288
+ readonly origin: string;
289
+ readonly bridgeUrl: string;
290
+ };
291
+ close(): Promise<void>;
292
+ }
293
+ /** The `@nudge-ui/mcp/project` export; hosts load it dynamically, so this is the only compile-time link between the packages. */
294
+ export type StartProjectBridge = (options: ProjectBridgeStartOptions) => Promise<ProjectBridgeHandle>;
295
+ /** Canonical origin or null; credentials, paths, and fragments are rejected so pairing cannot broaden accidentally. */
284
296
  export declare function canonicalOrigin(value: unknown): string | null;
285
- /** Returns true only for exact, canonical HTTP(S) origins. */
286
297
  export declare function isCanonicalOrigin(value: unknown): value is string;
287
- /**
288
- * Checks an origin against an explicit allow-list. An empty allow-list does
289
- * not mean wildcard access; callers must choose an origin before pairing.
290
- */
298
+ /** An empty allow-list is not wildcard access; callers must choose an origin before pairing. */
291
299
  export declare function isAllowedOrigin(value: unknown, allowedOrigins: readonly string[]): value is string;
292
- /**
293
- * Validates an agent route and ensures it belongs to the paired origin.
294
- * Fragments are retained because they are useful initial Canvas locations.
295
- */
300
+ /** Fragments are retained because they are useful initial Canvas locations. */
296
301
  export declare function isSameOriginRoute(value: unknown, origin: string): value is AgentRoute;
297
- /** Validates and normalises route values for a presentation command. */
298
302
  export declare function validateRoutes(value: unknown, origin: string): AgentRoute[];
299
- /** Validates the fields shared by every companion message. */
300
303
  export declare function isProtocolVersion(value: unknown): value is AgentProtocolVersion;
301
304
  export declare function isProjectIdentity(value: unknown): value is AgentProjectIdentity;
302
305
  export declare function isAgentSketchCaptureMetadata(value: unknown): value is AgentSketchCaptureMetadata;
@@ -309,5 +312,17 @@ export declare function isAgentStatusUpdate(value: unknown): value is AgentStatu
309
312
  export declare function isCanvasState(value: unknown): value is CanvasState;
310
313
  export declare function isCanvasGroup(value: unknown): value is CanvasGroup;
311
314
  export declare function isCanvasCommand(value: unknown): value is CanvasCommand;
315
+ export declare function isAgentDeliveredPrompt(value: unknown): value is AgentDeliveredPrompt;
316
+ /** A successful result never carries an error. */
317
+ export declare function isCanvasCommandResult(value: unknown): value is CanvasCommandResult;
318
+ export declare function deriveConnectionState(status: Pick<AgentStatusSnapshot, "listenerActive" | "paired" | "request">): AgentConnectionState;
319
+ /** Unknown fields are dropped and the connection state is recomputed, so a snapshot cannot claim a state its own fields contradict. */
320
+ export declare function decodeAgentStatusSnapshot(value: unknown): AgentStatusSnapshot | null;
321
+ /** A Canvas command is passed through as received: the Canvas controller validates it so a malformed command still receives an error acknowledgement. */
322
+ export declare function decodeBridgeEvent(value: unknown): BridgeEvent | null;
323
+ /** Decodes a pairing or takeover response for the exact project and origin requested. */
324
+ export declare function decodePairingResponse(value: unknown, expected: Pick<PairingRequest, "projectId" | "origin">): PairingResponse | null;
325
+ /** Decodes the accepted-prompt response for the project that dispatched it. */
326
+ export declare function decodePromptDispatchResponse(value: unknown, projectId: string): PromptDispatchResponse | null;
312
327
  /** Creates a stable protocol error shape without exposing thrown values. */
313
328
  export declare function protocolError(code: string, message: string): ProtocolErrorShape;