@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
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Synthesize Chrome DevTools Protocol `Network.request*`/`Network.loading*`
3
+ * messages from the main-process HTTP request trace stream (see
4
+ * electron-runtime `native-request/trace.ts`).
5
+ *
6
+ * Why this exists: `wx.request` runs on Node http/https in the MAIN process
7
+ * (see native-request's design notes — this replaced a renderer `fetch()`
8
+ * specifically to stop Chromium's Fetch/CORS algorithm from attaching a
9
+ * spurious OPTIONS preflight to it) — no `webContents.debugger` can observe
10
+ * it, so the embedded DevTools Network tab would otherwise show nothing for
11
+ * every wx.request call. The trace stream gives one ordered fact per
12
+ * lifecycle moment; this module re-shapes each fact into the CDP events the
13
+ * front-end already renders natively for an XHR-classified resource
14
+ * (`requestWillBeSent` creates the row, `responseReceived` fills in
15
+ * status/headers, `loadingFinished`/`loadingFailed` settles it).
16
+ *
17
+ * Ordering contract this module relies on (guaranteed by the trace layer):
18
+ * `sent` strictly precedes every other event for its requestId, and exactly
19
+ * one of `loadingFinished`/`loadingFailed` terminates each sent request. The
20
+ * front-end silently drops loading events for an unknown requestId, so this
21
+ * module mirrors that discipline defensively: any non-`sent` event for an
22
+ * unknown requestId is dropped rather than synthesized.
23
+ *
24
+ * Pure and self-contained (no Electron imports) so it is unit-testable.
25
+ */
26
+ import { NATIVE_HTTP_REQUEST_ID_PREFIX } from "./request-ids.js";
27
+ import { isUserFacingRequest } from "./user-facing.js";
28
+ /** CDP `Network.ResourceType` this forwarder classifies every wx.request
29
+ * call as — the same bucket the real front-end uses for `XMLHttpRequest`/
30
+ * `fetch()` business calls, so it renders with the matching icon/filter. */
31
+ const RESOURCE_TYPE = "XHR";
32
+ export class RequestTraceSynthesizer {
33
+ options;
34
+ requests = new Map();
35
+ seq = 0;
36
+ constructor(options) {
37
+ this.options = options;
38
+ }
39
+ /**
40
+ * Map one trace event to its CDP message, or null when the event must be
41
+ * dropped (a non-`sent` event for a requestId this synthesizer never saw
42
+ * sent — defensive against out-of-order delivery).
43
+ */
44
+ synthesize(sessionId, event) {
45
+ const key = `${sessionId} ${event.requestId}`;
46
+ if (event.type === "sent" || event.type === "redirect") {
47
+ return this.synthesizeRequest(key, event);
48
+ }
49
+ const state = this.requests.get(key);
50
+ if (!state)
51
+ return null;
52
+ const { requestId, userFacing } = state;
53
+ const timestamp = event.time / 1000;
54
+ switch (event.type) {
55
+ case "response":
56
+ return {
57
+ method: "Network.responseReceived",
58
+ params: {
59
+ requestId,
60
+ loaderId: requestId,
61
+ timestamp,
62
+ type: RESOURCE_TYPE,
63
+ response: {
64
+ url: state.url,
65
+ status: event.status,
66
+ statusText: event.statusText,
67
+ headers: event.headers,
68
+ // Chromium uses these together to replace provisional headers
69
+ // and expose the verbatim source. ExtraInfo has no raw request
70
+ // text and would override this response snapshot in the frontend.
71
+ ...(event.requestHeaders && event.requestHeadersText ? {
72
+ requestHeaders: event.requestHeaders,
73
+ requestHeadersText: event.requestHeadersText,
74
+ } : {}),
75
+ mimeType: mimeTypeOf(event.headers),
76
+ connectionReused: false,
77
+ connectionId: 0,
78
+ encodedDataLength: 0,
79
+ fromDiskCache: false,
80
+ fromServiceWorker: false,
81
+ },
82
+ },
83
+ userFacing,
84
+ };
85
+ case "finished":
86
+ // Terminal: release the id mapping so a long-lived owner can't grow it.
87
+ this.requests.delete(key);
88
+ return {
89
+ method: "Network.loadingFinished",
90
+ params: {
91
+ requestId,
92
+ timestamp,
93
+ encodedDataLength: event.encodedDataLength,
94
+ },
95
+ userFacing,
96
+ ...(event.body !== undefined ? { body: { base64Encoded: event.bodyBase64Encoded, body: event.body } } : {}),
97
+ };
98
+ case "failed":
99
+ this.requests.delete(key);
100
+ return {
101
+ method: "Network.loadingFailed",
102
+ params: {
103
+ requestId,
104
+ timestamp,
105
+ type: RESOURCE_TYPE,
106
+ errorText: event.errorText,
107
+ },
108
+ userFacing,
109
+ };
110
+ }
111
+ }
112
+ synthesizeRequest(key, event) {
113
+ const previous = this.requests.get(key);
114
+ if (event.type === "redirect" && !previous)
115
+ return null;
116
+ const requestId = event.type === "redirect" ? previous.requestId
117
+ : `${NATIVE_HTTP_REQUEST_ID_PREFIX}${this.options.epoch}:${this.seq++}`;
118
+ const userFacing = event.type === "redirect" ? previous.userFacing : isUserFacingRequest(event.url, this.options.internalOrigins?.());
119
+ this.requests.set(key, { requestId, url: event.url, userFacing });
120
+ const timestamp = event.time / 1000;
121
+ const hasPostData = event.hasPostData ?? event.postData !== undefined;
122
+ const message = {
123
+ method: "Network.requestWillBeSent",
124
+ params: {
125
+ requestId,
126
+ loaderId: requestId,
127
+ documentURL: event.url,
128
+ request: {
129
+ url: event.url,
130
+ method: event.method,
131
+ headers: event.headers,
132
+ hasPostData,
133
+ ...(hasPostData ? { postData: event.postData } : {}),
134
+ },
135
+ timestamp,
136
+ wallTime: timestamp,
137
+ initiator: { type: "script" },
138
+ type: RESOURCE_TYPE,
139
+ ...(event.type === "redirect" ? { redirectResponse: {
140
+ ...event.redirectResponse,
141
+ mimeType: mimeTypeOf(event.redirectResponse.headers),
142
+ connectionReused: false, connectionId: 0, encodedDataLength: 0,
143
+ } } : {}),
144
+ },
145
+ userFacing,
146
+ };
147
+ if (hasPostData)
148
+ message.postData = event.postData;
149
+ return message;
150
+ }
151
+ }
152
+ /** `Content-Type: application/json; charset=utf-8` → `application/json`. Case
153
+ * -insensitive header lookup, matching HTTP semantics. */
154
+ function mimeTypeOf(headers) {
155
+ for (const [name, value] of Object.entries(headers)) {
156
+ if (name.toLowerCase() !== "content-type")
157
+ continue;
158
+ return value.split(";")[0]?.trim() ?? "";
159
+ }
160
+ return "";
161
+ }
162
+ //# sourceMappingURL=http.js.map
@@ -49,23 +49,57 @@
49
49
  * ✅ Forwarded to the native Network tab: requestWillBeSent, responseReceived,
