@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.
- package/README.md +51 -660
- package/dist/main/api.d.ts +2 -1
- package/dist/main/app/app.d.ts +41 -12
- package/dist/main/app/app.js +299 -514
- package/dist/main/app/bootstrap.d.ts +8 -5
- package/dist/main/app/bootstrap.js +15 -15
- package/dist/main/app/editor-view.d.ts +21 -0
- package/dist/main/app/editor-view.js +71 -0
- package/dist/main/app/global-mirrors.d.ts +23 -0
- package/dist/main/app/global-mirrors.js +37 -0
- package/dist/main/app/host-sidebar-default.d.ts +19 -0
- package/dist/main/app/host-sidebar-default.js +44 -0
- package/dist/main/app/lifecycle.d.ts +12 -1
- package/dist/main/app/lifecycle.js +27 -1
- package/dist/main/app/menu-setup.d.ts +13 -0
- package/dist/main/app/menu-setup.js +49 -0
- package/dist/main/app/native-overview.d.ts +1 -1
- package/dist/main/app/open-project-ipc.d.ts +13 -0
- package/dist/main/app/open-project-ipc.js +21 -0
- package/dist/main/app/project-list-surface.d.ts +31 -0
- package/dist/main/app/project-list-surface.js +20 -0
- package/dist/main/app/project-window.d.ts +36 -0
- package/dist/main/app/project-window.js +93 -0
- package/dist/main/app/servers.d.ts +17 -0
- package/dist/main/app/servers.js +60 -0
- package/dist/main/app/ui-extension-targets.d.ts +42 -0
- package/dist/main/app/ui-extension-targets.js +101 -0
- package/dist/main/app/window-close-reveal.harness.d.ts +34 -0
- package/dist/main/app/window-close-reveal.harness.js +65 -0
- package/dist/main/app/window-events.d.ts +15 -0
- package/dist/main/app/window-events.js +45 -0
- package/dist/main/app/window-runtime-services.d.ts +41 -0
- package/dist/main/app/window-runtime-services.js +197 -0
- package/dist/main/app/workbench-modules.d.ts +24 -0
- package/dist/main/app/workbench-modules.js +51 -0
- package/dist/main/app/workbench-window.d.ts +85 -0
- package/dist/main/app/workbench-window.js +310 -0
- package/dist/main/index.bundle.js +11712 -9986
- package/dist/main/index.js +49 -1
- package/dist/main/ipc/app-lifecycle.d.ts +1 -31
- package/dist/main/ipc/app-lifecycle.js +1 -53
- package/dist/main/ipc/app.d.ts +4 -1
- package/dist/main/ipc/app.js +4 -3
- package/dist/main/ipc/bridge-router.d.ts +19 -116
- package/dist/main/ipc/bridge-router.js +28 -2128
- package/dist/main/ipc/device-picker.d.ts +16 -0
- package/dist/main/ipc/device-picker.js +27 -0
- package/dist/main/ipc/index.d.ts +5 -0
- package/dist/main/ipc/index.js +5 -0
- package/dist/main/ipc/internal-devtools.d.ts +16 -0
- package/dist/main/ipc/internal-devtools.js +10 -0
- package/dist/main/ipc/page-scroll.d.ts +1 -13
- package/dist/main/ipc/page-scroll.js +1 -16
- package/dist/main/ipc/popover.d.ts +4 -1
- package/dist/main/ipc/popover.js +26 -19
- package/dist/main/ipc/project-create.d.ts +16 -0
- package/dist/main/ipc/project-create.js +27 -0
- package/dist/main/ipc/project-fs.d.ts +38 -3
- package/dist/main/ipc/project-fs.js +53 -22
- package/dist/main/ipc/projects.d.ts +3 -3
- package/dist/main/ipc/projects.js +47 -11
- package/dist/main/ipc/session-listener-bag.d.ts +1 -40
- package/dist/main/ipc/session-listener-bag.js +1 -39
- package/dist/main/ipc/session.d.ts +4 -1
- package/dist/main/ipc/session.js +26 -26
- package/dist/main/ipc/settings.d.ts +4 -1
- package/dist/main/ipc/settings.js +17 -19
- package/dist/main/ipc/simulator-module.d.ts +9 -3
- package/dist/main/ipc/simulator-module.js +13 -10
- package/dist/main/ipc/simulator.d.ts +4 -1
- package/dist/main/ipc/simulator.js +12 -18
- package/dist/main/ipc/tooltip.d.ts +14 -0
- package/dist/main/ipc/tooltip.js +29 -0
- package/dist/main/ipc/views.d.ts +19 -2
- package/dist/main/ipc/views.js +76 -8
- package/dist/main/runtime/devtools-backend-before-quit.harness.d.ts +43 -0
- package/dist/main/runtime/devtools-backend-before-quit.harness.js +87 -0
- package/dist/main/runtime/devtools-backend.js +60 -4
- package/dist/main/runtime/devtools-runtime-mock.harness.d.ts +21 -0
- package/dist/main/runtime/devtools-runtime-mock.harness.js +313 -0
- package/dist/main/runtime/miniapp-runtime.d.ts +91 -22
- package/dist/main/services/app-services.d.ts +62 -0
- package/dist/main/services/app-services.js +64 -0
- package/dist/main/services/automation/connection-target.d.ts +36 -0
- package/dist/main/services/automation/connection-target.js +29 -0
- package/dist/main/services/automation/console-bridge.d.ts +28 -0
- package/dist/main/services/automation/console-bridge.js +91 -0
- package/dist/main/services/automation/handlers/app.js +4 -4
- package/dist/main/services/automation/handlers/element.js +55 -21
- package/dist/main/services/automation/index.d.ts +12 -1
- package/dist/main/services/automation/index.js +54 -133
- package/dist/main/services/cdp-session/index.d.ts +87 -0
- package/dist/main/services/cdp-session/index.js +173 -0
- package/dist/main/services/compile-standby.js +4 -0
- package/dist/main/services/console-forward/cdp-inject.d.ts +18 -0
- package/dist/main/services/console-forward/cdp-inject.js +30 -0
- package/dist/main/services/console-forward/global-console-mirror.d.ts +33 -0
- package/dist/main/services/console-forward/global-console-mirror.js +71 -0
- package/dist/main/services/console-forward/global-diagnostics-mirror.d.ts +33 -0
- package/dist/main/services/console-forward/global-diagnostics-mirror.js +73 -0
- package/dist/main/services/console-forward/index.d.ts +1 -46
- package/dist/main/services/console-forward/index.js +1 -185
- package/dist/main/services/console-forward/internal-log.d.ts +2 -0
- package/dist/main/services/console-forward/internal-log.js +2 -0
- package/dist/main/services/console-forward/open-gated-relay.d.ts +67 -0
- package/dist/main/services/console-forward/open-gated-relay.js +55 -0
- package/dist/main/services/default-adapter.js +1 -1
- package/dist/main/services/diagnostics/index.d.ts +1 -48
- package/dist/main/services/diagnostics/index.js +1 -60
- package/dist/main/services/dimina-resource-server.d.ts +1 -6
- package/dist/main/services/dimina-resource-server.js +1 -98
- package/dist/main/services/elements-forward/index.d.ts +132 -15
- package/dist/main/services/elements-forward/index.js +155 -304
- package/dist/main/services/fs-bridge-protocol.d.ts +61 -0
- package/dist/main/services/fs-bridge-protocol.js +34 -0
- package/dist/main/services/fs-watch-sse.d.ts +40 -0
- package/dist/main/services/fs-watch-sse.js +113 -0
- package/dist/main/services/http-json.d.ts +9 -0
- package/dist/main/services/http-json.js +6 -0
- package/dist/main/services/layout/index.d.ts +11 -0
- package/dist/main/services/layout/index.js +23 -0
- package/dist/main/services/mcp/connection-owner.d.ts +38 -0
- package/dist/main/services/mcp/connection-owner.js +79 -0
- package/dist/main/services/mcp/index.d.ts +3 -1
- package/dist/main/services/mcp/index.js +4 -3
- package/dist/main/services/mcp/opened-project.d.ts +88 -0
- package/dist/main/services/mcp/opened-project.js +60 -0
- package/dist/main/services/mcp/server.d.ts +2 -1
- package/dist/main/services/mcp/server.js +29 -4
- package/dist/main/services/mcp/target-manager.d.ts +71 -23
- package/dist/main/services/mcp/target-manager.js +269 -138
- package/dist/main/services/mcp/target-selection.d.ts +47 -0
- package/dist/main/services/mcp/target-selection.js +71 -0
- package/dist/main/services/mcp/tools/context-tools.js +20 -5
- package/dist/main/services/mcp/tools/project-tools.d.ts +72 -0
- package/dist/main/services/mcp/tools/project-tools.js +133 -0
- package/dist/main/services/module.d.ts +13 -5
- package/dist/main/services/network-forward/body-cache.d.ts +72 -0
- package/dist/main/services/network-forward/body-cache.js +179 -0
- package/dist/main/services/network-forward/frontend-dispatch.d.ts +91 -0
- package/dist/main/services/network-forward/frontend-dispatch.js +148 -0
- package/dist/main/services/network-forward/global-body-gate.d.ts +46 -0
- package/dist/main/services/network-forward/global-body-gate.js +93 -0
- package/dist/main/services/network-forward/global-mirror-test-fixtures.d.ts +48 -0
- package/dist/main/services/network-forward/global-mirror-test-fixtures.js +96 -0
- package/dist/main/services/network-forward/http.d.ts +47 -0
- package/dist/main/services/network-forward/http.js +162 -0
- package/dist/main/services/network-forward/index.d.ts +135 -15
- package/dist/main/services/network-forward/index.js +854 -224
- package/dist/main/services/network-forward/request-ids.d.ts +5 -0
- package/dist/main/services/network-forward/request-ids.js +5 -0
- package/dist/main/services/network-forward/user-facing.d.ts +21 -0
- package/dist/main/services/network-forward/user-facing.js +50 -0
- package/dist/main/services/network-forward/websocket.d.ts +36 -0
- package/dist/main/services/network-forward/websocket.js +120 -0
- package/dist/main/services/notifications/renderer-notifier.d.ts +71 -9
- package/dist/main/services/notifications/renderer-notifier.js +45 -8
- package/dist/main/services/projects/create-project-service.js +19 -5
- package/dist/main/services/projects/local-provider.js +8 -4
- package/dist/main/services/projects/project-repository.d.ts +59 -7
- package/dist/main/services/projects/project-repository.js +285 -51
- package/dist/main/services/projects/types.d.ts +44 -34
- package/dist/main/services/render-inspect/index.d.ts +12 -2
- package/dist/main/services/render-inspect/index.js +21 -102
- package/dist/main/services/safe-area/index.d.ts +21 -6
- package/dist/main/services/safe-area/index.js +92 -46
- package/dist/main/services/service-host-pool/pool.d.ts +1 -196
- package/dist/main/services/service-host-pool/pool.js +1 -363
- package/dist/main/services/settings/index.d.ts +7 -1
- package/dist/main/services/settings/index.js +22 -2
- package/dist/main/services/simulator/custom-apis.d.ts +1 -42
- package/dist/main/services/simulator/custom-apis.js +1 -46
- package/dist/main/services/simulator/referer.d.ts +1 -9
- package/dist/main/services/simulator/referer.js +1 -19
- package/dist/main/services/simulator/ui-extensions.d.ts +21 -0
- package/dist/main/services/simulator/ui-extensions.js +176 -0
- package/dist/main/services/simulator-appdata/index.d.ts +6 -0
- package/dist/main/services/simulator-appdata/index.js +21 -2
- package/dist/main/services/simulator-current-page/index.d.ts +5 -3
- package/dist/main/services/simulator-current-page/index.js +8 -1
- package/dist/main/services/simulator-storage/index.d.ts +34 -5
- package/dist/main/services/simulator-storage/index.js +73 -71
- package/dist/main/services/simulator-storage/service-storage-ops.d.ts +1 -39
- package/dist/main/services/simulator-storage/service-storage-ops.js +1 -66
- package/dist/main/services/simulator-storage/window-scope.d.ts +20 -0
- package/dist/main/services/simulator-storage/window-scope.js +20 -0
- package/dist/main/services/simulator-temp-files/disk.d.ts +1 -54
- package/dist/main/services/simulator-temp-files/disk.js +1 -237
- package/dist/main/services/simulator-temp-files/fs-channels.d.ts +1 -68
- package/dist/main/services/simulator-temp-files/fs-channels.js +1 -107
- package/dist/main/services/simulator-temp-files/index.d.ts +1 -32
- package/dist/main/services/simulator-temp-files/index.js +1 -181
- package/dist/main/services/simulator-temp-files/request-handler.d.ts +1 -29
- package/dist/main/services/simulator-temp-files/request-handler.js +1 -177
- package/dist/main/services/simulator-temp-files/resolver.d.ts +1 -21
- package/dist/main/services/simulator-temp-files/resolver.js +1 -21
- package/dist/main/services/simulator-temp-files/store.d.ts +1 -13
- package/dist/main/services/simulator-temp-files/store.js +1 -23
- package/dist/main/services/update/github-release-checker.js +22 -3
- package/dist/main/services/update/update-manager.d.ts +21 -4
- package/dist/main/services/update/update-manager.js +55 -11
- package/dist/main/services/views/clear-console-filter.d.ts +44 -0
- package/dist/main/services/views/clear-console-filter.js +86 -0
- package/dist/main/services/views/console-filter-test-fixtures.d.ts +94 -0
- package/dist/main/services/views/console-filter-test-fixtures.js +82 -0
- package/dist/main/services/views/console-filter.d.ts +94 -0
- package/dist/main/services/views/console-filter.js +190 -0
- package/dist/main/services/views/devtools-tabs.d.ts +24 -4
- package/dist/main/services/views/devtools-tabs.js +40 -21
- package/dist/main/services/views/frontend-bootstrap-gate.d.ts +59 -0
- package/dist/main/services/views/frontend-bootstrap-gate.js +117 -0
- package/dist/main/services/views/host-dialog-port-channel.d.ts +18 -0
- package/dist/main/services/views/host-dialog-port-channel.js +15 -0
- package/dist/main/services/views/host-dialog-session-runtime.d.ts +10 -0
- package/dist/main/services/views/host-dialog-session-runtime.js +17 -0
- package/dist/main/services/views/host-dialog-view.d.ts +95 -0
- package/dist/main/services/views/host-dialog-view.js +147 -0
- package/dist/main/services/views/host-sidebar-port-channel.d.ts +18 -0
- package/dist/main/services/views/host-sidebar-port-channel.js +15 -0
- package/dist/main/services/views/host-sidebar-session-runtime.d.ts +10 -0
- package/dist/main/services/views/host-sidebar-session-runtime.js +17 -0
- package/dist/main/services/views/host-sidebar-view.d.ts +59 -0
- package/dist/main/services/views/host-sidebar-view.js +44 -0
- package/dist/main/services/views/host-slot-port-channel.d.ts +124 -0
- package/dist/main/services/views/host-slot-port-channel.js +289 -0
- package/dist/main/services/views/host-slot-session-runtime.d.ts +40 -0
- package/dist/main/services/views/host-slot-session-runtime.js +50 -0
- package/dist/main/services/views/host-slot-view.d.ts +109 -0
- package/dist/main/services/views/host-slot-view.js +147 -0
- package/dist/main/services/views/host-toolbar-port-channel.d.ts +6 -91
- package/dist/main/services/views/host-toolbar-port-channel.js +10 -243
- package/dist/main/services/views/host-toolbar-session-runtime.d.ts +5 -30
- package/dist/main/services/views/host-toolbar-session-runtime.js +9 -47
- package/dist/main/services/views/host-toolbar-view.d.ts +34 -7
- package/dist/main/services/views/host-toolbar-view.js +30 -237
- package/dist/main/services/views/managed-web-contents-view.d.ts +48 -0
- package/dist/main/services/views/managed-web-contents-view.js +143 -0
- package/dist/main/services/views/miniapp-partition.d.ts +1 -89
- package/dist/main/services/views/miniapp-partition.js +1 -158
- package/dist/main/services/views/native-simulator-devtools-host.js +206 -68
- package/dist/main/services/views/native-simulator-view.d.ts +6 -0
- package/dist/main/services/views/native-simulator-view.js +47 -40
- package/dist/main/services/views/native-view-tree.d.ts +25 -0
- package/dist/main/services/views/native-view-tree.js +69 -0
- package/dist/main/services/views/overlay-panels-view.d.ts +63 -4
- package/dist/main/services/views/overlay-panels-view.js +257 -108
- package/dist/main/services/views/placement-reconciler.d.ts +18 -18
- package/dist/main/services/views/placement-reconciler.js +91 -29
- package/dist/main/services/views/placement-test-driver.d.ts +27 -0
- package/dist/main/services/views/placement-test-driver.js +29 -0
- package/dist/main/services/views/refresh-styles.d.ts +10 -0
- package/dist/main/services/views/refresh-styles.js +57 -0
- package/dist/main/services/views/simulator-session-policy.d.ts +1 -27
- package/dist/main/services/views/simulator-session-policy.js +1 -98
- package/dist/main/services/views/view-manager-devtools-host-test-fixtures.d.ts +76 -0
- package/dist/main/services/views/view-manager-devtools-host-test-fixtures.js +184 -0
- package/dist/main/services/views/view-manager.d.ts +69 -88
- package/dist/main/services/views/view-manager.js +62 -7
- package/dist/main/services/views/workbench-view.d.ts +2 -0
- package/dist/main/services/views/workbench-view.js +104 -17
- package/dist/main/services/window-contexts/context-router.d.ts +36 -0
- package/dist/main/services/window-contexts/context-router.js +55 -0
- package/dist/main/services/workbench-coi-host.d.ts +52 -0
- package/dist/main/services/workbench-coi-host.js +227 -0
- package/dist/main/services/workbench-coi-server.d.ts +11 -0
- package/dist/main/services/workbench-coi-server.js +126 -126
- package/dist/main/services/workbench-coi-shutdown.d.ts +40 -0
- package/dist/main/services/workbench-coi-shutdown.js +69 -0
- package/dist/main/services/workbench-coi-static.d.ts +23 -0
- package/dist/main/services/workbench-coi-static.js +87 -0
- package/dist/main/services/workbench-context.d.ts +88 -8
- package/dist/main/services/workbench-context.js +54 -6
- package/dist/main/services/workspace/compile-log-buffer.d.ts +40 -0
- package/dist/main/services/workspace/compile-log-buffer.js +41 -0
- package/dist/main/services/workspace/compile-mode-adapter.d.ts +18 -0
- package/dist/main/services/workspace/compile-mode-adapter.js +57 -0
- package/dist/main/services/workspace/compile-mode-store.d.ts +25 -0
- package/dist/main/services/workspace/compile-mode-store.js +71 -0
- package/dist/main/services/workspace/open-project-guards.d.ts +16 -0
- package/dist/main/services/workspace/open-project-guards.js +42 -0
- package/dist/main/services/workspace/rebuild-status.d.ts +37 -0
- package/dist/main/services/workspace/rebuild-status.js +36 -0
- package/dist/main/services/workspace/session-status-store.d.ts +47 -0
- package/dist/main/services/workspace/session-status-store.js +73 -0
- package/dist/main/services/workspace/status-tap.d.ts +20 -0
- package/dist/main/services/workspace/status-tap.js +32 -0
- package/dist/main/services/workspace/workspace-compile-modes.d.ts +59 -0
- package/dist/main/services/workspace/workspace-compile-modes.js +93 -0
- package/dist/main/services/workspace/workspace-lifecycle-race.testutil.d.ts +22 -0
- package/dist/main/services/workspace/workspace-lifecycle-race.testutil.js +62 -0
- package/dist/main/services/workspace/workspace-referer.d.ts +17 -0
- package/dist/main/services/workspace/workspace-referer.js +26 -0
- package/dist/main/services/workspace/workspace-service.d.ts +7 -5
- package/dist/main/services/workspace/workspace-service.js +96 -135
- package/dist/main/services/workspace/workspace-thumbnails.d.ts +22 -0
- package/dist/main/services/workspace/workspace-thumbnails.js +67 -0
- package/dist/main/utils/ipc-context-source.d.ts +40 -0
- package/dist/main/utils/ipc-context-source.js +23 -0
- package/dist/main/utils/ipc-registry.d.ts +46 -21
- package/dist/main/utils/ipc-registry.js +166 -76
- package/dist/main/utils/paths.d.ts +18 -0
- package/dist/main/utils/paths.js +18 -0
- package/dist/main/utils/sender-policy.d.ts +10 -1
- package/dist/main/utils/sender-policy.js +42 -4
- package/dist/main/utils/theme.d.ts +18 -8
- package/dist/main/utils/theme.js +19 -9
- package/dist/main/windows/internal-devtools-window/index.d.ts +66 -0
- package/dist/main/windows/internal-devtools-window/index.js +160 -0
- package/dist/main/windows/main-window/create.d.ts +16 -0
- package/dist/main/windows/main-window/create.js +19 -11
- package/dist/main/windows/main-window/events.d.ts +1 -1
- package/dist/main/windows/main-window/events.js +26 -13
- package/dist/main/windows/main-window/index.d.ts +1 -1
- package/dist/main/windows/main-window/index.js +1 -1
- package/dist/main/windows/service-host-window/create.d.ts +1 -92
- package/dist/main/windows/service-host-window/create.js +1 -154
- package/dist/native-host/common/common.js +173 -53
- package/dist/native-host/container/pageFrame.css +1 -1
- package/dist/native-host/render/render.js +8278 -3659
- package/dist/native-host/service/service.js +2 -2
- package/dist/preload/index.d.ts +2 -0
- package/dist/preload/index.js +1 -0
- package/dist/preload/instrumentation/app-data.d.ts +2 -2
- package/dist/preload/instrumentation/app-data.js +1 -1
- package/dist/preload/instrumentation/wxml.js +1 -1
- package/dist/preload/runtime/bridge.d.ts +3 -3
- package/dist/preload/runtime/bridge.js +2 -2
- package/dist/preload/runtime/clipboard.d.ts +6 -0
- package/dist/preload/runtime/clipboard.js +12 -0
- package/dist/preload/runtime/host-dialog-advertiser.d.ts +22 -0
- package/dist/preload/runtime/host-dialog-advertiser.js +37 -0
- package/dist/preload/runtime/host-dialog-port.d.ts +44 -0
- package/dist/preload/runtime/host-dialog-port.js +53 -0
- package/dist/preload/runtime/host-dialog-runtime.d.ts +28 -0
- package/dist/preload/runtime/host-dialog-runtime.js +36 -0
- package/dist/preload/runtime/host-sidebar-advertiser.d.ts +19 -0
- package/dist/preload/runtime/host-sidebar-advertiser.js +35 -0
- package/dist/preload/runtime/host-sidebar-port.d.ts +44 -0
- package/dist/preload/runtime/host-sidebar-port.js +53 -0
- package/dist/preload/runtime/host-sidebar-runtime.d.ts +28 -0
- package/dist/preload/runtime/host-sidebar-runtime.js +36 -0
- package/dist/preload/runtime/host-slot-port-bridge.d.ts +18 -0
- package/dist/preload/runtime/host-slot-port-bridge.js +112 -0
- package/dist/preload/runtime/host-toolbar-advertiser.d.ts +5 -13
- package/dist/preload/runtime/host-toolbar-advertiser.js +18 -38
- package/dist/preload/runtime/host-toolbar-port.d.ts +9 -0
- package/dist/preload/runtime/host-toolbar-port.js +11 -95
- package/dist/preload/runtime/native-host.d.ts +14 -0
- package/dist/preload/runtime/native-host.js +5 -8
- package/dist/preload/runtime/node-bindings.d.ts +18 -0
- package/dist/preload/runtime/node-bindings.js +44 -0
- package/dist/preload/runtime/temp-files.js +9 -2
- package/dist/preload/runtime/wait-for-slot-root.d.ts +23 -0
- package/dist/preload/runtime/wait-for-slot-root.js +80 -0
- package/dist/preload/shared/api-compat.js +63 -41
- package/dist/preload/windows/host-dialog-runtime.cjs +360 -0
- package/dist/preload/windows/host-dialog-runtime.cjs.map +7 -0
- package/dist/preload/windows/host-dialog-runtime.d.ts +2 -0
- package/dist/preload/windows/host-dialog-runtime.js +13 -0
- package/dist/preload/windows/host-sidebar-runtime.cjs +361 -0
- package/dist/preload/windows/host-sidebar-runtime.cjs.map +7 -0
- package/dist/preload/windows/host-sidebar-runtime.d.ts +2 -0
- package/dist/preload/windows/host-sidebar-runtime.js +13 -0
- package/dist/preload/windows/host-toolbar-runtime.cjs +142 -52
- package/dist/preload/windows/host-toolbar-runtime.cjs.map +3 -3
- package/dist/preload/windows/main.cjs +4922 -1246
- package/dist/preload/windows/main.cjs.map +4 -4
- package/dist/preload/windows/main.css +428 -0
- package/dist/preload/windows/main.css.map +7 -0
- package/dist/preload/windows/simulator.cjs +376 -322
- package/dist/preload/windows/simulator.cjs.map +4 -4
- package/dist/preload/windows/simulator.js +376 -322
- package/dist/render-host/pageFrame.html +4 -4
- package/dist/render-host/preload.cjs +30 -0
- package/dist/render-host/render-inspect.js +184 -115
- package/dist/renderer/assets/button-CB2MWjHY.js +2 -0
- package/dist/renderer/assets/constants-CkoGPQTS.js +2 -0
- package/dist/renderer/assets/constants-zQZ2-y21.js +2 -0
- package/dist/renderer/assets/createLucideIcon-cZ9FlZZw.js +2 -0
- package/dist/renderer/assets/devicePicker-H2eIO4e1.js +2 -0
- package/dist/renderer/assets/dialog-pHzEA8Vx.js +46 -0
- package/dist/renderer/assets/dist-B5HADirS.js +2 -0
- package/dist/renderer/assets/dist-DIFlRMKe.js +2 -0
- package/dist/renderer/assets/hostSidebarDefault-DRWh6OCt.js +2 -0
- package/dist/renderer/assets/index-CEL_XFge.js +2 -0
- package/dist/renderer/assets/input-CAObw95L.js +2 -0
- package/dist/renderer/assets/ipc-channels-overlays-gIPUFnqc.js +2 -0
- package/dist/renderer/assets/jsx-runtime-DICEQH_0.css +1 -0
- package/dist/renderer/assets/jsx-runtime-DIw5wnYl.js +9 -0
- package/dist/renderer/assets/plus-BQ9u5EbL.js +2 -0
- package/dist/renderer/assets/popover-Cw7G2Ctp.js +2 -0
- package/dist/renderer/assets/presets-DMZOb9ay.js +2 -0
- package/dist/renderer/assets/project-api-YTOr_Yvo.js +2 -0
- package/dist/renderer/assets/projectCreateDialog-BmLqiYxn.js +2 -0
- package/dist/renderer/assets/search-BMvuYF48.js +2 -0
- package/dist/renderer/assets/select-nFP95TxM.js +2 -0
- package/dist/renderer/assets/settings-CnpVfSWt.js +2 -0
- package/dist/renderer/assets/settings-api-Ccsf-Nsj.js +2 -0
- package/dist/renderer/assets/settings-tab-bar-CAzrv32m.js +2 -0
- package/dist/renderer/assets/smartphone-Bb2GdIKy.js +2 -0
- package/dist/renderer/assets/tabs-CPKN3Mmq.js +2 -0
- package/dist/renderer/assets/tooltip-D6AxXRk5.js +2 -0
- package/dist/renderer/assets/types-Bh0hA7El.js +2 -0
- package/dist/renderer/assets/updateDialog-CwndJ0Bl.js +2 -0
- package/dist/renderer/assets/utils-sEB5OZEQ.js +2 -0
- package/dist/renderer/assets/view-api-B-2zPBR5.js +2 -0
- package/dist/renderer/assets/view-ids-BfaDVV5P.js +2 -0
- package/dist/renderer/assets/workbench-C0Jkdlps.js +5 -0
- package/dist/renderer/assets/workbenchSettings-YD0Ctbm_.js +8 -0
- package/dist/renderer/entries/device-picker/index.html +28 -0
- package/dist/renderer/entries/host-sidebar-default/index.html +22 -0
- package/dist/renderer/entries/main/index.html +16 -7
- package/dist/renderer/entries/popover/index.html +16 -6
- package/dist/renderer/entries/project-create-dialog/index.html +27 -0
- package/dist/renderer/entries/settings/index.html +10 -5
- package/dist/renderer/entries/tooltip/index.html +21 -0
- package/dist/renderer/entries/update-dialog/index.html +25 -0
- package/dist/renderer/entries/workbench/index.html +49 -0
- package/dist/renderer/entries/workbench-settings/index.html +12 -5
- package/dist/service-host/appdata-set-data.cjs +39 -0
- package/dist/service-host/host-env-update.cjs +23 -0
- package/dist/service-host/preload.cjs +54 -48
- package/dist/service-host/service-message-queue.cjs +71 -0
- package/dist/service-host/sync-impls/menu-button-geometry.js +16 -5
- package/dist/service-host/sync-impls/menu-button.js +5 -3
- package/dist/service-host/sync-impls/system-info.js +31 -9
- package/dist/shared/bridge-channels.d.ts +1 -416
- package/dist/shared/bridge-channels.js +1 -89
- package/dist/shared/compile-mode-state.d.ts +73 -0
- package/dist/shared/compile-mode-state.js +100 -0
- package/dist/shared/compile-modes.d.ts +152 -0
- package/dist/shared/compile-modes.js +237 -0
- package/dist/shared/constants.d.ts +22 -0
- package/dist/shared/constants.js +22 -0
- package/dist/shared/dmb-resource-url.d.ts +2 -0
- package/dist/shared/dmb-resource-url.js +2 -0
- package/dist/shared/ipc-channels-overlays.d.ts +162 -0
- package/dist/shared/ipc-channels-overlays.js +203 -0
- package/dist/shared/ipc-channels.d.ts +24 -154
- package/dist/shared/ipc-channels.js +48 -96
- package/dist/shared/ipc-schemas.d.ts +143 -54
- package/dist/shared/ipc-schemas.js +137 -45
- package/dist/shared/node-bindings.d.ts +2 -0
- package/dist/shared/node-bindings.js +2 -0
- package/dist/shared/project-window-types.d.ts +42 -0
- package/dist/shared/project-window-types.js +2 -0
- package/dist/shared/simulator-route.d.ts +8 -0
- package/dist/shared/simulator-route.js +15 -0
- package/dist/shared/simulator-ui.d.ts +61 -0
- package/dist/shared/simulator-ui.js +12 -0
- package/dist/shared/types.d.ts +126 -41
- package/dist/shared/view-ids.d.ts +10 -0
- package/dist/shared/view-ids.js +23 -0
- package/dist/simulator/assets/bridge-channels-B3JAmRfl.js +2 -0
- package/dist/simulator/assets/device-shell-ATEhHV2_.css +1 -0
- package/dist/simulator/assets/device-shell-DucLepkm.js +431 -0
- package/dist/simulator/assets/simulator-B4rbcOVt.js +10 -0
- package/dist/simulator/assets/simulator-mini-app-DFo7fhi5.js +2 -0
- package/dist/simulator/assets/simulator-ui-BupATgKo.css +1 -0
- package/dist/simulator/assets/simulator-ui-i3GCc7YJ.js +2 -0
- package/dist/simulator/simulator.html +4 -3
- package/dist/simulator/temp-files.d.ts +35 -0
- package/dist/simulator/temp-files.js +121 -0
- package/dist/simulator/types.d.ts +50 -0
- package/dist/simulator/types.js +2 -0
- package/dist/vscode-workbench/assets/__vite-browser-external-JIkWewFf.js +1 -0
- package/dist/vscode-workbench/assets/{dist-TpGpmMGi.js → dist-CXG-u1VB.js} +3 -3
- package/dist/vscode-workbench/assets/fs-core-worker-urls-DZ1nod84.js +1 -0
- package/dist/vscode-workbench/assets/fs-core.worker-Bnmpp6fo.js +1 -0
- package/dist/vscode-workbench/assets/fs-query.worker-cZ-7Fjch.js +2 -0
- package/dist/vscode-workbench/assets/{iconv-lite-umd-C9tiCAJa.js → iconv-lite-umd-Dxx9Qyb4.js} +1 -1
- package/dist/vscode-workbench/assets/{index-DJ1HyMZ7.js → index-6VJMsaWj.js} +475 -475
- package/dist/vscode-workbench/assets/{jschardet-DE1jV513.js → jschardet-Ba3D16vt.js} +1 -1
- package/dist/vscode-workbench/index.html +21 -1
- package/package.json +23 -13
- package/dist/main/services/views/destroy-child-view.d.ts +0 -9
- package/dist/main/services/views/destroy-child-view.js +0 -23
- package/dist/preload/instrumentation/wxml-extract.d.ts +0 -11
- package/dist/preload/instrumentation/wxml-extract.js +0 -382
- package/dist/preload/shared/sid-registry.d.ts +0 -11
- package/dist/preload/shared/sid-registry.js +0 -38
- package/dist/renderer/assets/constants-EAMiwL9_.js +0 -2
- package/dist/renderer/assets/index-BMqyDx71.js +0 -49
- package/dist/renderer/assets/input-CDAEwpBO.js +0 -2
- package/dist/renderer/assets/ipc-transport-B7eFOR68.css +0 -1
- package/dist/renderer/assets/ipc-transport-_G1k5V1p.js +0 -9
- package/dist/renderer/assets/popover-DEdjK14m.js +0 -2
- package/dist/renderer/assets/select-DpKPCh3y.js +0 -2
- package/dist/renderer/assets/settings-M5q2elUr.js +0 -2
- package/dist/renderer/assets/settings-api-CDlZoHiO.js +0 -2
- package/dist/renderer/assets/workbenchSettings-CT_H1WhV.js +0 -8
- package/dist/shared/appdata-accumulator.d.ts +0 -95
- package/dist/shared/appdata-accumulator.js +0 -218
- package/dist/shared/request-core.d.ts +0 -84
- package/dist/shared/request-core.js +0 -168
- package/dist/shared/simulator-api-metadata.d.ts +0 -26
- package/dist/shared/simulator-api-metadata.js +0 -59
- package/dist/shared/vpath.d.ts +0 -42
- package/dist/shared/vpath.js +0 -105
- package/dist/simulator/assets/bridge-channels-zhsumfky.js +0 -2
- package/dist/simulator/assets/device-shell-C-wcFq3Z.js +0 -2
- package/dist/simulator/assets/device-shell-CS1rqAQz.css +0 -1
- package/dist/simulator/assets/jsx-runtime-BDTY6fEq.js +0 -2
- package/dist/simulator/assets/simulator-DU3-fS3v.js +0 -10
- package/dist/simulator/assets/simulator-mini-app-DzfMfnVM.js +0 -2
- package/dist/simulator/device-shell/menu-button-geometry.js +0 -8
- 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
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
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
|
|
66
|
-
import { type ConnectionRegistry, type Disposable } from
|
|
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 =
|
|
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.
|