@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
@@ -1,9 +1,11 @@
1
1
  import { app, shell } from 'electron';
2
- import { UpdateChannel } from '../../../shared/ipc-channels.js';
2
+ import { UpdateChannel } from '../../../shared/ipc-channels-overlays.js';
3
3
  import { IpcRegistry } from '../../utils/ipc-registry.js';
4
4
  export class UpdateManager {
5
5
  checker;
6
- mainWindow;
6
+ showUpdatePanel;
7
+ notifyDownloadProgress;
8
+ hideUpdatePanel;
7
9
  getCurrentVersion;
8
10
  latestUpdate = null;
9
11
  downloadedPath = null;
@@ -20,9 +22,19 @@ export class UpdateManager {
20
22
  timer = null;
21
23
  initialTimer = null;
22
24
  ipc;
25
+ /**
26
+ * Set by `dispose()`. Clearing the timers only stops FUTURE ticks — an
27
+ * in-flight `checkAndNotify()` invocation (already past its `await
28
+ * this.check()`) has no timer left to cancel it, and would otherwise call
29
+ * `showUpdatePanel` after dispose has torn down the overlay panel that
30
+ * owns (e.g. `views.disposeAll()` destroying its WebContentsView).
31
+ */
32
+ disposed = false;
23
33
  constructor(opts) {
24
34
  this.checker = opts.checker;
25
- this.mainWindow = opts.mainWindow;
35
+ this.showUpdatePanel = opts.showUpdatePanel;
36
+ this.notifyDownloadProgress = opts.notifyDownloadProgress;
37
+ this.hideUpdatePanel = opts.hideUpdatePanel;
26
38
  this.getCurrentVersion = opts.getCurrentVersion ?? (() => app.getVersion());
27
39
  this.ipc = new IpcRegistry(opts.senderPolicy);
28
40
  this.registerIpc();
@@ -32,15 +44,29 @@ export class UpdateManager {
32
44
  this.ipc
33
45
  .handle(UpdateChannel.Check, async () => this.check())
34
46
  .handle(UpdateChannel.Download, async () => this.download())
35
- .handle(UpdateChannel.Install, async () => this.install());
47
+ .handle(UpdateChannel.Install, async () => this.install())
48
+ .on(UpdateChannel.Close, () => this.hideUpdatePanel());
36
49
  }
37
50
  async check() {
38
51
  try {
39
52
  const currentVersion = this.getCurrentVersion();
40
53
  const info = await this.checker.checkForUpdates(currentVersion);
41
54
  if (info) {
55
+ // The periodic timer re-runs check() forever (see startPeriodicCheck),
56
+ // including after the user already downloaded this same update but
57
+ // before they clicked Install. Only invalidate downloadedPath when the
58
+ // update identity actually changed — unconditionally nulling it here
59
+ // would silently no-op a later install() (it's a bare `if (this.downloadedPath)`)
60
+ // for anyone who takes longer than one check interval to act. Compare
61
+ // downloadUrl too, not just version: a re-uploaded/replaced asset can
62
+ // keep the same version string under a different URL, and reusing the
63
+ // stale downloadedPath would then install bytes that were never
64
+ // actually verified against this checkForUpdates() result.
65
+ const isSameUpdate = this.latestUpdate?.version === info.version &&
66
+ this.latestUpdate?.downloadUrl === info.downloadUrl;
42
67
  this.latestUpdate = info;
43
- this.downloadedPath = null;
68
+ if (!isSameUpdate)
69
+ this.downloadedPath = null;
44
70
  return { hasUpdate: true, info };
45
71
  }
46
72
  return { hasUpdate: false };
@@ -56,7 +82,7 @@ export class UpdateManager {
56
82
  }
57
83
  try {
58
84
  const filePath = await this.checker.downloadUpdate(this.latestUpdate, (percent) => {
59
- this.mainWindow.webContents.send(UpdateChannel.DownloadProgress, { percent });
85
+ this.notifyDownloadProgress(percent);
60
86
  });
61
87
  this.downloadedPath = filePath;
62
88
  return { success: true, filePath };
@@ -66,11 +92,23 @@ export class UpdateManager {
66
92
  return { success: false, error: String(err) };
67
93
  }
68
94
  }
69
- install() {
70
- if (this.downloadedPath) {
71
- shell.openPath(this.downloadedPath);
72
- app.quit();
95
+ async install() {
96
+ if (!this.downloadedPath) {
97
+ return { success: false, error: 'No update downloaded' };
73
98
  }
99
+ // shell.openPath() resolves (never rejects) with an empty string on
100
+ // success or an error message on failure — it was previously fired
101
+ // fire-and-forget immediately followed by app.quit(), so a failure (e.g.
102
+ // no application associated with the installer) silently closed the app
103
+ // without ever launching the installer, and the renderer had no way to
104
+ // know anything went wrong.
105
+ const failure = await shell.openPath(this.downloadedPath);
106
+ if (failure) {
107
+ console.warn('[UpdateManager] install failed:', failure);
108
+ return { success: false, error: failure };
109
+ }
110
+ app.quit();
111
+ return { success: true };
74
112
  }
75
113
  /**
76
114
  * Tear down timers + IPC handlers. Returns a Promise so callers that need
@@ -79,6 +117,7 @@ export class UpdateManager {
79
117
  * the timer clears + handler removals are scheduled synchronously.
80
118
  */
81
119
  dispose() {
120
+ this.disposed = true;
82
121
  if (this.timer) {
83
122
  clearInterval(this.timer);
84
123
  this.timer = null;
@@ -95,12 +134,17 @@ export class UpdateManager {
95
134
  }
96
135
  async checkAndNotify() {
97
136
  const result = await this.check();
137
+ // dispose() only cancels the timers that SCHEDULE future ticks — a tick
138
+ // already in flight (past this await) has nothing left to cancel it, and
139
+ // must not call into a torn-down panel/registry after the fact.
140
+ if (this.disposed)
141
+ return;
98
142
  if (!result.hasUpdate || !result.info)
99
143
  return;
100
144
  if (this.hasNotified)
101
145
  return;
102
146
  this.hasNotified = true;
103
- this.mainWindow.webContents.send(UpdateChannel.Available, result.info);
147
+ this.showUpdatePanel(result.info);
104
148
  }
105
149
  }
106
150
  //# sourceMappingURL=update-manager.js.map
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Clears the right-panel Console panel's text-filter box on a FRESH project
3
+ * open, together with the stale persisted keys behind it.
4
+ *
5
+ * ── Why this exists ──────────────────────────────────────────────────────
6
+ * The Console filter text is a DevTools-owned setting that DevTools itself
7
+ * persists: it lives on the `devtools://` origin's localStorage, backed by the
8
+ * default session's on-disk storage (verified on disk:
9
+ * `~/Library/Application Support/Dimina DevTools/Local Storage/leveldb` holds a
10
+ * `console.textFilter` entry). An earlier implementation of the internal-log
11
+ * hiding wrote `-/^\[service\]/`-style negative filters straight into the box
12
+ * (see console-filter.ts's header for that history); that value still sits in
13
+ * localStorage and is restored on every project reopen / app restart. We do NOT
14
+ * fight DevTools' persistence mechanism here — instead, on each fresh project
15
+ * open we remove the stale keys and reset the visible box, so a project starts
16
+ * with the developer's own filter surface genuinely empty.
17
+ *
18
+ * ── When it runs ─────────────────────────────────────────────────────────
19
+ * Only the PROJECT-OPEN path arms this (see native-simulator-devtools-host.ts:
20
+ * `attach()` sets the flag; the injection consumes it once). Service-host pool
21
+ * swaps (hot-reload respawn) rebuild the front-end host too, but deliberately do
22
+ * NOT clear — the developer may legitimately have typed a filter during the
23
+ * session and a respawn must not drop in-flight work.
24
+ *
25
+ * ── Discipline (mirrors console-filter.ts) ────────────────────────────────
26
+ * In-realm bootstrap probe before touching `Console.ConsoleView.instance()` (an
27
+ * early construction transitively creates IssuesManager and permanently kills
28
+ * the front-end's own bootstrap — see frontend-bootstrap-gate.ts); bounded
29
+ * retry; silent degradation on any failure. The main process additionally holds
30
+ * this whole injection behind `whenFrontendBootstrapped`.
31
+ */
32
+ /**
33
+ * Build the `executeJavaScript` source that clears the Console filter box.
34
+ *
35
+ * Two levers, belt-and-suspenders:
36
+ * 1. remove the stale persisted keys (`console.textFilter` — the on-disk
37
+ * leftover we actually observed, and its kebab-case sibling) so a Console
38
+ * view constructed after this script reads an empty setting;
39
+ * 2. reset the already-constructed panel's visible box via
40
+ * `filter.textFilterUI.setValue('')`, which persists the empty value back
41
+ * through the panel's own setting path.
42
+ */
43
+ export declare function buildClearConsoleFilterScript(): string;
44
+ //# sourceMappingURL=clear-console-filter.d.ts.map
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Clears the right-panel Console panel's text-filter box on a FRESH project
3
+ * open, together with the stale persisted keys behind it.
4
+ *
5
+ * ── Why this exists ──────────────────────────────────────────────────────
6
+ * The Console filter text is a DevTools-owned setting that DevTools itself
7
+ * persists: it lives on the `devtools://` origin's localStorage, backed by the
8
+ * default session's on-disk storage (verified on disk:
9
+ * `~/Library/Application Support/Dimina DevTools/Local Storage/leveldb` holds a
10
+ * `console.textFilter` entry). An earlier implementation of the internal-log
11
+ * hiding wrote `-/^\[service\]/`-style negative filters straight into the box
12
+ * (see console-filter.ts's header for that history); that value still sits in
13
+ * localStorage and is restored on every project reopen / app restart. We do NOT
14
+ * fight DevTools' persistence mechanism here — instead, on each fresh project
15
+ * open we remove the stale keys and reset the visible box, so a project starts
16
+ * with the developer's own filter surface genuinely empty.
17
+ *
18
+ * ── When it runs ─────────────────────────────────────────────────────────
19
+ * Only the PROJECT-OPEN path arms this (see native-simulator-devtools-host.ts:
20
+ * `attach()` sets the flag; the injection consumes it once). Service-host pool
21
+ * swaps (hot-reload respawn) rebuild the front-end host too, but deliberately do
22
+ * NOT clear — the developer may legitimately have typed a filter during the
23
+ * session and a respawn must not drop in-flight work.
24
+ *
25
+ * ── Discipline (mirrors console-filter.ts) ────────────────────────────────
26
+ * In-realm bootstrap probe before touching `Console.ConsoleView.instance()` (an
27
+ * early construction transitively creates IssuesManager and permanently kills
28
+ * the front-end's own bootstrap — see frontend-bootstrap-gate.ts); bounded
29
+ * retry; silent degradation on any failure. The main process additionally holds
30
+ * this whole injection behind `whenFrontendBootstrapped`.
31
+ */
32
+ /**
33
+ * Build the `executeJavaScript` source that clears the Console filter box.
34
+ *
35
+ * Two levers, belt-and-suspenders:
36
+ * 1. remove the stale persisted keys (`console.textFilter` — the on-disk
37
+ * leftover we actually observed, and its kebab-case sibling) so a Console
38
+ * view constructed after this script reads an empty setting;
39
+ * 2. reset the already-constructed panel's visible box via
40
+ * `filter.textFilterUI.setValue('')`, which persists the empty value back
41
+ * through the panel's own setting path.
42
+ */
43
+ export function buildClearConsoleFilterScript() {
44
+ return `(function(){
45
+ var attempts = 0;
46
+ var MAX = 100;
47
+ function bootstrapReady() {
48
+ try {
49
+ var eui = globalThis.EUI;
50
+ if (!eui || !eui.ShortcutRegistry || !eui.ShortcutRegistry.ShortcutRegistry) return false;
51
+ eui.ShortcutRegistry.ShortcutRegistry.instance();
52
+ return true;
53
+ } catch (_) { return false; }
54
+ }
55
+ function tryClear() {
56
+ attempts++;
57
+ var scheduleRetry = attempts < MAX;
58
+ if (!bootstrapReady()) {
59
+ if (scheduleRetry) { setTimeout(tryClear, 100); return; }
60
+ return;
61
+ }
62
+ try {
63
+ try { localStorage.removeItem('console.textFilter'); } catch(_) {}
64
+ try { localStorage.removeItem('console.text-filter'); } catch(_) {}
65
+ var ConsoleNS = globalThis.Console;
66
+ var view = ConsoleNS && ConsoleNS.ConsoleView ? ConsoleNS.ConsoleView.instance() : null;
67
+ var f = view ? view.filter : null;
68
+ var box = f && f.textFilterUI;
69
+ if (!box || typeof box.setValue !== 'function' || typeof box.value !== 'function') {
70
+ if (scheduleRetry) { setTimeout(tryClear, 100); return; }
71
+ return;
72
+ }
73
+ var current = box.value();
74
+ if (current) {
75
+ box.setValue('');
76
+ if (typeof f.updateCurrentFilter === 'function') f.updateCurrentFilter();
77
+ if (typeof f.onFilterChanged === 'function') f.onFilterChanged();
78
+ }
79
+ } catch(_) {
80
+ if (scheduleRetry) setTimeout(tryClear, 100);
81
+ }
82
+ }
83
+ tryClear();
84
+ })()`;
85
+ }
86
+ //# sourceMappingURL=clear-console-filter.js.map
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Fakes shaped like the Chrome DevTools front-end objects
3
+ * `buildInternalLogHideScript()`'s generated source talks to, shared by
4
+ * console-filter.test.ts (what the hook does) and
5
+ * console-filter-degradation.test.ts (what happens when the panel is not there
6
+ * or the front-end API has moved).
7
+ *
8
+ * These are STUBS OF A FOREIGN API, not a second implementation: every test
9
+ * runs the real generated script string through `new Function`, so the fakes
10
+ * only have to expose the handful of members the script reaches for. What they
11
+ * cannot prove is that the real front-end still has those members — that is
12
+ * e2e/console-filter-live.spec.ts's job.
13
+ */
14
+ import { type Mock } from 'vitest';
15
+ export interface FakeViewMessage {
16
+ consoleMessage: () => {
17
+ messageText: string;
18
+ };
19
+ }
20
+ export type ShouldBeVisible = (this: unknown, viewMessage: FakeViewMessage) => boolean;
21
+ export interface FakeConsoleFilterClass {
22
+ original: Mock<ShouldBeVisible>;
23
+ prototype: {
24
+ shouldBeVisible?: ShouldBeVisible;
25
+ };
26
+ newInstance: () => {
27
+ shouldBeVisible: ShouldBeVisible;
28
+ };
29
+ }
30
+ export interface FakeConsoleView {
31
+ view: {
32
+ filter: {
33
+ currentFilter: object;
34
+ textFilterUI: {
35
+ value: () => string;
36
+ setValue: Mock<(next: string) => void>;
37
+ };
38
+ };
39
+ onFilterChanged: Mock<() => void>;
40
+ };
41
+ setValue: Mock<(next: string) => void>;
42
+ onFilterChanged: Mock<() => void>;
43
+ filterText: () => string;
44
+ }
45
+ /** A ConsoleViewMessage stub exposing the single field the hook inspects. */
46
+ export declare function createViewMessage(messageText: string): FakeViewMessage;
47
+ /**
48
+ * A ConsoleFilter "class": one shared prototype carrying `shouldBeVisible`,
49
+ * plus a factory for further instances off that same prototype — what
50
+ * `ConsoleFilter.clone()` produces. `original` is the pre-existing
51
+ * implementation the hook must delegate to.
52
+ */
53
+ export declare function createConsoleFilterClass(verdict?: boolean | ShouldBeVisible): FakeConsoleFilterClass;
54
+ /** A ConsoleFilter whose prototype chain carries no `shouldBeVisible` at all. */
55
+ export declare function createConsoleFilterClassWithoutHook(): {
56
+ prototype: Record<string, unknown>;
57
+ newInstance: () => object;
58
+ };
59
+ /** The ConsoleView surface the script reaches through: filter + refresh entry point. */
60
+ export declare function createConsoleView(currentFilter: object, initialFilterText?: string): FakeConsoleView;
61
+ /** A front end whose bootstrap has finished: the probe returns instead of throwing. */
62
+ export declare function createReadyEui(): {
63
+ ShortcutRegistry: {
64
+ ShortcutRegistry: {
65
+ instance: () => {};
66
+ };
67
+ };
68
+ };
69
+ export declare function createGlobalThis(view: unknown): {
70
+ EUI: {
71
+ ShortcutRegistry: {
72
+ ShortcutRegistry: {
73
+ instance: () => {};
74
+ };
75
+ };
76
+ };
77
+ Console: {
78
+ ConsoleView: {
79
+ instance: () => unknown;
80
+ };
81
+ };
82
+ };
83
+ export declare function run(script: string, fakeGlobalThis: object): void;
84
+ /**
85
+ * Collect `console.warn` output as plain strings for the whole test file.
86
+ *
87
+ * Reading `warnSpy.mock.calls` instead would hand every assertion an untyped
88
+ * `any[]`; the degradation tests care about WHICH warning was emitted, so the
89
+ * text has to survive into the assertion with its type intact.
90
+ */
91
+ export declare function recordWarnings(): {
92
+ messages: string[];
93
+ };
94
+ //# sourceMappingURL=console-filter-test-fixtures.d.ts.map
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Fakes shaped like the Chrome DevTools front-end objects
3
+ * `buildInternalLogHideScript()`'s generated source talks to, shared by
4
+ * console-filter.test.ts (what the hook does) and
5
+ * console-filter-degradation.test.ts (what happens when the panel is not there
6
+ * or the front-end API has moved).
7
+ *
8
+ * These are STUBS OF A FOREIGN API, not a second implementation: every test
9
+ * runs the real generated script string through `new Function`, so the fakes
10
+ * only have to expose the handful of members the script reaches for. What they
11
+ * cannot prove is that the real front-end still has those members — that is
12
+ * e2e/console-filter-live.spec.ts's job.
13
+ */
14
+ import { vi } from 'vitest';
15
+ /** A ConsoleViewMessage stub exposing the single field the hook inspects. */
16
+ export function createViewMessage(messageText) {
17
+ return { consoleMessage: () => ({ messageText }) };
18
+ }
19
+ /**
20
+ * A ConsoleFilter "class": one shared prototype carrying `shouldBeVisible`,
21
+ * plus a factory for further instances off that same prototype — what
22
+ * `ConsoleFilter.clone()` produces. `original` is the pre-existing
23
+ * implementation the hook must delegate to.
24
+ */
25
+ export function createConsoleFilterClass(verdict = true) {
26
+ const impl = typeof verdict === 'function' ? verdict : () => verdict;
27
+ const original = vi.fn(impl);
28
+ const prototype = { shouldBeVisible: original };
29
+ return {
30
+ original,
31
+ prototype,
32
+ newInstance: () => Object.create(prototype),
33
+ };
34
+ }
35
+ /** A ConsoleFilter whose prototype chain carries no `shouldBeVisible` at all. */
36
+ export function createConsoleFilterClassWithoutHook() {
37
+ const prototype = Object.create(null);
38
+ return { prototype, newInstance: () => Object.create(prototype) };
39
+ }
40
+ /** The ConsoleView surface the script reaches through: filter + refresh entry point. */
41
+ export function createConsoleView(currentFilter, initialFilterText = '') {
42
+ let filterText = initialFilterText;
43
+ const setValue = vi.fn((next) => { filterText = next; });
44
+ const onFilterChanged = vi.fn();
45
+ return {
46
+ view: {
47
+ filter: {
48
+ currentFilter,
49
+ textFilterUI: { value: () => filterText, setValue },
50
+ },
51
+ onFilterChanged,
52
+ },
53
+ setValue,
54
+ onFilterChanged,
55
+ filterText: () => filterText,
56
+ };
57
+ }
58
+ /** A front end whose bootstrap has finished: the probe returns instead of throwing. */
59
+ export function createReadyEui() {
60
+ return { ShortcutRegistry: { ShortcutRegistry: { instance: () => ({}) } } };
61
+ }
62
+ export function createGlobalThis(view) {
63
+ return { EUI: createReadyEui(), Console: { ConsoleView: { instance: () => view } } };
64
+ }
65
+ export function run(script, fakeGlobalThis) {
66
+ new Function('globalThis', script)(fakeGlobalThis);
67
+ }
68
+ /**
69
+ * Collect `console.warn` output as plain strings for the whole test file.
70
+ *
71
+ * Reading `warnSpy.mock.calls` instead would hand every assertion an untyped
72
+ * `any[]`; the degradation tests care about WHICH warning was emitted, so the
73
+ * text has to survive into the assertion with its type intact.
74
+ */
75
+ export function recordWarnings() {
76
+ const record = { messages: [] };
77
+ vi.spyOn(console, 'warn').mockImplementation((...args) => {
78
+ record.messages.push(args.map((arg) => String(arg)).join(' '));
79
+ });
80
+ return record;
81
+ }
82
+ //# sourceMappingURL=console-filter-test-fixtures.js.map
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Hides dimina framework internal log lines from the right-panel
3
+ * (user-facing) Console, WITHOUT occupying the panel's visible text-filter
4
+ * box (see console-forward/internal-log.ts for the prefix judge this
5
+ * mirrors). The framework prints these via a plain `console.log` call INSIDE
6
+ * the inspected service host itself; main has no interception point for a
7
+ * native console line (see console-forward/index.ts's header comment), so the
8
+ * lever has to live inside the front-end.
9
+ *
10
+ * ── Why not the text-filter box ──────────────────────────────────────────
11
+ * Writing `-/^\[service\]/` into the Console's filter input does hide the
12
+ * lines, but the string then sits in the box the developer uses for their own
13
+ * filtering: it looks like something they typed, it silently comes back after
14
+ * every re-point (an empty box is indistinguishable from "never set", so
15
+ * clearing it just invites the next injection to rewrite it), and it consumes
16
+ * the one filter slot the panel offers. Driving the panel's own visibility
17
+ * judge instead leaves the box genuinely empty and under the developer's sole
18
+ * control.
19
+ *
20
+ * ── Mechanism ────────────────────────────────────────────────────────────
21
+ * `Console.ConsoleView.instance().filter.currentFilter` is the ConsoleFilter
22
+ * object the panel consults for every message, through its prototype method
23
+ * `shouldBeVisible(viewMessage)`. Wrapping that PROTOTYPE method (not the
24
+ * instance) rejects internal-log lines ahead of the panel's normal logic:
25
+ * - `currentFilter` is not the only ConsoleFilter the panel judges with:
26
+ * `ConsoleFilter.clone()` returns `new ConsoleFilter(...)`, and the
27
+ * sidebar filters through those clones. They share the prototype, so one
28
+ * patch covers all of them — and keeps covering them if the panel ever
29
+ * replaces `currentFilter` outright. (Editing the filter box does NOT
30
+ * replace it today: `ConsoleViewFilter` builds `currentFilter` once in its
31
+ * constructor and `updateCurrentFilter()` mutates that same instance's
32
+ * `parsedFilters` / `levelsMask` / `executionContext` in place.)
33
+ * - The wrapper delegates to the original for everything else, so a
34
+ * developer's own filter keeps working exactly as before — this only ever
35
+ * subtracts internal-log lines.
36
+ * Verified end-to-end against the real bundled front-end
37
+ * (e2e/console-filter-live.spec.ts): filter box reads empty, a `[service]`
38
+ * line logged afterwards stays hidden, an ordinary business log stays visible.
39
+ *
40
+ * This patches only the realm of the wc it is injected into — the right-panel
41
+ * front-end. The standalone floating debug window is a separate front-end with
42
+ * its own realm, and its content arrives by a different route entirely
43
+ * (main-side CDP capture → console-forward → global-console-mirror, which is
44
+ * deliberately UNFILTERED), so framework internals stay fully visible there.
45
+ * That window is the escape hatch for anyone who needs to read them.
46
+ *
47
+ * ── Timing ───────────────────────────────────────────────────────────────
48
+ * `Console.ConsoleView` has no lifecycle EVENT marking "fully constructed" —
49
+ * only the checkable condition of whether `.instance()` and the reach into
50
+ * `.filter.currentFilter` throw. The injection therefore retries on a bounded
51
+ * interval (see `LIVE_FILTER_POLL_MAX_ATTEMPTS`/`_INTERVAL_MS`) rather than
52
+ * guessing a fixed delay, and stops as soon as the wrapper is installed.
53
+ *
54
+ * Every tick gates on the front-end bootstrap probe BEFORE touching
55
+ * `ConsoleView.instance()`: an early construction transitively creates
56
+ * IssuesManager and permanently kills the front-end's own bootstrap
57
+ * (`ensureFirst` conflict in MainImpl.#createAppUI) — see
58
+ * frontend-bootstrap-gate.ts for the full mechanism. The main process
59
+ * additionally holds this whole injection behind `whenFrontendBootstrapped`;
60
+ * the in-realm probe is defense in depth for any other caller.
61
+ */
62
+ /**
63
+ * First-arg prefix marking a dimina SERVICE-layer framework log. A line counts
64
+ * as internal when its text IS this tag or starts with the tag plus a space —
65
+ * the same shape console-forward/internal-log.ts requires of the first arg, so
66
+ * a business line like '[service]业务状态' stays visible on both sides.
67
+ * These entries are captured
68
+ * directly by the native CDP `Runtime.consoleAPICalled` attach on the service
69
+ * host (service-host/preload.cjs deliberately does not monkeypatch
70
+ * `console.*` there — see its header comment — so there is no main-owned code
71
+ * between the framework's call and the attached DevTools), which is why the
72
+ * front-end is the only place they can be hidden.
73
+ *
74
+ * RENDER-layer framework noise (`[system]`) needs nothing here:
75
+ * `console-forward/index.ts`'s `forwardRenderToServiceHost` gates on
76
+ * `isInternalLogMessage` and never injects those entries into the service
77
+ * host's console at all — filtered at the source, in main-owned code.
78
+ */
79
+ export declare const INTERNAL_LOG_HIDDEN_PREFIX = "[service]";
80
+ /** Marker property stamped on the patched prototype, so a re-point re-running
81
+ * this script wraps once rather than nesting a wrapper per injection. Also
82
+ * the signal e2e specs read to tell "wrapper installed" from "not yet". */
83
+ export declare const INTERNAL_LOG_WRAPPER_MARK = "__diminaInternalLogHidden";
84
+ /**
85
+ * Build the `executeJavaScript` source that installs the internal-log
86
+ * visibility wrapper described in this module's header comment.
87
+ *
88
+ * Failure is loud but non-fatal: a front-end whose ConsoleFilter prototype has
89
+ * no `shouldBeVisible` (a future Chromium reshuffle) warns once and gives up
90
+ * rather than retrying a structurally absent surface — the panel then simply
91
+ * shows framework lines, which is the pre-existing behavior, not a breakage.
92
+ */
93
+ export declare function buildInternalLogHideScript(hiddenPrefix?: string): string;
94
+ //# sourceMappingURL=console-filter.d.ts.map