@dimina-kit/devtools 0.4.0 → 0.5.0-dev.20260908120530

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 (507) hide show
  1. package/README.md +51 -660
  2. package/dist/main/api.d.ts +2 -1
  3. package/dist/main/app/app.d.ts +41 -12
  4. package/dist/main/app/app.js +299 -514
  5. package/dist/main/app/bootstrap.d.ts +8 -5
  6. package/dist/main/app/bootstrap.js +15 -15
  7. package/dist/main/app/editor-view.d.ts +21 -0
  8. package/dist/main/app/editor-view.js +71 -0
  9. package/dist/main/app/global-mirrors.d.ts +23 -0
  10. package/dist/main/app/global-mirrors.js +37 -0
  11. package/dist/main/app/host-sidebar-default.d.ts +19 -0
  12. package/dist/main/app/host-sidebar-default.js +44 -0
  13. package/dist/main/app/lifecycle.d.ts +12 -1
  14. package/dist/main/app/lifecycle.js +27 -1
  15. package/dist/main/app/menu-setup.d.ts +13 -0
  16. package/dist/main/app/menu-setup.js +49 -0
  17. package/dist/main/app/native-overview.d.ts +1 -1
  18. package/dist/main/app/open-project-ipc.d.ts +13 -0
  19. package/dist/main/app/open-project-ipc.js +21 -0
  20. package/dist/main/app/project-list-surface.d.ts +31 -0
  21. package/dist/main/app/project-list-surface.js +20 -0
  22. package/dist/main/app/project-window.d.ts +36 -0
  23. package/dist/main/app/project-window.js +93 -0
  24. package/dist/main/app/servers.d.ts +17 -0
  25. package/dist/main/app/servers.js +60 -0
  26. package/dist/main/app/ui-extension-targets.d.ts +42 -0
  27. package/dist/main/app/ui-extension-targets.js +101 -0
  28. package/dist/main/app/window-close-reveal.harness.d.ts +34 -0
  29. package/dist/main/app/window-close-reveal.harness.js +65 -0
  30. package/dist/main/app/window-events.d.ts +15 -0
  31. package/dist/main/app/window-events.js +45 -0
  32. package/dist/main/app/window-runtime-services.d.ts +41 -0
  33. package/dist/main/app/window-runtime-services.js +197 -0
  34. package/dist/main/app/workbench-modules.d.ts +24 -0
  35. package/dist/main/app/workbench-modules.js +51 -0
  36. package/dist/main/app/workbench-window.d.ts +85 -0
  37. package/dist/main/app/workbench-window.js +310 -0
  38. package/dist/main/index.bundle.js +11712 -9986
  39. package/dist/main/index.js +49 -1
  40. package/dist/main/ipc/app-lifecycle.d.ts +1 -31
  41. package/dist/main/ipc/app-lifecycle.js +1 -53
  42. package/dist/main/ipc/app.d.ts +4 -1
  43. package/dist/main/ipc/app.js +4 -3
  44. package/dist/main/ipc/bridge-router.d.ts +19 -116
  45. package/dist/main/ipc/bridge-router.js +28 -2128
  46. package/dist/main/ipc/device-picker.d.ts +16 -0
  47. package/dist/main/ipc/device-picker.js +27 -0
  48. package/dist/main/ipc/index.d.ts +5 -0
  49. package/dist/main/ipc/index.js +5 -0
  50. package/dist/main/ipc/internal-devtools.d.ts +16 -0
  51. package/dist/main/ipc/internal-devtools.js +10 -0
  52. package/dist/main/ipc/page-scroll.d.ts +1 -13
  53. package/dist/main/ipc/page-scroll.js +1 -16
  54. package/dist/main/ipc/popover.d.ts +4 -1
  55. package/dist/main/ipc/popover.js +26 -19
  56. package/dist/main/ipc/project-create.d.ts +16 -0
  57. package/dist/main/ipc/project-create.js +27 -0
  58. package/dist/main/ipc/project-fs.d.ts +38 -3
  59. package/dist/main/ipc/project-fs.js +53 -22
  60. package/dist/main/ipc/projects.d.ts +3 -3
  61. package/dist/main/ipc/projects.js +47 -11
  62. package/dist/main/ipc/session-listener-bag.d.ts +1 -40
  63. package/dist/main/ipc/session-listener-bag.js +1 -39
  64. package/dist/main/ipc/session.d.ts +4 -1
  65. package/dist/main/ipc/session.js +26 -26
  66. package/dist/main/ipc/settings.d.ts +4 -1
  67. package/dist/main/ipc/settings.js +17 -19
  68. package/dist/main/ipc/simulator-module.d.ts +9 -3
  69. package/dist/main/ipc/simulator-module.js +13 -10
  70. package/dist/main/ipc/simulator.d.ts +4 -1
  71. package/dist/main/ipc/simulator.js +12 -18
  72. package/dist/main/ipc/tooltip.d.ts +14 -0
  73. package/dist/main/ipc/tooltip.js +29 -0
  74. package/dist/main/ipc/views.d.ts +19 -2
  75. package/dist/main/ipc/views.js +76 -8
  76. package/dist/main/runtime/devtools-backend-before-quit.harness.d.ts +43 -0
  77. package/dist/main/runtime/devtools-backend-before-quit.harness.js +87 -0
  78. package/dist/main/runtime/devtools-backend.js +60 -4
  79. package/dist/main/runtime/devtools-runtime-mock.harness.d.ts +21 -0
  80. package/dist/main/runtime/devtools-runtime-mock.harness.js +313 -0
  81. package/dist/main/runtime/miniapp-runtime.d.ts +91 -22
  82. package/dist/main/services/app-services.d.ts +62 -0
  83. package/dist/main/services/app-services.js +64 -0
  84. package/dist/main/services/automation/connection-target.d.ts +36 -0
  85. package/dist/main/services/automation/connection-target.js +29 -0
  86. package/dist/main/services/automation/console-bridge.d.ts +28 -0
  87. package/dist/main/services/automation/console-bridge.js +91 -0
  88. package/dist/main/services/automation/handlers/app.js +4 -4
  89. package/dist/main/services/automation/handlers/element.js +55 -21
  90. package/dist/main/services/automation/index.d.ts +12 -1
  91. package/dist/main/services/automation/index.js +54 -133
  92. package/dist/main/services/cdp-session/index.d.ts +87 -0
  93. package/dist/main/services/cdp-session/index.js +173 -0
  94. package/dist/main/services/compile-standby.js +4 -0
  95. package/dist/main/services/console-forward/cdp-inject.d.ts +18 -0
  96. package/dist/main/services/console-forward/cdp-inject.js +30 -0
  97. package/dist/main/services/console-forward/global-console-mirror.d.ts +33 -0
  98. package/dist/main/services/console-forward/global-console-mirror.js +71 -0
  99. package/dist/main/services/console-forward/global-diagnostics-mirror.d.ts +33 -0
  100. package/dist/main/services/console-forward/global-diagnostics-mirror.js +73 -0
  101. package/dist/main/services/console-forward/index.d.ts +1 -46
  102. package/dist/main/services/console-forward/index.js +1 -185
  103. package/dist/main/services/console-forward/internal-log.d.ts +2 -0
  104. package/dist/main/services/console-forward/internal-log.js +2 -0
  105. package/dist/main/services/console-forward/open-gated-relay.d.ts +67 -0
  106. package/dist/main/services/console-forward/open-gated-relay.js +55 -0
  107. package/dist/main/services/default-adapter.js +1 -1
  108. package/dist/main/services/diagnostics/index.d.ts +1 -48
  109. package/dist/main/services/diagnostics/index.js +1 -60
  110. package/dist/main/services/dimina-resource-server.d.ts +1 -6
  111. package/dist/main/services/dimina-resource-server.js +1 -98
  112. package/dist/main/services/elements-forward/index.d.ts +132 -15
  113. package/dist/main/services/elements-forward/index.js +155 -304
  114. package/dist/main/services/fs-bridge-protocol.d.ts +61 -0
  115. package/dist/main/services/fs-bridge-protocol.js +34 -0
  116. package/dist/main/services/fs-watch-sse.d.ts +40 -0
  117. package/dist/main/services/fs-watch-sse.js +113 -0
  118. package/dist/main/services/http-json.d.ts +9 -0
  119. package/dist/main/services/http-json.js +6 -0
  120. package/dist/main/services/layout/index.d.ts +11 -0
  121. package/dist/main/services/layout/index.js +23 -0
  122. package/dist/main/services/mcp/connection-owner.d.ts +38 -0
  123. package/dist/main/services/mcp/connection-owner.js +79 -0
  124. package/dist/main/services/mcp/index.d.ts +3 -1
  125. package/dist/main/services/mcp/index.js +4 -3
  126. package/dist/main/services/mcp/opened-project.d.ts +88 -0
  127. package/dist/main/services/mcp/opened-project.js +60 -0
  128. package/dist/main/services/mcp/server.d.ts +2 -1
  129. package/dist/main/services/mcp/server.js +29 -4
  130. package/dist/main/services/mcp/target-manager.d.ts +71 -23
  131. package/dist/main/services/mcp/target-manager.js +269 -138
  132. package/dist/main/services/mcp/target-selection.d.ts +47 -0
  133. package/dist/main/services/mcp/target-selection.js +71 -0
  134. package/dist/main/services/mcp/tools/context-tools.js +20 -5
  135. package/dist/main/services/mcp/tools/project-tools.d.ts +72 -0
  136. package/dist/main/services/mcp/tools/project-tools.js +133 -0
  137. package/dist/main/services/module.d.ts +13 -5
  138. package/dist/main/services/network-forward/body-cache.d.ts +72 -0
  139. package/dist/main/services/network-forward/body-cache.js +179 -0
  140. package/dist/main/services/network-forward/frontend-dispatch.d.ts +91 -0
  141. package/dist/main/services/network-forward/frontend-dispatch.js +148 -0
  142. package/dist/main/services/network-forward/global-body-gate.d.ts +46 -0
  143. package/dist/main/services/network-forward/global-body-gate.js +93 -0
  144. package/dist/main/services/network-forward/global-mirror-test-fixtures.d.ts +48 -0
  145. package/dist/main/services/network-forward/global-mirror-test-fixtures.js +96 -0
  146. package/dist/main/services/network-forward/http.d.ts +47 -0
  147. package/dist/main/services/network-forward/http.js +162 -0
  148. package/dist/main/services/network-forward/index.d.ts +135 -15
  149. package/dist/main/services/network-forward/index.js +854 -224
  150. package/dist/main/services/network-forward/request-ids.d.ts +5 -0
  151. package/dist/main/services/network-forward/request-ids.js +5 -0
  152. package/dist/main/services/network-forward/user-facing.d.ts +21 -0
  153. package/dist/main/services/network-forward/user-facing.js +50 -0
  154. package/dist/main/services/network-forward/websocket.d.ts +36 -0
  155. package/dist/main/services/network-forward/websocket.js +120 -0
  156. package/dist/main/services/notifications/renderer-notifier.d.ts +71 -9
  157. package/dist/main/services/notifications/renderer-notifier.js +45 -8
  158. package/dist/main/services/projects/create-project-service.js +19 -5
  159. package/dist/main/services/projects/local-provider.js +8 -4
  160. package/dist/main/services/projects/project-repository.d.ts +59 -7
  161. package/dist/main/services/projects/project-repository.js +285 -51
  162. package/dist/main/services/projects/types.d.ts +44 -34
  163. package/dist/main/services/render-inspect/index.d.ts +12 -2
  164. package/dist/main/services/render-inspect/index.js +21 -102
  165. package/dist/main/services/safe-area/index.d.ts +21 -6
  166. package/dist/main/services/safe-area/index.js +92 -46
  167. package/dist/main/services/service-host-pool/pool.d.ts +1 -196
  168. package/dist/main/services/service-host-pool/pool.js +1 -363
  169. package/dist/main/services/settings/index.d.ts +7 -1
  170. package/dist/main/services/settings/index.js +22 -2
  171. package/dist/main/services/simulator/custom-apis.d.ts +1 -42
  172. package/dist/main/services/simulator/custom-apis.js +1 -46
  173. package/dist/main/services/simulator/referer.d.ts +1 -9
  174. package/dist/main/services/simulator/referer.js +1 -19
  175. package/dist/main/services/simulator/ui-extensions.d.ts +21 -0
  176. package/dist/main/services/simulator/ui-extensions.js +176 -0
  177. package/dist/main/services/simulator-appdata/index.d.ts +6 -0
  178. package/dist/main/services/simulator-appdata/index.js +21 -2
  179. package/dist/main/services/simulator-current-page/index.d.ts +5 -3
  180. package/dist/main/services/simulator-current-page/index.js +8 -1
  181. package/dist/main/services/simulator-storage/index.d.ts +34 -5
  182. package/dist/main/services/simulator-storage/index.js +73 -71
  183. package/dist/main/services/simulator-storage/service-storage-ops.d.ts +1 -39
  184. package/dist/main/services/simulator-storage/service-storage-ops.js +1 -66
  185. package/dist/main/services/simulator-storage/window-scope.d.ts +20 -0
  186. package/dist/main/services/simulator-storage/window-scope.js +20 -0
  187. package/dist/main/services/simulator-temp-files/disk.d.ts +1 -54
  188. package/dist/main/services/simulator-temp-files/disk.js +1 -237
  189. package/dist/main/services/simulator-temp-files/fs-channels.d.ts +1 -68
  190. package/dist/main/services/simulator-temp-files/fs-channels.js +1 -107
  191. package/dist/main/services/simulator-temp-files/index.d.ts +1 -32
  192. package/dist/main/services/simulator-temp-files/index.js +1 -181
  193. package/dist/main/services/simulator-temp-files/request-handler.d.ts +1 -29
  194. package/dist/main/services/simulator-temp-files/request-handler.js +1 -177
  195. package/dist/main/services/simulator-temp-files/resolver.d.ts +1 -21
  196. package/dist/main/services/simulator-temp-files/resolver.js +1 -21
  197. package/dist/main/services/simulator-temp-files/store.d.ts +1 -13
  198. package/dist/main/services/simulator-temp-files/store.js +1 -23
  199. package/dist/main/services/update/github-release-checker.js +22 -3
  200. package/dist/main/services/update/update-manager.d.ts +21 -4
  201. package/dist/main/services/update/update-manager.js +55 -11
  202. package/dist/main/services/views/clear-console-filter.d.ts +44 -0
  203. package/dist/main/services/views/clear-console-filter.js +86 -0
  204. package/dist/main/services/views/console-filter-test-fixtures.d.ts +94 -0
  205. package/dist/main/services/views/console-filter-test-fixtures.js +82 -0
  206. package/dist/main/services/views/console-filter.d.ts +94 -0
  207. package/dist/main/services/views/console-filter.js +190 -0
  208. package/dist/main/services/views/devtools-tabs.d.ts +24 -4
  209. package/dist/main/services/views/devtools-tabs.js +40 -21
  210. package/dist/main/services/views/frontend-bootstrap-gate.d.ts +59 -0
  211. package/dist/main/services/views/frontend-bootstrap-gate.js +117 -0
  212. package/dist/main/services/views/host-dialog-port-channel.d.ts +18 -0
  213. package/dist/main/services/views/host-dialog-port-channel.js +15 -0
  214. package/dist/main/services/views/host-dialog-session-runtime.d.ts +10 -0
  215. package/dist/main/services/views/host-dialog-session-runtime.js +17 -0
  216. package/dist/main/services/views/host-dialog-view.d.ts +95 -0
  217. package/dist/main/services/views/host-dialog-view.js +147 -0
  218. package/dist/main/services/views/host-sidebar-port-channel.d.ts +18 -0
  219. package/dist/main/services/views/host-sidebar-port-channel.js +15 -0
  220. package/dist/main/services/views/host-sidebar-session-runtime.d.ts +10 -0
  221. package/dist/main/services/views/host-sidebar-session-runtime.js +17 -0
  222. package/dist/main/services/views/host-sidebar-view.d.ts +59 -0
  223. package/dist/main/services/views/host-sidebar-view.js +44 -0
  224. package/dist/main/services/views/host-slot-port-channel.d.ts +124 -0
  225. package/dist/main/services/views/host-slot-port-channel.js +289 -0
  226. package/dist/main/services/views/host-slot-session-runtime.d.ts +40 -0
  227. package/dist/main/services/views/host-slot-session-runtime.js +50 -0
  228. package/dist/main/services/views/host-slot-view.d.ts +109 -0
  229. package/dist/main/services/views/host-slot-view.js +147 -0
  230. package/dist/main/services/views/host-toolbar-port-channel.d.ts +6 -91
  231. package/dist/main/services/views/host-toolbar-port-channel.js +10 -243
  232. package/dist/main/services/views/host-toolbar-session-runtime.d.ts +5 -30
  233. package/dist/main/services/views/host-toolbar-session-runtime.js +9 -47
  234. package/dist/main/services/views/host-toolbar-view.d.ts +34 -7
  235. package/dist/main/services/views/host-toolbar-view.js +30 -237
  236. package/dist/main/services/views/managed-web-contents-view.d.ts +48 -0
  237. package/dist/main/services/views/managed-web-contents-view.js +143 -0
  238. package/dist/main/services/views/miniapp-partition.d.ts +1 -89
  239. package/dist/main/services/views/miniapp-partition.js +1 -158
  240. package/dist/main/services/views/native-simulator-devtools-host.js +206 -68
  241. package/dist/main/services/views/native-simulator-view.d.ts +6 -0
  242. package/dist/main/services/views/native-simulator-view.js +47 -40
  243. package/dist/main/services/views/native-view-tree.d.ts +25 -0
  244. package/dist/main/services/views/native-view-tree.js +69 -0
  245. package/dist/main/services/views/overlay-panels-view.d.ts +63 -4
  246. package/dist/main/services/views/overlay-panels-view.js +257 -108
  247. package/dist/main/services/views/placement-reconciler.d.ts +18 -18
  248. package/dist/main/services/views/placement-reconciler.js +91 -29
  249. package/dist/main/services/views/placement-test-driver.d.ts +27 -0
  250. package/dist/main/services/views/placement-test-driver.js +29 -0
  251. package/dist/main/services/views/refresh-styles.d.ts +10 -0
  252. package/dist/main/services/views/refresh-styles.js +57 -0
  253. package/dist/main/services/views/simulator-session-policy.d.ts +1 -27
  254. package/dist/main/services/views/simulator-session-policy.js +1 -98
  255. package/dist/main/services/views/view-manager-devtools-host-test-fixtures.d.ts +76 -0
  256. package/dist/main/services/views/view-manager-devtools-host-test-fixtures.js +184 -0
  257. package/dist/main/services/views/view-manager.d.ts +69 -88
  258. package/dist/main/services/views/view-manager.js +62 -7
  259. package/dist/main/services/views/workbench-view.d.ts +2 -0
  260. package/dist/main/services/views/workbench-view.js +104 -17
  261. package/dist/main/services/window-contexts/context-router.d.ts +36 -0
  262. package/dist/main/services/window-contexts/context-router.js +55 -0
  263. package/dist/main/services/workbench-coi-host.d.ts +52 -0
  264. package/dist/main/services/workbench-coi-host.js +227 -0
  265. package/dist/main/services/workbench-coi-server.d.ts +11 -0
  266. package/dist/main/services/workbench-coi-server.js +126 -126
  267. package/dist/main/services/workbench-coi-shutdown.d.ts +40 -0
  268. package/dist/main/services/workbench-coi-shutdown.js +69 -0
  269. package/dist/main/services/workbench-coi-static.d.ts +23 -0
  270. package/dist/main/services/workbench-coi-static.js +87 -0
  271. package/dist/main/services/workbench-context.d.ts +88 -8
  272. package/dist/main/services/workbench-context.js +54 -6
  273. package/dist/main/services/workspace/compile-log-buffer.d.ts +40 -0
  274. package/dist/main/services/workspace/compile-log-buffer.js +41 -0
  275. package/dist/main/services/workspace/compile-mode-adapter.d.ts +18 -0
  276. package/dist/main/services/workspace/compile-mode-adapter.js +57 -0
  277. package/dist/main/services/workspace/compile-mode-store.d.ts +25 -0
  278. package/dist/main/services/workspace/compile-mode-store.js +71 -0
  279. package/dist/main/services/workspace/open-project-guards.d.ts +16 -0
  280. package/dist/main/services/workspace/open-project-guards.js +42 -0
  281. package/dist/main/services/workspace/rebuild-status.d.ts +37 -0
  282. package/dist/main/services/workspace/rebuild-status.js +36 -0
  283. package/dist/main/services/workspace/session-status-store.d.ts +47 -0
  284. package/dist/main/services/workspace/session-status-store.js +73 -0
  285. package/dist/main/services/workspace/status-tap.d.ts +20 -0
  286. package/dist/main/services/workspace/status-tap.js +32 -0
  287. package/dist/main/services/workspace/workspace-compile-modes.d.ts +59 -0
  288. package/dist/main/services/workspace/workspace-compile-modes.js +93 -0
  289. package/dist/main/services/workspace/workspace-lifecycle-race.testutil.d.ts +22 -0
  290. package/dist/main/services/workspace/workspace-lifecycle-race.testutil.js +62 -0
  291. package/dist/main/services/workspace/workspace-referer.d.ts +17 -0
  292. package/dist/main/services/workspace/workspace-referer.js +26 -0
  293. package/dist/main/services/workspace/workspace-service.d.ts +7 -5
  294. package/dist/main/services/workspace/workspace-service.js +96 -135
  295. package/dist/main/services/workspace/workspace-thumbnails.d.ts +22 -0
  296. package/dist/main/services/workspace/workspace-thumbnails.js +67 -0
  297. package/dist/main/utils/ipc-context-source.d.ts +40 -0
  298. package/dist/main/utils/ipc-context-source.js +23 -0
  299. package/dist/main/utils/ipc-registry.d.ts +46 -21
  300. package/dist/main/utils/ipc-registry.js +166 -76
  301. package/dist/main/utils/paths.d.ts +18 -0
  302. package/dist/main/utils/paths.js +18 -0
  303. package/dist/main/utils/sender-policy.d.ts +10 -1
  304. package/dist/main/utils/sender-policy.js +42 -4
  305. package/dist/main/utils/theme.d.ts +18 -8
  306. package/dist/main/utils/theme.js +19 -9
  307. package/dist/main/windows/internal-devtools-window/index.d.ts +66 -0
  308. package/dist/main/windows/internal-devtools-window/index.js +160 -0
  309. package/dist/main/windows/main-window/create.d.ts +16 -0
  310. package/dist/main/windows/main-window/create.js +19 -11
  311. package/dist/main/windows/main-window/events.d.ts +1 -1
  312. package/dist/main/windows/main-window/events.js +26 -13
  313. package/dist/main/windows/main-window/index.d.ts +1 -1
  314. package/dist/main/windows/main-window/index.js +1 -1
  315. package/dist/main/windows/service-host-window/create.d.ts +1 -92
  316. package/dist/main/windows/service-host-window/create.js +1 -154
  317. package/dist/native-host/common/common.js +173 -53
  318. package/dist/native-host/container/pageFrame.css +1 -1
  319. package/dist/native-host/render/render.js +8278 -3659
  320. package/dist/native-host/service/service.js +2 -2
  321. package/dist/preload/index.d.ts +2 -0
  322. package/dist/preload/index.js +1 -0
  323. package/dist/preload/instrumentation/app-data.d.ts +2 -2
  324. package/dist/preload/instrumentation/app-data.js +1 -1
  325. package/dist/preload/instrumentation/wxml.js +1 -1
  326. package/dist/preload/runtime/bridge.d.ts +3 -3
  327. package/dist/preload/runtime/bridge.js +2 -2
  328. package/dist/preload/runtime/clipboard.d.ts +6 -0
  329. package/dist/preload/runtime/clipboard.js +12 -0
  330. package/dist/preload/runtime/host-dialog-advertiser.d.ts +22 -0
  331. package/dist/preload/runtime/host-dialog-advertiser.js +37 -0
  332. package/dist/preload/runtime/host-dialog-port.d.ts +44 -0
  333. package/dist/preload/runtime/host-dialog-port.js +53 -0
  334. package/dist/preload/runtime/host-dialog-runtime.d.ts +28 -0
  335. package/dist/preload/runtime/host-dialog-runtime.js +36 -0
  336. package/dist/preload/runtime/host-sidebar-advertiser.d.ts +19 -0
  337. package/dist/preload/runtime/host-sidebar-advertiser.js +35 -0
  338. package/dist/preload/runtime/host-sidebar-port.d.ts +44 -0
  339. package/dist/preload/runtime/host-sidebar-port.js +53 -0
  340. package/dist/preload/runtime/host-sidebar-runtime.d.ts +28 -0
  341. package/dist/preload/runtime/host-sidebar-runtime.js +36 -0
  342. package/dist/preload/runtime/host-slot-port-bridge.d.ts +18 -0
  343. package/dist/preload/runtime/host-slot-port-bridge.js +112 -0
  344. package/dist/preload/runtime/host-toolbar-advertiser.d.ts +5 -13
  345. package/dist/preload/runtime/host-toolbar-advertiser.js +18 -38
  346. package/dist/preload/runtime/host-toolbar-port.d.ts +9 -0
  347. package/dist/preload/runtime/host-toolbar-port.js +11 -95
  348. package/dist/preload/runtime/native-host.d.ts +14 -0
  349. package/dist/preload/runtime/native-host.js +5 -8
  350. package/dist/preload/runtime/node-bindings.d.ts +18 -0
  351. package/dist/preload/runtime/node-bindings.js +44 -0
  352. package/dist/preload/runtime/temp-files.js +9 -2
  353. package/dist/preload/runtime/wait-for-slot-root.d.ts +23 -0
  354. package/dist/preload/runtime/wait-for-slot-root.js +80 -0
  355. package/dist/preload/shared/api-compat.js +63 -41
  356. package/dist/preload/windows/host-dialog-runtime.cjs +360 -0
  357. package/dist/preload/windows/host-dialog-runtime.cjs.map +7 -0
  358. package/dist/preload/windows/host-dialog-runtime.d.ts +2 -0
  359. package/dist/preload/windows/host-dialog-runtime.js +13 -0
  360. package/dist/preload/windows/host-sidebar-runtime.cjs +361 -0
  361. package/dist/preload/windows/host-sidebar-runtime.cjs.map +7 -0
  362. package/dist/preload/windows/host-sidebar-runtime.d.ts +2 -0
  363. package/dist/preload/windows/host-sidebar-runtime.js +13 -0
  364. package/dist/preload/windows/host-toolbar-runtime.cjs +142 -52
  365. package/dist/preload/windows/host-toolbar-runtime.cjs.map +3 -3
  366. package/dist/preload/windows/main.cjs +4922 -1246
  367. package/dist/preload/windows/main.cjs.map +4 -4
  368. package/dist/preload/windows/main.css +428 -0
  369. package/dist/preload/windows/main.css.map +7 -0
  370. package/dist/preload/windows/simulator.cjs +376 -322
  371. package/dist/preload/windows/simulator.cjs.map +4 -4
  372. package/dist/preload/windows/simulator.js +376 -322
  373. package/dist/render-host/pageFrame.html +4 -4
  374. package/dist/render-host/preload.cjs +30 -0
  375. package/dist/render-host/render-inspect.js +184 -115
  376. package/dist/renderer/assets/button-CB2MWjHY.js +2 -0
  377. package/dist/renderer/assets/constants-CkoGPQTS.js +2 -0
  378. package/dist/renderer/assets/constants-zQZ2-y21.js +2 -0
  379. package/dist/renderer/assets/createLucideIcon-cZ9FlZZw.js +2 -0
  380. package/dist/renderer/assets/devicePicker-H2eIO4e1.js +2 -0
  381. package/dist/renderer/assets/dialog-pHzEA8Vx.js +46 -0
  382. package/dist/renderer/assets/dist-B5HADirS.js +2 -0
  383. package/dist/renderer/assets/dist-DIFlRMKe.js +2 -0
  384. package/dist/renderer/assets/hostSidebarDefault-DRWh6OCt.js +2 -0
  385. package/dist/renderer/assets/index-CEL_XFge.js +2 -0
  386. package/dist/renderer/assets/input-CAObw95L.js +2 -0
  387. package/dist/renderer/assets/ipc-channels-overlays-gIPUFnqc.js +2 -0
  388. package/dist/renderer/assets/jsx-runtime-DICEQH_0.css +1 -0
  389. package/dist/renderer/assets/jsx-runtime-DIw5wnYl.js +9 -0
  390. package/dist/renderer/assets/plus-BQ9u5EbL.js +2 -0
  391. package/dist/renderer/assets/popover-Cw7G2Ctp.js +2 -0
  392. package/dist/renderer/assets/presets-DMZOb9ay.js +2 -0
  393. package/dist/renderer/assets/project-api-YTOr_Yvo.js +2 -0
  394. package/dist/renderer/assets/projectCreateDialog-BmLqiYxn.js +2 -0
  395. package/dist/renderer/assets/search-BMvuYF48.js +2 -0
  396. package/dist/renderer/assets/select-nFP95TxM.js +2 -0
  397. package/dist/renderer/assets/settings-CnpVfSWt.js +2 -0
  398. package/dist/renderer/assets/settings-api-Ccsf-Nsj.js +2 -0
  399. package/dist/renderer/assets/settings-tab-bar-CAzrv32m.js +2 -0
  400. package/dist/renderer/assets/smartphone-Bb2GdIKy.js +2 -0
  401. package/dist/renderer/assets/tabs-CPKN3Mmq.js +2 -0
  402. package/dist/renderer/assets/tooltip-D6AxXRk5.js +2 -0
  403. package/dist/renderer/assets/types-Bh0hA7El.js +2 -0
  404. package/dist/renderer/assets/updateDialog-CwndJ0Bl.js +2 -0
  405. package/dist/renderer/assets/utils-sEB5OZEQ.js +2 -0
  406. package/dist/renderer/assets/view-api-B-2zPBR5.js +2 -0
  407. package/dist/renderer/assets/view-ids-BfaDVV5P.js +2 -0
  408. package/dist/renderer/assets/workbench-C0Jkdlps.js +5 -0
  409. package/dist/renderer/assets/workbenchSettings-YD0Ctbm_.js +8 -0
  410. package/dist/renderer/entries/device-picker/index.html +28 -0
  411. package/dist/renderer/entries/host-sidebar-default/index.html +22 -0
  412. package/dist/renderer/entries/main/index.html +16 -7
  413. package/dist/renderer/entries/popover/index.html +16 -6
  414. package/dist/renderer/entries/project-create-dialog/index.html +27 -0
  415. package/dist/renderer/entries/settings/index.html +10 -5
  416. package/dist/renderer/entries/tooltip/index.html +21 -0
  417. package/dist/renderer/entries/update-dialog/index.html +25 -0
  418. package/dist/renderer/entries/workbench/index.html +49 -0
  419. package/dist/renderer/entries/workbench-settings/index.html +12 -5
  420. package/dist/service-host/appdata-set-data.cjs +39 -0
  421. package/dist/service-host/host-env-update.cjs +23 -0
  422. package/dist/service-host/preload.cjs +54 -48
  423. package/dist/service-host/service-message-queue.cjs +71 -0
  424. package/dist/service-host/sync-impls/menu-button-geometry.js +16 -5
  425. package/dist/service-host/sync-impls/menu-button.js +5 -3
  426. package/dist/service-host/sync-impls/system-info.js +31 -9
  427. package/dist/shared/bridge-channels.d.ts +1 -416
  428. package/dist/shared/bridge-channels.js +1 -89
  429. package/dist/shared/compile-mode-state.d.ts +73 -0
  430. package/dist/shared/compile-mode-state.js +100 -0
  431. package/dist/shared/compile-modes.d.ts +152 -0
  432. package/dist/shared/compile-modes.js +237 -0
  433. package/dist/shared/constants.d.ts +22 -0
  434. package/dist/shared/constants.js +22 -0
  435. package/dist/shared/dmb-resource-url.d.ts +2 -0
  436. package/dist/shared/dmb-resource-url.js +2 -0
  437. package/dist/shared/ipc-channels-overlays.d.ts +162 -0
  438. package/dist/shared/ipc-channels-overlays.js +203 -0
  439. package/dist/shared/ipc-channels.d.ts +24 -154
  440. package/dist/shared/ipc-channels.js +48 -96
  441. package/dist/shared/ipc-schemas.d.ts +143 -54
  442. package/dist/shared/ipc-schemas.js +137 -45
  443. package/dist/shared/node-bindings.d.ts +2 -0
  444. package/dist/shared/node-bindings.js +2 -0
  445. package/dist/shared/project-window-types.d.ts +42 -0
  446. package/dist/shared/project-window-types.js +2 -0
  447. package/dist/shared/simulator-route.d.ts +8 -0
  448. package/dist/shared/simulator-route.js +15 -0
  449. package/dist/shared/simulator-ui.d.ts +61 -0
  450. package/dist/shared/simulator-ui.js +12 -0
  451. package/dist/shared/types.d.ts +126 -41
  452. package/dist/shared/view-ids.d.ts +10 -0
  453. package/dist/shared/view-ids.js +23 -0
  454. package/dist/simulator/assets/bridge-channels-B3JAmRfl.js +2 -0
  455. package/dist/simulator/assets/device-shell-ATEhHV2_.css +1 -0
  456. package/dist/simulator/assets/device-shell-DucLepkm.js +431 -0
  457. package/dist/simulator/assets/simulator-B4rbcOVt.js +10 -0
  458. package/dist/simulator/assets/simulator-mini-app-DFo7fhi5.js +2 -0
  459. package/dist/simulator/assets/simulator-ui-BupATgKo.css +1 -0
  460. package/dist/simulator/assets/simulator-ui-i3GCc7YJ.js +2 -0
  461. package/dist/simulator/simulator.html +4 -3
  462. package/dist/simulator/temp-files.d.ts +35 -0
  463. package/dist/simulator/temp-files.js +121 -0
  464. package/dist/simulator/types.d.ts +50 -0
  465. package/dist/simulator/types.js +2 -0
  466. package/dist/vscode-workbench/assets/__vite-browser-external-JIkWewFf.js +1 -0
  467. package/dist/vscode-workbench/assets/{dist-TpGpmMGi.js → dist-CXG-u1VB.js} +3 -3
  468. package/dist/vscode-workbench/assets/fs-core-worker-urls-DZ1nod84.js +1 -0
  469. package/dist/vscode-workbench/assets/fs-core.worker-Bnmpp6fo.js +1 -0
  470. package/dist/vscode-workbench/assets/fs-query.worker-cZ-7Fjch.js +2 -0
  471. package/dist/vscode-workbench/assets/{iconv-lite-umd-C9tiCAJa.js → iconv-lite-umd-Dxx9Qyb4.js} +1 -1
  472. package/dist/vscode-workbench/assets/{index-DJ1HyMZ7.js → index-6VJMsaWj.js} +475 -475
  473. package/dist/vscode-workbench/assets/{jschardet-DE1jV513.js → jschardet-Ba3D16vt.js} +1 -1
  474. package/dist/vscode-workbench/index.html +21 -1
  475. package/package.json +23 -13
  476. package/dist/main/services/views/destroy-child-view.d.ts +0 -9
  477. package/dist/main/services/views/destroy-child-view.js +0 -23
  478. package/dist/preload/instrumentation/wxml-extract.d.ts +0 -11
  479. package/dist/preload/instrumentation/wxml-extract.js +0 -382
  480. package/dist/preload/shared/sid-registry.d.ts +0 -11
  481. package/dist/preload/shared/sid-registry.js +0 -38
  482. package/dist/renderer/assets/constants-EAMiwL9_.js +0 -2
  483. package/dist/renderer/assets/index-BMqyDx71.js +0 -49
  484. package/dist/renderer/assets/input-CDAEwpBO.js +0 -2
  485. package/dist/renderer/assets/ipc-transport-B7eFOR68.css +0 -1
  486. package/dist/renderer/assets/ipc-transport-_G1k5V1p.js +0 -9
  487. package/dist/renderer/assets/popover-DEdjK14m.js +0 -2
  488. package/dist/renderer/assets/select-DpKPCh3y.js +0 -2
  489. package/dist/renderer/assets/settings-M5q2elUr.js +0 -2
  490. package/dist/renderer/assets/settings-api-CDlZoHiO.js +0 -2
  491. package/dist/renderer/assets/workbenchSettings-CT_H1WhV.js +0 -8
  492. package/dist/shared/appdata-accumulator.d.ts +0 -95
  493. package/dist/shared/appdata-accumulator.js +0 -218
  494. package/dist/shared/request-core.d.ts +0 -84
  495. package/dist/shared/request-core.js +0 -168
  496. package/dist/shared/simulator-api-metadata.d.ts +0 -26
  497. package/dist/shared/simulator-api-metadata.js +0 -59
  498. package/dist/shared/vpath.d.ts +0 -42
  499. package/dist/shared/vpath.js +0 -105
  500. package/dist/simulator/assets/bridge-channels-zhsumfky.js +0 -2
  501. package/dist/simulator/assets/device-shell-C-wcFq3Z.js +0 -2
  502. package/dist/simulator/assets/device-shell-CS1rqAQz.css +0 -1
  503. package/dist/simulator/assets/jsx-runtime-BDTY6fEq.js +0 -2
  504. package/dist/simulator/assets/simulator-DU3-fS3v.js +0 -10
  505. package/dist/simulator/assets/simulator-mini-app-DzfMfnVM.js +0 -2
  506. package/dist/simulator/device-shell/menu-button-geometry.js +0 -8
  507. package/dist/vscode-workbench/assets/__vite-browser-external-CXi6Kz9W.js +0 -1