50
50
  * loadingFinished, loadingFailed (+ requestWillBeSentExtraInfo /
51
51
  * responseReceivedExtraInfo when present, for accurate headers/status).
52
- * TODO (二期): `dataReceived` per-chunk forwarding (skipped to avoid an
53
- * executeJavaScript per chunk), and response body / preview (needs hooking
54
- * `InspectorFrontendHost.sendMessageToBackend` + a prefetched body cache so
55
- * the front-end's `Network.getResponseBody` round-trip resolves).
56
- * ⚠️ NOT captured here: requests issued from inside a render-host `<webview>`
57
- * guest (page-level resource loads / page `fetch`). The safe-area service
58
- * already owns each guest's `wc.debugger`, and `debugger.attach` is
59
- * single-owner bringing those in needs a shared CDP broker. `source:'render'`
60
- * is reserved for when that's added (later).
61
- * ⚠️ NOT observable by any `webContents.debugger`: a request a host module issues
62
- * directly from the MAIN process. Those need an explicit `report()` call
63
- * (exposed below; it uses the console fallback path).
52
+ * Response body / preview and request post data: prefetched from the
53
+ * simulator's CDP session at loadingFinished into a bounded cache keyed by
54
+ * the VIRTUAL id (`bodies`, see NetworkBodyProvider). The front-end's
55
+ * `Network.getResponseBody` / `Network.getRequestPostData` round-trips for
56
+ * `dimina:sim:` ids are intercepted by the outbound CDP gate that
57
+ * elements-forward installs on `InspectorFrontendHost.sendMessageToBackend`
58
+ * and answered from that cache the service-host backend the front-end
59
+ * natively talks to has never heard of these ids.
60
+ * TODO: `dataReceived` per-chunk forwarding (skipped to avoid an
61
+ * executeJavaScript per chunk).
62
+ * Requests issued from inside a render-host `<webview>` guest (page-level
63
+ * resource loads / page `fetch`, tagged `source: 'render'`) — `attachRenderGuest`
64
+ * acquires a lease from the shared `CdpSessionBroker` (cdp-session/index.ts),
65
+ * which is single owner of every render-guest `wc.debugger` session across
66
+ * this forwarder, safe-area, elements-forward and render-inspect. An
67
+ * external detach (another owner releasing the shared session, or a real
68
+ * Chrome DevTools window) self-heals via the lease's `onDetach` — capture
69
+ * re-wires itself even though `attachRenderGuest` is only ever called ONCE
70
+ * per guest (at webview creation).
71
+ * ⚠️ NOT observable by any `webContents.debugger`: traffic a host module issues
72
+ * directly from the MAIN process. Plain requests need an explicit `report()`
73
+ * call (console fallback path); `wx.connectSocket` sockets (Node `ws`
74
+ * transport) arrive as trace events via `reportWebSocketTrace` and are
75
+ * synthesized into `Network.webSocket*` CDP messages (see websocket.ts).
64
76
  */
65
- import type { WebContents } from 'electron';
66
- import { type ConnectionRegistry, type Disposable } from '@dimina-kit/electron-deck/main';
77
+ import type { WebContents } from "electron";
78
+ import { type ConnectionRegistry, type Disposable } from "@dimina-kit/electron-deck/main";
79
+ import { type CdpSessionBroker } from "../cdp-session/index.js";
80
+ import type { NativeRequestTrace, NativeWebSocketTrace } from "../../ipc/bridge-router.js";
81
+ export { VIRTUAL_REQUEST_ID_PREFIX } from "./request-ids.js";
82
+ /** CDP `Network.getResponseBody` result shape (served from the prefetch cache). */
83
+ export interface CdpResponseBody {
84
+ body: string;
85
+ base64Encoded: boolean;
86
+ }
87
+ /**
88
+ * Answers the front-end's body/post-data lookups for virtual requestIds. The
89
+ * outbound CDP gate (elements-forward) consumes this: it intercepts the
90
+ * front-end's `Network.getResponseBody` / `Network.getRequestPostData` for
91
+ * `dimina:sim:` ids (the service-host backend has never heard of them) and
92
+ * replies from here instead. Rejections carry the same not-found message a
93
+ * real CDP backend produces for an unknown requestId.
94
+ */
95
+ export interface NetworkBodyProvider {
96
+ getResponseBody(requestId: string): Promise<CdpResponseBody>;
97
+ getRequestPostData(requestId: string): Promise<{
98
+ postData: string;
99
+ }>;
100
+ }
67
101
  /** Which layer a captured request came from (tags the fallback log line). */
68
- export type NetworkSource = 'service' | 'render';
102
+ export type NetworkSource = "service" | "render";
69
103
  /** A normalized completed network request, used only by the console fallback. */
70
104
  export interface NetworkRequestRecord {
71
105
  source: NetworkSource;
@@ -90,6 +124,26 @@ export interface NetworkForwarderBridge {
90
124
  * `setDevtoolsHost`. Null until the DevTools host view exists.
91
125
  */
92
126
  getDevtoolsWc?(): WebContents | null;
127
+ /**
128
+ * The dimina resource server's baseUrl (e.g. `'http://127.0.0.1:54321/'`),
129
+ * when running — consulted by `isUserFacingRequest` so the framework
130
+ * bundle it serves is classified as host-internal, not business traffic.
131
+ * Absent → that origin check is simply skipped (the scheme rule alone
132
+ * still filters out file:// / difile:// / devtools:// framework loads).
133
+ */
134
+ getResourceServerBaseUrl?(): string | null;
135
+ /**
136
+ * The simulator's own static-asset server baseUrl (serves `simulator.html`
137
+ * + its JS/CSS — a devkit-owned server, independent from the resource
138
+ * server above, on its own dynamically-assigned port), when a project is
139
+ * open — consulted by `isUserFacingRequest` alongside
140
+ * `getResourceServerBaseUrl` so the simulator SHELL's own asset loading
141
+ * (captured because `attachSimulator` CDP-observes that whole
142
+ * WebContentsView, not just the mini-app's own `wx.request` calls) isn't
143
+ * misclassified as the developer's business traffic. Absent → that origin
144
+ * check is simply skipped.
145
+ */
146
+ getSimulatorServerBaseUrl?(): string | null;
93
147
  /**
94
148
  * Optional connection-layer registry (`@dimina-kit/electron-deck/main`). When
95
149
  * present, per-webContents teardowns route through `acquire(wc).own(d)` so the
@@ -98,6 +152,18 @@ export interface NetworkForwarderBridge {
98
152
  * `once('destroyed')` fallback is used, so existing callers compile unchanged.
99
153
  */
100
154
  connections?: ConnectionRegistry;
155
+ /**
156
+ * Shared CDP session broker (see cdp-session/index.ts) that owns every
157
+ * render-guest AND simulator debugger session's attach/detach lifecycle —
158
+ * safe-area, elements-forward, render-inspect and simulator-storage acquire
159
+ * leases from the same instance. Absent → a private broker is created and
160
+ * owned for this forwarder's lifetime (torn down on `dispose()`), so
161
+ * existing standalone callers/tests compile and behave unchanged, just
162
+ * without cross-module session sharing. Both `attachRenderGuest` and
163
+ * `attachSimulator` go through it — see detachSimulator's docstring for why
164
+ * the simulator path never forces a physical detach either.
165
+ */
166
+ broker?: CdpSessionBroker;
101
167
  }
102
168
  export interface NetworkForwarder extends Disposable {
103
169
  /**
@@ -109,17 +175,71 @@ export interface NetworkForwarder extends Disposable {
109
175
  attachSimulator(wc: WebContents): void;
110
176
  /** Detach from the current simulator WCV (without disposing the forwarder). */
111
177
  detachSimulator(): void;
178
+ /**
179
+ * Wire a render-host guest wc (pageFrame) for Network capture — page-level
180
+ * resource loads (images/fonts/page fetch) that never touch the simulator's
181
+ * network stack. Idempotent per wc. Acquires a lease from the shared
182
+ * `CdpSessionBroker` (cdp-session/index.ts) — reuses an already-attached
183
+ * session (safe-area / elements-forward / render-inspect may have attached
184
+ * first) or self-attaches when no one has; the broker alone decides who may
185
+ * detach. Self-heals after an external detach (the lease's `onDetach`
186
+ * re-wires automatically) even though this is only ever called ONCE per
187
+ * guest, at webview creation. Events share the simulator capture's
188
+ * virtual-id namespace prefix (distinct epochs keep them collision-free) and
189
+ * the same body prefetch cache.
190
+ */
191
+ attachRenderGuest(wc: WebContents): void;
112
192
  /**
113
193
  * Point the forwarder at the WebContents hosting the DevTools FRONT-END (the
114
194
  * primary, native-Network-tab sink). Pass null when that view is torn down so
115
195
  * we fall back to the console line. Re-callable across DevTools re-creates.
116
196
  */
117
197
  setDevtoolsHost(wc: WebContents | null): void;
198
+ /**
199
+ * Point the forwarder at the WebContents hosting the standalone internal
200
+ * (app-wide) DevTools window's front-end — the global mirror sink.
201
+ * Unlike `setDevtoolsHost` (the user-facing sink), this has NO probing/
202
+ * ready/degraded state machine and NO console fallback: every
203
+ * FORWARDED_METHODS event is mirrored here raw and UNFILTERED (no
204
+ * `isUserFacingRequest` gating) whenever a host is set, best-effort (a
205
+ * failed dispatch is silently dropped — nobody depends on this path having
206
+ * a fallback). Pass null when the window closes.
207
+ */
208
+ setGlobalDevtoolsHost(wc: WebContents | null): void;
118
209
  /**
119
210
  * Manually surface a request that no `webContents.debugger` can observe
120
211
  * (e.g. a main-process direct send). Uses the console fallback sink.
121
212
  */
122
213
  report(record: NetworkRequestRecord): void;
214
+ /**
215
+ * Surface one main-process WebSocket trace event (wx.connectSocket traffic
216
+ * lives on the Node `ws` transport, invisible to any debugger) as a
217
+ * synthesized `Network.webSocket*` CDP event, injected through the SAME
218
+ * channels as forwarded simulator traffic: the global mirror unfiltered,
219
+ * plus the user-facing native sink when the socket's url classified
220
+ * user-facing. Best-effort like every injection point — never throws.
221
+ */
222
+ reportWebSocketTrace(sessionId: string, event: NativeWebSocketTrace): void;
223
+ /**
224
+ * Surface one main-process HTTP request trace event (wx.request traffic
225
+ * runs on Node http/https, invisible to any debugger, precisely so it
226
+ * skips Chromium's Fetch/CORS algorithm and its OPTIONS preflight) as a
227
+ * synthesized `Network.request*`/`Network.loading*` CDP event, through the
228
+ * SAME channels as forwarded simulator traffic: the global mirror
229
+ * unfiltered, plus the user-facing native sink when the request's url
230
+ * classified user-facing. `finished` primes the body cache (the response is
231
+ * already fully buffered in-process, no CDP round-trip needed); `sent`
232
+ * primes the post-data cache when the request carried a body. Best-effort
233
+ * like every injection point — never throws.
234
+ */
235
+ reportNativeRequestTrace(sessionId: string, event: NativeRequestTrace): void;
236
+ /**
237
+ * Body/post-data lookups for the virtual requestIds this forwarder injected,
238
+ * backed by the loadingFinished-time prefetch cache. Keyed by virtual id, so
239
+ * entries stay valid across detach/re-attach (each attach epoch mints
240
+ * non-colliding ids); dispose() drops them all.
241
+ */
242
+ readonly bodies: NetworkBodyProvider;
123
243
  }
124
244
  /**
125
245
  * CDP events whose `params.requestId` we rewrite into the virtual namespace.