@@ -35,5 +35,7 @@ export { installCustomApisBridge } from './runtime/custom-apis.js';
35
35
  export type { DiminaCustomApisBridge } from './runtime/custom-apis.js';
36
36
  export { installNativeHostBridge } from './runtime/native-host.js';
37
37
  export type { DiminaNativeHostBridge } from './runtime/native-host.js';
38
+ export { installClipboardBridge } from './runtime/clipboard.js';
39
+ export type { DiminaClipboardBridge } from './runtime/clipboard.js';
38
40
  export { setupApiCompatHook } from './shared/api-compat.js';
39
41
  //# sourceMappingURL=index.d.ts.map
@@ -36,5 +36,6 @@ export { installCustomApisBridge } from './runtime/custom-apis.js';
36
36
  // external/composed preloads aren't stranded once native-host becomes the sole
37
37
  // runtime. (Stage-0 prerequisite for decommissioning the default path.)
38
38
  export { installNativeHostBridge } from './runtime/native-host.js';
39
+ export { installClipboardBridge } from './runtime/clipboard.js';
39
40
  export { setupApiCompatHook } from './shared/api-compat.js';
40
41
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  import type { MiniappSnapshotSource } from '../miniapp-snapshot/types.js';
2
- import { type AppDataSnapshot } from '../../shared/appdata-accumulator.js';
3
- export type { AppDataSnapshot } from '../../shared/appdata-accumulator.js';
2
+ import { type AppDataSnapshot } from '@dimina-kit/inspect';
3
+ export type { AppDataSnapshot } from '@dimina-kit/inspect';
4
4
  /**
5
5
  * The AppData snapshot data source.
6
6
  *
@@ -1,5 +1,5 @@
1
1
  import { clearAppDataSnapshot, setAppDataSnapshot, } from '../runtime/bridge.js';
2
- import { AppDataAccumulator, decodeOutgoingMessage, decodeWorkerMessage, } from '../../shared/appdata-accumulator.js';
2
+ import { AppDataAccumulator, decodeOutgoingMessage, decodeWorkerMessage, } from '@dimina-kit/inspect';
3
3
  /**
4
4
  * The AppData snapshot data source.
5
5
  *
@@ -1,6 +1,6 @@
1
1
  import { clearWxmlSnapshot, setWxmlSnapshot, unhighlightElement, } from '../runtime/bridge.js';
2
2
  import { WXML_DEBOUNCE_MS, WXML_RETRY_INTERVAL_MS, WXML_RETRY_TIMEOUT_MS, NAVIGATION_POLL_INTERVAL_MS, NAVIGATION_TIMEOUT_MS, } from '../shared/constants.js';
3
- import { walkInstance } from './wxml-extract.js';
3
+ import { walkInstance } from '@dimina-kit/inspect';
4
4
  import { getActivePageIframe } from '../shared/page-iframe.js';
5
5
  function getVueAppFromIframe(iframe) {
6
6
  try {
@@ -1,7 +1,7 @@
1
1
  import type { ElementInspection } from '../../shared/ipc-channels.js';
2
- import { type WxmlNode } from '../shared/sid-registry.js';
3
- export type { WxmlNode } from '../shared/sid-registry.js';
4
- export { registerSyntheticSid } from '../shared/sid-registry.js';
2
+ import { type WxmlNode } from '@dimina-kit/inspect';
3
+ export type { WxmlNode } from '@dimina-kit/inspect';
4
+ export { registerSyntheticSid } from '@dimina-kit/inspect';
5
5
  export interface Snapshot<T> {
6
6
  gen: number;
7
7
  ready: boolean;
@@ -1,7 +1,7 @@
1
1
  import { exposeOnMainWorld } from '../shared/expose.js';
2
2
  import { getActivePageIframe } from '../shared/page-iframe.js';
3
- import { findElementBySid } from '../shared/sid-registry.js';
4
- export { registerSyntheticSid } from '../shared/sid-registry.js';
3
+ import { findElementBySid } from '@dimina-kit/inspect';
4
+ export { registerSyntheticSid } from '@dimina-kit/inspect';
5
5
  const state = {
6
6
  appdata: { gen: 0, ready: true, data: {} },
7
7
  storage: { gen: 0, ready: false, namespace: null, data: {} },
@@ -0,0 +1,6 @@
1
+ export interface DiminaClipboardBridge {
2
+ readText(): string;
3
+ writeText(text: string): void;
4
+ }
5
+ export declare function installClipboardBridge(): () => void;
6
+ //# sourceMappingURL=clipboard.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { clipboard } from 'electron';
2
+ import { exposeOnMainWorld } from '../shared/expose.js';
3
+ function buildBridge() {
4
+ return {
5
+ readText: () => clipboard.readText(),
6
+ writeText: (text) => clipboard.writeText(text),
7
+ };
8
+ }
9
+ export function installClipboardBridge() {
10
+ return exposeOnMainWorld('__diminaClipboard', buildBridge());
11
+ }
12
+ //# sourceMappingURL=clipboard.js.map
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Reverse size-advertiser preload for the host-controllable dialog
3
+ * WebContentsView. Runs in that WCV's OWN renderer (the dialog content's
4
+ * preload). Unlike the toolbar/sidebar (single-axis persistent strips), the
5
+ * dialog self-sizes on BOTH axes — it has no renderer placeholder to anchor
6
+ * against, so main centers it in the main window purely from what this
7
+ * advertiser reports. Two independent `createSizeAdvertiser` instances (one
8
+ * per axis) share the same root and the same outbound channel
9
+ * (`HostDialogAdvertiseSize` carries `{ axis, extent }` for either axis); main
10
+ * re-centers using whichever axes it has measured so far (see
11
+ * `host-dialog-view.ts`'s `reportMeasuredExtent` / default-size fallback).
12
+ */
13
+ /**
14
+ * Attach both axis advertisers to the dialog content's shrink-to-fit root
15
+ * (`[data-host-dialog-root]`), waiting for it if necessary — the root may be
16
+ * mounted asynchronously by a framework rather than present in the initial
17
+ * HTML. That element MUST be shrink-to-fit on BOTH axes — same footgun as
18
+ * the toolbar/sidebar (`createSizeAdvertiser`'s single-axis-ownership
19
+ * requirement), just doubled.
20
+ */
21
+ export declare function installHostDialogAdvertiserWhenReady(): void;
22
+ //# sourceMappingURL=host-dialog-advertiser.d.ts.map
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Reverse size-advertiser preload for the host-controllable dialog
3
+ * WebContentsView. Runs in that WCV's OWN renderer (the dialog content's
4
+ * preload). Unlike the toolbar/sidebar (single-axis persistent strips), the
5
+ * dialog self-sizes on BOTH axes — it has no renderer placeholder to anchor
6
+ * against, so main centers it in the main window purely from what this
7
+ * advertiser reports. Two independent `createSizeAdvertiser` instances (one
8
+ * per axis) share the same root and the same outbound channel
9
+ * (`HostDialogAdvertiseSize` carries `{ axis, extent }` for either axis); main
10
+ * re-centers using whichever axes it has measured so far (see
11
+ * `host-dialog-view.ts`'s `reportMeasuredExtent` / default-size fallback).
12
+ */
13
+ import { ipcRenderer } from 'electron';
14
+ import { createSizeAdvertiser } from '@dimina-kit/view-anchor';
15
+ import { ViewChannel } from '../../shared/ipc-channels-overlays.js';
16
+ import { whenSlotRootReady } from './wait-for-slot-root.js';
17
+ /**
18
+ * Attach both axis advertisers to the dialog content's shrink-to-fit root
19
+ * (`[data-host-dialog-root]`), waiting for it if necessary — the root may be
20
+ * mounted asynchronously by a framework rather than present in the initial
21
+ * HTML. That element MUST be shrink-to-fit on BOTH axes — same footgun as
22
+ * the toolbar/sidebar (`createSizeAdvertiser`'s single-axis-ownership
23
+ * requirement), just doubled.
24
+ */
25
+ export function installHostDialogAdvertiserWhenReady() {
26
+ whenSlotRootReady('[data-host-dialog-root]', '[host-dialog-advertiser] no `[data-host-dialog-root]` element found — ' +
27
+ 'not advertising a size yet. The dialog content must wrap itself in a ' +
28
+ 'shrink-to-fit `[data-host-dialog-root]` element so its size is the ' +
29
+ 'content size, not the host-given view size.', (root) => {
30
+ const publish = (size) => {
31
+ ipcRenderer.send(ViewChannel.HostDialogAdvertiseSize, size);
32
+ };
33
+ createSizeAdvertiser(root, { axis: 'block', publish });
34
+ createSizeAdvertiser(root, { axis: 'inline', publish });
35
+ });
36
+ }
37
+ //# sourceMappingURL=host-dialog-advertiser.js.map
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Preload side of the host-dialog gated narrow channel.
3
+ *
4
+ * ── PUBLIC SURFACE EVOLUTION RULE ───────────────────────────────────────────
5
+ * `window.diminaHostDialog` is a published page-facing API, typed by the
6
+ * exported `DiminaHostDialogPageBridge` (src/main/runtime/miniapp-runtime.ts)
7
+ * — arbitrary host dialog pages compile against it. Members may only be
8
+ * ADDED, never changed: any semantic change to an existing member (signature,
9
+ * return shape, queueing/throw behavior) ships under a NEW name instead.
10
+ * Exception: security fixes / compliance corrections may change existing
11
+ * member semantics, and MUST be called out in the release's version notes.
12
+ * Keep the exported bridge type in lockstep with what is exposed here.
13
+ *
14
+ * Receives the per-load MessagePort main transfers on `did-finish-load`
15
+ * (`ViewChannel.HostDialogPort`, `event.ports[0]`) and bridges it to the page
16
+ * as `window.diminaHostDialog` — EXACTLY `{ send, onMessage }`, functions
17
+ * only. The raw MessagePort never crosses into the main world: the page only
18
+ * ever talks through these two functions, so the `{ channel, payload }`
19
+ * envelope stays the single waist (same posture as the main side's
20
+ * host-dialog-port-channel.ts).
21
+ *
22
+ * Ordering reality this module absorbs — identical to the toolbar's port
23
+ * bridge (see host-toolbar-port.ts for the full rationale): pre-handshake
24
+ * sends queue and bounded-drop, handlers register before the port exists and
25
+ * re-attach across same-load re-handshakes, inbound dispatch drops malformed
26
+ * envelopes without throwing.
27
+ *
28
+ * Shared implementation: see `host-slot-port-bridge.ts` (the toolbar/sidebar/
29
+ * dialog port bridges are otherwise identical; only the constants below
30
+ * differ).
31
+ */
32
+ /**
33
+ * Cap on pre-handshake queued sends. Same rationale and value as
34
+ * `HOST_TOOLBAR_PENDING_LIMIT` — overflow drops the NEWEST envelope, one
35
+ * console.warn per load.
36
+ */
37
+ export declare const HOST_DIALOG_PENDING_LIMIT = 128;
38
+ /**
39
+ * Subscribe the handshake channel and expose the page bridge. Call ONLY from
40
+ * a passing dialog-runtime guard (`activateHostDialogRuntime`) — a failing
41
+ * guard must leave zero footprint (no bridge key, no IPC listener).
42
+ */
43
+ export declare function installHostDialogPortBridge(): void;
44
+ //# sourceMappingURL=host-dialog-port.d.ts.map
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Preload side of the host-dialog gated narrow channel.
3
+ *
4
+ * ── PUBLIC SURFACE EVOLUTION RULE ───────────────────────────────────────────
5
+ * `window.diminaHostDialog` is a published page-facing API, typed by the
6
+ * exported `DiminaHostDialogPageBridge` (src/main/runtime/miniapp-runtime.ts)
7
+ * — arbitrary host dialog pages compile against it. Members may only be
8
+ * ADDED, never changed: any semantic change to an existing member (signature,
9
+ * return shape, queueing/throw behavior) ships under a NEW name instead.
10
+ * Exception: security fixes / compliance corrections may change existing
11
+ * member semantics, and MUST be called out in the release's version notes.
12
+ * Keep the exported bridge type in lockstep with what is exposed here.
13
+ *
14
+ * Receives the per-load MessagePort main transfers on `did-finish-load`
15
+ * (`ViewChannel.HostDialogPort`, `event.ports[0]`) and bridges it to the page
16
+ * as `window.diminaHostDialog` — EXACTLY `{ send, onMessage }`, functions
17
+ * only. The raw MessagePort never crosses into the main world: the page only
18
+ * ever talks through these two functions, so the `{ channel, payload }`
19
+ * envelope stays the single waist (same posture as the main side's
20
+ * host-dialog-port-channel.ts).
21
+ *
22
+ * Ordering reality this module absorbs — identical to the toolbar's port
23
+ * bridge (see host-toolbar-port.ts for the full rationale): pre-handshake
24
+ * sends queue and bounded-drop, handlers register before the port exists and
25
+ * re-attach across same-load re-handshakes, inbound dispatch drops malformed
26
+ * envelopes without throwing.
27
+ *
28
+ * Shared implementation: see `host-slot-port-bridge.ts` (the toolbar/sidebar/
29
+ * dialog port bridges are otherwise identical; only the constants below
30
+ * differ).
31
+ */
32
+ import { ViewChannel } from '../../shared/ipc-channels-overlays.js';
33
+ import { createHostSlotPortBridge } from './host-slot-port-bridge.js';
34
+ /**
35
+ * Cap on pre-handshake queued sends. Same rationale and value as
36
+ * `HOST_TOOLBAR_PENDING_LIMIT` — overflow drops the NEWEST envelope, one
37
+ * console.warn per load.
38
+ */
39
+ export const HOST_DIALOG_PENDING_LIMIT = 128;
40
+ /**
41
+ * Subscribe the handshake channel and expose the page bridge. Call ONLY from
42
+ * a passing dialog-runtime guard (`activateHostDialogRuntime`) — a failing
43
+ * guard must leave zero footprint (no bridge key, no IPC listener).
44
+ */
45
+ export function installHostDialogPortBridge() {
46
+ createHostSlotPortBridge({
47
+ bridgeKey: 'diminaHostDialog',
48
+ channel: ViewChannel.HostDialogPort,
49
+ pendingLimit: HOST_DIALOG_PENDING_LIMIT,
50
+ label: 'host-dialog',
51
+ });
52
+ }
53
+ //# sourceMappingURL=host-dialog-port.js.map
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Session-resident host-dialog framework runtime: GUARD + ACTIVATION.
3
+ *
4
+ * Same registration and guard shape as host-toolbar-runtime.ts (see that
5
+ * module for the full rationale): registered once per process on
6
+ * `session.defaultSession`, so it runs in EVERY defaultSession renderer;
7
+ * this guard keeps it inert everywhere except the host-dialog WCV's main
8
+ * frame, identified by `HOST_DIALOG_RUNTIME_MARKER` in that process' argv.
9
+ */
10
+ /**
11
+ * Pure guard predicate: should the dialog runtime activate in a renderer with
12
+ * this `argv` / `isMainFrame`? True only for the MAIN frame of a process whose
13
+ * argv carries the `'--dimina-host-dialog'` marker.
14
+ */
15
+ export declare function shouldActivateHostDialogRuntime(argv: readonly string[], isMainFrame: boolean): boolean;
16
+ /**
17
+ * Run the guard; only when it passes, install the dual-axis size advertiser
18
+ * (`installHostDialogAdvertiserWhenReady`) and the narrow-channel page
19
+ * bridge (`installHostDialogPortBridge` — `window.diminaHostDialog` +
20
+ * the MessagePort handshake listener). Returns whether the runtime
21
+ * activated. A failed guard installs NOTHING (zero footprint in non-dialog
22
+ * windows and subframes: no advertiser, no bridge key, no IPC listener).
23
+ */
24
+ export declare function activateHostDialogRuntime(env: {
25
+ argv: readonly string[];
26
+ isMainFrame: boolean;
27
+ }): boolean;
28
+ //# sourceMappingURL=host-dialog-runtime.d.ts.map
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Session-resident host-dialog framework runtime: GUARD + ACTIVATION.
3
+ *
4
+ * Same registration and guard shape as host-toolbar-runtime.ts (see that
5
+ * module for the full rationale): registered once per process on
6
+ * `session.defaultSession`, so it runs in EVERY defaultSession renderer;
7
+ * this guard keeps it inert everywhere except the host-dialog WCV's main
8
+ * frame, identified by `HOST_DIALOG_RUNTIME_MARKER` in that process' argv.
9
+ */
10
+ import { HOST_DIALOG_RUNTIME_MARKER } from '../../shared/constants.js';
11
+ import { installHostDialogAdvertiserWhenReady } from './host-dialog-advertiser.js';
12
+ import { installHostDialogPortBridge } from './host-dialog-port.js';
13
+ /**
14
+ * Pure guard predicate: should the dialog runtime activate in a renderer with
15
+ * this `argv` / `isMainFrame`? True only for the MAIN frame of a process whose
16
+ * argv carries the `'--dimina-host-dialog'` marker.
17
+ */
18
+ export function shouldActivateHostDialogRuntime(argv, isMainFrame) {
19
+ return isMainFrame && argv.includes(HOST_DIALOG_RUNTIME_MARKER);
20
+ }
21
+ /**
22
+ * Run the guard; only when it passes, install the dual-axis size advertiser
23
+ * (`installHostDialogAdvertiserWhenReady`) and the narrow-channel page
24
+ * bridge (`installHostDialogPortBridge` — `window.diminaHostDialog` +
25
+ * the MessagePort handshake listener). Returns whether the runtime
26
+ * activated. A failed guard installs NOTHING (zero footprint in non-dialog
27
+ * windows and subframes: no advertiser, no bridge key, no IPC listener).
28
+ */
29
+ export function activateHostDialogRuntime(env) {
30
+ if (!shouldActivateHostDialogRuntime(env.argv, env.isMainFrame))
31
+ return false;
32
+ installHostDialogAdvertiserWhenReady();
33
+ installHostDialogPortBridge();
34
+ return true;
35
+ }
36
+ //# sourceMappingURL=host-dialog-runtime.js.map
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Reverse size-advertiser preload for the host-controllable sidebar
3
+ * WebContentsView. Runs in that WCV's OWN renderer (the sidebar content's
4
+ * preload), measures the sidebar's intrinsic inline (width) extent and sends it
5
+ * to the main process. Main pushes the value back to the main-window renderer as
6
+ * `HostSidebarWidthChanged`, which resizes the sidebar placeholder, re-measures
7
+ * the forward anchor, and re-overlays this WCV — closing the dynamic-width loop
8
+ * (see `@dimina-kit/view-anchor` `createSizeAdvertiser`).
9
+ */
10
+ /**
11
+ * Attach the advertiser to the sidebar content's shrink-to-fit root
12
+ * (`[data-host-sidebar-root]`), waiting for it if necessary — the root may be
13
+ * mounted asynchronously by a framework (e.g. React) rather than present in
14
+ * the initial HTML. That element MUST be shrink-to-fit on the inline axis —
15
+ * its width must reflect the content, not the host-applied view width, or the
16
+ * cross-process loop never converges (`createSizeAdvertiser`'s footgun).
17
+ */
18
+ export declare function installHostSidebarAdvertiserWhenReady(): void;
19
+ //# sourceMappingURL=host-sidebar-advertiser.d.ts.map
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Reverse size-advertiser preload for the host-controllable sidebar
3
+ * WebContentsView. Runs in that WCV's OWN renderer (the sidebar content's
4
+ * preload), measures the sidebar's intrinsic inline (width) extent and sends it
5
+ * to the main process. Main pushes the value back to the main-window renderer as
6
+ * `HostSidebarWidthChanged`, which resizes the sidebar placeholder, re-measures
7
+ * the forward anchor, and re-overlays this WCV — closing the dynamic-width loop
8
+ * (see `@dimina-kit/view-anchor` `createSizeAdvertiser`).
9
+ */
10
+ import { ipcRenderer } from 'electron';
11
+ import { createSizeAdvertiser } from '@dimina-kit/view-anchor';
12
+ import { ViewChannel } from '../../shared/ipc-channels-overlays.js';
13
+ import { whenSlotRootReady } from './wait-for-slot-root.js';
14
+ /**
15
+ * Attach the advertiser to the sidebar content's shrink-to-fit root
16
+ * (`[data-host-sidebar-root]`), waiting for it if necessary — the root may be
17
+ * mounted asynchronously by a framework (e.g. React) rather than present in
18
+ * the initial HTML. That element MUST be shrink-to-fit on the inline axis —
19
+ * its width must reflect the content, not the host-applied view width, or the
20
+ * cross-process loop never converges (`createSizeAdvertiser`'s footgun).
21
+ */
22
+ export function installHostSidebarAdvertiserWhenReady() {
23
+ whenSlotRootReady('[data-host-sidebar-root]', '[host-sidebar-advertiser] no `[data-host-sidebar-root]` element found — ' +
24
+ 'not advertising a width yet. The sidebar content must wrap itself in a ' +
25
+ 'shrink-to-fit `[data-host-sidebar-root]` element so its inline size is ' +
26
+ 'the content width, not the host-given view size.', (root) => {
27
+ createSizeAdvertiser(root, {
28
+ axis: 'inline',
29
+ publish: (size) => {
30
+ ipcRenderer.send(ViewChannel.HostSidebarAdvertiseWidth, size);
31
+ },
32
+ });
33
+ });
34
+ }
35
+ //# sourceMappingURL=host-sidebar-advertiser.js.map
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Preload side of the host-sidebar gated narrow channel.
3
+ *
4
+ * ── PUBLIC SURFACE EVOLUTION RULE ───────────────────────────────────────────
5
+ * `window.diminaHostSidebar` is a published page-facing API, typed by the
6
+ * exported `DiminaHostSidebarPageBridge` (src/main/runtime/miniapp-runtime.ts)
7
+ * — arbitrary host sidebar pages compile against it. Members may only be
8
+ * ADDED, never changed: any semantic change to an existing member (signature,
9
+ * return shape, queueing/throw behavior) ships under a NEW name instead.
10
+ * Exception: security fixes / compliance corrections may change existing
11
+ * member semantics, and MUST be called out in the release's version notes.
12
+ * Keep the exported bridge type in lockstep with what is exposed here.
13
+ *
14
+ * Receives the per-load MessagePort main transfers on `did-finish-load`
15
+ * (`ViewChannel.HostSidebarPort`, `event.ports[0]`) and bridges it to the page
16
+ * as `window.diminaHostSidebar` — EXACTLY `{ send, onMessage }`, functions
17
+ * only. The raw MessagePort never crosses into the main world: the page only
18
+ * ever talks through these two functions, so the `{ channel, payload }`
19
+ * envelope stays the single waist (same posture as the main side's
20
+ * host-sidebar-port-channel.ts).
21
+ *
22
+ * Ordering reality this module absorbs — identical to the toolbar's port
23
+ * bridge (see host-toolbar-port.ts for the full rationale): pre-handshake
24
+ * sends queue and bounded-drop, handlers register before the port exists and
25
+ * re-attach across same-load re-handshakes, inbound dispatch drops malformed
26
+ * envelopes without throwing.
27
+ *
28
+ * Shared implementation: see `host-slot-port-bridge.ts` (the toolbar/sidebar/
29
+ * dialog port bridges are otherwise identical; only the constants below
30
+ * differ).
31
+ */
32
+ /**
33
+ * Cap on pre-handshake queued sends. Same rationale and value as
34
+ * `HOST_TOOLBAR_PENDING_LIMIT` — overflow drops the NEWEST envelope, one
35
+ * console.warn per load.
36
+ */
37
+ export declare const HOST_SIDEBAR_PENDING_LIMIT = 128;
38
+ /**
39
+ * Subscribe the handshake channel and expose the page bridge. Call ONLY from
40
+ * a passing sidebar-runtime guard (`activateHostSidebarRuntime`) — a failing
41
+ * guard must leave zero footprint (no bridge key, no IPC listener).
42
+ */
43
+ export declare function installHostSidebarPortBridge(): void;
44
+ //# sourceMappingURL=host-sidebar-port.d.ts.map
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Preload side of the host-sidebar gated narrow channel.
3
+ *
4
+ * ── PUBLIC SURFACE EVOLUTION RULE ───────────────────────────────────────────
5
+ * `window.diminaHostSidebar` is a published page-facing API, typed by the
6
+ * exported `DiminaHostSidebarPageBridge` (src/main/runtime/miniapp-runtime.ts)
7
+ * — arbitrary host sidebar pages compile against it. Members may only be
8
+ * ADDED, never changed: any semantic change to an existing member (signature,
9
+ * return shape, queueing/throw behavior) ships under a NEW name instead.
10
+ * Exception: security fixes / compliance corrections may change existing
11
+ * member semantics, and MUST be called out in the release's version notes.
12
+ * Keep the exported bridge type in lockstep with what is exposed here.
13
+ *
14
+ * Receives the per-load MessagePort main transfers on `did-finish-load`
15
+ * (`ViewChannel.HostSidebarPort`, `event.ports[0]`) and bridges it to the page
16
+ * as `window.diminaHostSidebar` — EXACTLY `{ send, onMessage }`, functions
17
+ * only. The raw MessagePort never crosses into the main world: the page only
18
+ * ever talks through these two functions, so the `{ channel, payload }`
19
+ * envelope stays the single waist (same posture as the main side's
20
+ * host-sidebar-port-channel.ts).
21
+ *
22
+ * Ordering reality this module absorbs — identical to the toolbar's port
23
+ * bridge (see host-toolbar-port.ts for the full rationale): pre-handshake
24
+ * sends queue and bounded-drop, handlers register before the port exists and
25
+ * re-attach across same-load re-handshakes, inbound dispatch drops malformed
26
+ * envelopes without throwing.
27
+ *
28
+ * Shared implementation: see `host-slot-port-bridge.ts` (the toolbar/sidebar/
29
+ * dialog port bridges are otherwise identical; only the constants below
30
+ * differ).
31
+ */
32
+ import { ViewChannel } from '../../shared/ipc-channels-overlays.js';
33
+ import { createHostSlotPortBridge } from './host-slot-port-bridge.js';
34
+ /**
35
+ * Cap on pre-handshake queued sends. Same rationale and value as
36
+ * `HOST_TOOLBAR_PENDING_LIMIT` — overflow drops the NEWEST envelope, one
37
+ * console.warn per load.
38
+ */
39
+ export const HOST_SIDEBAR_PENDING_LIMIT = 128;
40
+ /**
41
+ * Subscribe the handshake channel and expose the page bridge. Call ONLY from
42
+ * a passing sidebar-runtime guard (`activateHostSidebarRuntime`) — a failing
43
+ * guard must leave zero footprint (no bridge key, no IPC listener).
44
+ */
45
+ export function installHostSidebarPortBridge() {
46
+ createHostSlotPortBridge({
47
+ bridgeKey: 'diminaHostSidebar',
48
+ channel: ViewChannel.HostSidebarPort,
49
+ pendingLimit: HOST_SIDEBAR_PENDING_LIMIT,
50
+ label: 'host-sidebar',
51
+ });
52
+ }
53
+ //# sourceMappingURL=host-sidebar-port.js.map
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Session-resident host-sidebar framework runtime: GUARD + ACTIVATION.
3
+ *
4
+ * Same registration and guard shape as host-toolbar-runtime.ts (see that
5
+ * module for the full rationale): registered once per process on
6
+ * `session.defaultSession`, so it runs in EVERY defaultSession renderer;
7
+ * this guard keeps it inert everywhere except the host-sidebar WCV's main
8
+ * frame, identified by `HOST_SIDEBAR_RUNTIME_MARKER` in that process' argv.
9
+ */
10
+ /**
11
+ * Pure guard predicate: should the sidebar runtime activate in a renderer with
12
+ * this `argv` / `isMainFrame`? True only for the MAIN frame of a process whose
13
+ * argv carries the `'--dimina-host-sidebar'` marker.
14
+ */
15
+ export declare function shouldActivateHostSidebarRuntime(argv: readonly string[], isMainFrame: boolean): boolean;
16
+ /**
17
+ * Run the guard; only when it passes, install the width advertiser
18
+ * (`installHostSidebarAdvertiserWhenReady`) and the narrow-channel page
19
+ * bridge (`installHostSidebarPortBridge` — `window.diminaHostSidebar` +
20
+ * the MessagePort handshake listener). Returns whether the runtime
21
+ * activated. A failed guard installs NOTHING (zero footprint in non-sidebar
22
+ * windows and subframes: no advertiser, no bridge key, no IPC listener).
23
+ */
24
+ export declare function activateHostSidebarRuntime(env: {
25
+ argv: readonly string[];
26
+ isMainFrame: boolean;
27
+ }): boolean;
28
+ //# sourceMappingURL=host-sidebar-runtime.d.ts.map
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Session-resident host-sidebar framework runtime: GUARD + ACTIVATION.
3
+ *
4
+ * Same registration and guard shape as host-toolbar-runtime.ts (see that
5
+ * module for the full rationale): registered once per process on
6
+ * `session.defaultSession`, so it runs in EVERY defaultSession renderer;
7
+ * this guard keeps it inert everywhere except the host-sidebar WCV's main
8
+ * frame, identified by `HOST_SIDEBAR_RUNTIME_MARKER` in that process' argv.
9
+ */
10
+ import { HOST_SIDEBAR_RUNTIME_MARKER } from '../../shared/constants.js';
11
+ import { installHostSidebarAdvertiserWhenReady } from './host-sidebar-advertiser.js';
12
+ import { installHostSidebarPortBridge } from './host-sidebar-port.js';
13
+ /**
14
+ * Pure guard predicate: should the sidebar runtime activate in a renderer with
15
+ * this `argv` / `isMainFrame`? True only for the MAIN frame of a process whose
16
+ * argv carries the `'--dimina-host-sidebar'` marker.
17
+ */
18
+ export function shouldActivateHostSidebarRuntime(argv, isMainFrame) {
19
+ return isMainFrame && argv.includes(HOST_SIDEBAR_RUNTIME_MARKER);
20
+ }
21
+ /**
22
+ * Run the guard; only when it passes, install the width advertiser
23
+ * (`installHostSidebarAdvertiserWhenReady`) and the narrow-channel page
24
+ * bridge (`installHostSidebarPortBridge` — `window.diminaHostSidebar` +
25
+ * the MessagePort handshake listener). Returns whether the runtime
26
+ * activated. A failed guard installs NOTHING (zero footprint in non-sidebar
27
+ * windows and subframes: no advertiser, no bridge key, no IPC listener).
28
+ */
29
+ export function activateHostSidebarRuntime(env) {
30
+ if (!shouldActivateHostSidebarRuntime(env.argv, env.isMainFrame))
31
+ return false;
32
+ installHostSidebarAdvertiserWhenReady();
33
+ installHostSidebarPortBridge();
34
+ return true;
35
+ }
36
+ //# sourceMappingURL=host-sidebar-runtime.js.map
@@ -0,0 +1,18 @@
1
+ export interface HostSlotPortBridgeOptions {
2
+ /** contextBridge key the page-facing API is exposed under, e.g. 'diminaHostToolbar'. */
3
+ bridgeKey: string;
4
+ /** main → renderer per-load handshake channel, e.g. ViewChannel.HostToolbarPort. */
5
+ channel: string;
6
+ /** Cap on pre-handshake queued sends; overflow drops the NEWEST envelope. */
7
+ pendingLimit: number;
8
+ /** Slot label used in the overflow console.warn, e.g. 'host-toolbar'. */
9
+ label: string;
10
+ }
11
+ /**
12
+ * Subscribe the handshake channel and expose the page bridge. Call ONLY from
13
+ * a passing per-slot runtime guard — a failing guard must leave zero
14
+ * footprint (no bridge key, no IPC listener), so this factory itself does no
15
+ * guard checking; the caller decides whether to call it at all.
16
+ */
17
+ export declare function createHostSlotPortBridge(opts: HostSlotPortBridgeOptions): void;
18
+ //# sourceMappingURL=host-slot-port-bridge.d.ts.map