@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,33 @@
|
|
|
1
|
+
import type { WebContents } from 'electron';
|
|
2
|
+
import type { Disposable } from '@dimina-kit/electron-deck/main';
|
|
3
|
+
import type { DiagnosticsBus } from '../diagnostics/index.js';
|
|
4
|
+
import type { CdpSessionBroker } from '../cdp-session/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Mirror EVERY diagnostic (both `audience:'user'` and `audience:'internal'`,
|
|
7
|
+
* UNFILTERED — the same "see everything" contract `createGlobalConsoleMirror`
|
|
8
|
+
* applies to guest console entries) into `target`'s own console, but ONLY
|
|
9
|
+
* while the standalone internal DevTools window is open.
|
|
10
|
+
*
|
|
11
|
+
* The subscription lifecycle is gated by `onHostChanged` (non-null hostWc =
|
|
12
|
+
* window just opened/rebuilt, null = just closed) rather than subscribing
|
|
13
|
+
* once for the whole app lifetime: each open re-subscribes to `diagnostics`
|
|
14
|
+
* with `{replay:true}`, draining its CURRENT buffer into `target` before
|
|
15
|
+
* continuing live, and each close disposes that subscription. This is what
|
|
16
|
+
* makes opening (or reopening) the window always show history — subscribing
|
|
17
|
+
* once at construction time (this module's earlier design) captured the
|
|
18
|
+
* replay burst before any window could possibly be open to receive it
|
|
19
|
+
* (construction happens at app boot; the window is user-opened, always
|
|
20
|
+
* later), silently losing it forever — the exact reported bug (e.g. the
|
|
21
|
+
* earliest compile-standby events at boot never showing up). `target` is the
|
|
22
|
+
* fixed INSPECTED side (mainWindow.webContents) — never the hostWc the
|
|
23
|
+
* signal carries.
|
|
24
|
+
*
|
|
25
|
+
* Reopen-dedup is handled by `createOpenGatedRelay` (real-machine e2e
|
|
26
|
+
* confirmed a naive replay-on-every-open double-injects everything already
|
|
27
|
+
* shown once, since Chromium's own console storage survives a DevTools
|
|
28
|
+
* close — see that module's doc comment).
|
|
29
|
+
*/
|
|
30
|
+
export declare function createGlobalDiagnosticsMirror(diagnostics: Pick<DiagnosticsBus, 'subscribe'>, target: WebContents, onHostChanged: (handler: (hostWc: WebContents | null) => void) => () => void, opts: {
|
|
31
|
+
broker: CdpSessionBroker;
|
|
32
|
+
}): Disposable;
|
|
33
|
+
//# sourceMappingURL=global-diagnostics-mirror.d.ts.map
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { isFrontendSettled } from '../views/inject-when-ready.js';
|
|
2
|
+
import { createOpenGatedRelay } from './open-gated-relay.js';
|
|
3
|
+
import { injectViaCdp } from './cdp-inject.js';
|
|
4
|
+
/** `Diagnostic.severity` → the literal `console.<method>` call — same mapping
|
|
5
|
+
* console-forward/index.ts's DIAGNOSTIC_CONSOLE_CALL uses (kept local since
|
|
6
|
+
* that constant isn't exported; both must stay in sync with `Diagnostic`). */
|
|
7
|
+
const DIAGNOSTIC_CONSOLE_CALL = {
|
|
8
|
+
error: 'console.error',
|
|
9
|
+
warn: 'console.warn',
|
|
10
|
+
info: 'console.info',
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Build the `executeJavaScript` source that injects one diagnostic into the
|
|
14
|
+
* target wc's own console, prefixed `[dimina-kit] ` — same shape as
|
|
15
|
+
* console-forward/index.ts's `buildDiagnosticScript`, minus that function's
|
|
16
|
+
* `RENDER_FORWARD_SOURCE_URL` loop-safety sentinel: that sentinel exists to
|
|
17
|
+
* stop the service-host's OWN CDP capture from re-broadcasting the injected
|
|
18
|
+
* line, and nothing here re-captures `mainWindow.webContents`'s console.
|
|
19
|
+
*/
|
|
20
|
+
function buildMirrorScript(severity, message) {
|
|
21
|
+
const call = DIAGNOSTIC_CONSOLE_CALL[severity];
|
|
22
|
+
const argsJson = JSON.stringify([`[dimina-kit] ${message}`]);
|
|
23
|
+
return `(()=>{try{const a=JSON.parse(${JSON.stringify(argsJson)});${call}(...a)}catch(_){}})()`;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Mirror EVERY diagnostic (both `audience:'user'` and `audience:'internal'`,
|
|
27
|
+
* UNFILTERED — the same "see everything" contract `createGlobalConsoleMirror`
|
|
28
|
+
* applies to guest console entries) into `target`'s own console, but ONLY
|
|
29
|
+
* while the standalone internal DevTools window is open.
|
|
30
|
+
*
|
|
31
|
+
* The subscription lifecycle is gated by `onHostChanged` (non-null hostWc =
|
|
32
|
+
* window just opened/rebuilt, null = just closed) rather than subscribing
|
|
33
|
+
* once for the whole app lifetime: each open re-subscribes to `diagnostics`
|
|
34
|
+
* with `{replay:true}`, draining its CURRENT buffer into `target` before
|
|
35
|
+
* continuing live, and each close disposes that subscription. This is what
|
|
36
|
+
* makes opening (or reopening) the window always show history — subscribing
|
|
37
|
+
* once at construction time (this module's earlier design) captured the
|
|
38
|
+
* replay burst before any window could possibly be open to receive it
|
|
39
|
+
* (construction happens at app boot; the window is user-opened, always
|
|
40
|
+
* later), silently losing it forever — the exact reported bug (e.g. the
|
|
41
|
+
* earliest compile-standby events at boot never showing up). `target` is the
|
|
42
|
+
* fixed INSPECTED side (mainWindow.webContents) — never the hostWc the
|
|
43
|
+
* signal carries.
|
|
44
|
+
*
|
|
45
|
+
* Reopen-dedup is handled by `createOpenGatedRelay` (real-machine e2e
|
|
46
|
+
* confirmed a naive replay-on-every-open double-injects everything already
|
|
47
|
+
* shown once, since Chromium's own console storage survives a DevTools
|
|
48
|
+
* close — see that module's doc comment).
|
|
49
|
+
*/
|
|
50
|
+
export function createGlobalDiagnosticsMirror(diagnostics, target, onHostChanged, opts) {
|
|
51
|
+
function inject(d) {
|
|
52
|
+
if (target.isDestroyed())
|
|
53
|
+
return false;
|
|
54
|
+
if (!isFrontendSettled(target))
|
|
55
|
+
return false;
|
|
56
|
+
let script;
|
|
57
|
+
try {
|
|
58
|
+
script = buildMirrorScript(d.severity, d.message);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
// Transport is CDP `Runtime.evaluate` over the shared debugger-session
|
|
64
|
+
// broker — never `target.executeJavaScript`, whose internal RPC hangs
|
|
65
|
+
// forever under the setDevToolsWebContents + external-CDP-client double
|
|
66
|
+
// attach (see cdp-inject.ts / global-console-mirror.ts; same target,
|
|
67
|
+
// same failure). Report the real outcome — createOpenGatedRelay only
|
|
68
|
+
// marks an entry permanently "injected" on a confirmed `true`.
|
|
69
|
+
return injectViaCdp(opts.broker, target, script, 'global-diagnostics-mirror');
|
|
70
|
+
}
|
|
71
|
+
return createOpenGatedRelay(onHostChanged, (sink, opts2) => diagnostics.subscribe(sink, opts2), inject);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=global-diagnostics-mirror.js.map
|
|
@@ -1,47 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import type { BridgeRouterHandle } from '../../ipc/bridge-router.js';
|
|
3
|
-
import type { DiagnosticsBus } from '../diagnostics/index.js';
|
|
4
|
-
/**
|
|
5
|
-
* One console entry posted by a guest preload. Shape mirrors
|
|
6
|
-
* render-host/preload.cjs + service-host/preload.cjs `emitConsoleLog`:
|
|
7
|
-
* - `source` which layer it came from ('render' | 'service'); ONLY 'render'
|
|
8
|
-
* is forwarded into the service host (see loop-safety above).
|
|
9
|
-
* - `bridgeId` present for render entries; identifies the owning page so we
|
|
10
|
-
* can target the matching app's service host (multi-app safe).
|
|
11
|
-
* - `level` console method name ('log' | 'warn' | 'error' | 'info' | 'debug').
|
|
12
|
-
* - `args` already-`safeSerialize`d arguments (structured-cloneable).
|
|
13
|
-
*/
|
|
14
|
-
export interface GuestConsoleEntry {
|
|
15
|
-
source?: string;
|
|
16
|
-
bridgeId?: string;
|
|
17
|
-
level?: string;
|
|
18
|
-
args?: unknown[];
|
|
19
|
-
ts?: number;
|
|
20
|
-
}
|
|
21
|
-
/** A consumer of every guest console entry (render AND service). */
|
|
22
|
-
export type ConsoleSink = (entry: GuestConsoleEntry) => void;
|
|
23
|
-
export interface ConsoleForwarder extends Disposable {
|
|
24
|
-
/**
|
|
25
|
-
* The single sink bridge-router invokes (wired onto `ctx.guestConsole.emit`).
|
|
26
|
-
* Fans every entry out to subscribers, then runs the render→service forward.
|
|
27
|
-
*/
|
|
28
|
-
emit(entry: unknown): void;
|
|
29
|
-
/**
|
|
30
|
-
* Register an external sink (e.g. automation WS broadcast). Returns a
|
|
31
|
-
* Disposable that unregisters it. Sinks see EVERY entry (both layers) — the
|
|
32
|
-
* render→service forward is internal and not exposed as a sink.
|
|
33
|
-
*/
|
|
34
|
-
subscribe(sink: ConsoleSink): Disposable;
|
|
35
|
-
/**
|
|
36
|
-
* Flush any diagnostic queued for `appSessionId` (plus the global,
|
|
37
|
-
* session-less queue) into that session's now-ready service-host wc.
|
|
38
|
-
* Idempotent: entries are removed from their bucket as they flush, so a
|
|
39
|
-
* repeat call for the same session injects nothing further. Call once the
|
|
40
|
-
* session's service-host webContents has actually navigated/loaded (e.g.
|
|
41
|
-
* from `bootServiceHost`, after `did-finish-load`) — calling it earlier just
|
|
42
|
-
* finds nothing resolvable and leaves the queue intact for a later call.
|
|
43
|
-
*/
|
|
44
|
-
notifyServiceHostReady(appSessionId: string): void;
|
|
45
|
-
}
|
|
46
|
-
export declare function createConsoleForwarder(bridge: Pick<BridgeRouterHandle, 'getServiceWc' | 'getServiceWcForBridge'>, diagnostics?: DiagnosticsBus): ConsoleForwarder;
|
|
1
|
+
export * from '@dimina-kit/electron-runtime/main/console-forward';
|
|
47
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,186 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { RENDER_FORWARD_SOURCE_URL } from '../service-console/console-api.js';
|
|
3
|
-
/** Console levels we re-emit into the service host. Anything else maps to 'log'. */
|
|
4
|
-
const FORWARDABLE_LEVELS = new Set(['log', 'warn', 'error', 'info', 'debug']);
|
|
5
|
-
/**
|
|
6
|
-
* Build the `executeJavaScript` source that re-emits a render entry inside the
|
|
7
|
-
* service host. Args are carried as a JSON string and parsed service-side, so no
|
|
8
|
-
* guest-controlled value is ever interpolated into executable JS — the only
|
|
9
|
-
* thing that reaches the parser is a JSON literal. The `[视图]` prefix lets the
|
|
10
|
-
* DevTools console filter isolate the render layer.
|
|
11
|
-
*/
|
|
12
|
-
function buildForwardScript(level, args) {
|
|
13
|
-
const method = FORWARDABLE_LEVELS.has(level) ? level : 'log';
|
|
14
|
-
// JSON.stringify('…') yields a valid JS string literal; embedding it and
|
|
15
|
-
// re-parsing keeps args as data, never code. JSON.stringify can throw on a
|
|
16
|
-
// value that slipped past safeSerialize (e.g. a BigInt) — caller guards.
|
|
17
|
-
const argsJson = JSON.stringify(args ?? []);
|
|
18
|
-
// `console[method]` (not `console.log`) preserves the original level so the
|
|
19
|
-
// DevTools severity filter still works on the forwarded line.
|
|
20
|
-
//
|
|
21
|
-
// The trailing `//# sourceURL` stamps this injected line with a sentinel URL.
|
|
22
|
-
// The service-console CDP capture (services/service-console) attached to THIS
|
|
23
|
-
// service host would otherwise re-capture this `console[...]` call as a fresh
|
|
24
|
-
// service entry and re-broadcast it to automation (duplicate). It skips any
|
|
25
|
-
// `consoleAPICalled` whose top frame URL === RENDER_FORWARD_SOURCE_URL.
|
|
26
|
-
return `(()=>{try{const a=JSON.parse(${JSON.stringify(argsJson)});console[${JSON.stringify(method)}]('[视图]',...a)}catch(_){}})()\n//# sourceURL=${RENDER_FORWARD_SOURCE_URL}`;
|
|
27
|
-
}
|
|
28
|
-
/** `Diagnostic.severity` → the literal `console.<method>` call to emit (dot form, not computed — kept greppable/CDP-attributable like a hand-written call site). */
|
|
29
|
-
const DIAGNOSTIC_CONSOLE_CALL = {
|
|
30
|
-
error: 'console.error',
|
|
31
|
-
warn: 'console.warn',
|
|
32
|
-
info: 'console.info',
|
|
33
|
-
};
|
|
34
|
-
/**
|
|
35
|
-
* Build the `executeJavaScript` source that injects one diagnostic into the
|
|
36
|
-
* service host's console, prefixed `[dimina-kit]`. Args ride as a JSON string
|
|
37
|
-
* (same anti-injection shape as `buildForwardScript`) and the sourceURL is the
|
|
38
|
-
* SAME sentinel the render mirror uses, so this line is exempt from
|
|
39
|
-
* service-console's loop-safety skip too.
|
|
40
|
-
*/
|
|
41
|
-
function buildDiagnosticScript(severity, message) {
|
|
42
|
-
const call = DIAGNOSTIC_CONSOLE_CALL[severity];
|
|
43
|
-
const argsJson = JSON.stringify([`[dimina-kit] ${message}`]);
|
|
44
|
-
return `(()=>{try{const a=JSON.parse(${JSON.stringify(argsJson)});${call}(...a)}catch(_){}})()\n//# sourceURL=${RENDER_FORWARD_SOURCE_URL}`;
|
|
45
|
-
}
|
|
46
|
-
export function createConsoleForwarder(bridge, diagnostics) {
|
|
47
|
-
const sinks = new Set();
|
|
48
|
-
const registry = new DisposableRegistry();
|
|
49
|
-
// Diagnostics queued because no live service-host wc could be resolved yet,
|
|
50
|
-
// bucketed by the owning appSessionId; diagnostics with no appSessionId land
|
|
51
|
-
// in `pendingGlobal` instead. `notifyServiceHostReady` drains both into the
|
|
52
|
-
// session that just became ready.
|
|
53
|
-
const pendingBySession = new Map();
|
|
54
|
-
const pendingGlobal = [];
|
|
55
|
-
// Sessions whose service host has finished loading service.html (the caller
|
|
56
|
-
// signals this via `notifyServiceHostReady`). A resolvable wc alone is NOT
|
|
57
|
-
// readiness: the window exists (and is bound) before its spawn navigation
|
|
58
|
-
// lands, and anything injected into that pre-load document is wiped by the
|
|
59
|
-
// navigation — the diagnostic would silently vanish from the Console panel.
|
|
60
|
-
const readySessions = new Set();
|
|
61
|
-
function injectDiagnostic(wc, d) {
|
|
62
|
-
wc.executeJavaScript(buildDiagnosticScript(d.severity, d.message), true).catch(() => { });
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Inject a diagnostic into its owning session's service-host console, or
|
|
66
|
-
* queue it until that host is READY (not merely constructed — see
|
|
67
|
-
* `readySessions`). Ownership is strict: a session-owned diagnostic NEVER
|
|
68
|
-
* falls back to the currently-active host — while `handleSpawn` is still
|
|
69
|
-
* running, the new session's host doesn't exist yet and the "active" host
|
|
70
|
-
* is the OUTGOING session's window, so a fallback would land the message in
|
|
71
|
-
* a console about to be destroyed instead of the session it explains. Only
|
|
72
|
-
* session-less diagnostics may use the active host. Never throws — a
|
|
73
|
-
* missing/destroyed/not-yet-ready host is a normal state, not an error.
|
|
74
|
-
*/
|
|
75
|
-
function handleDiagnostic(d) {
|
|
76
|
-
if (d.appSessionId) {
|
|
77
|
-
const wc = readySessions.has(d.appSessionId) && bridge.getServiceWcForBridge
|
|
78
|
-
? bridge.getServiceWcForBridge(d.appSessionId)
|
|
79
|
-
: null;
|
|
80
|
-
if (wc && !wc.isDestroyed()) {
|
|
81
|
-
injectDiagnostic(wc, d);
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
const bucket = pendingBySession.get(d.appSessionId);
|
|
85
|
-
if (bucket)
|
|
86
|
-
bucket.push(d);
|
|
87
|
-
else
|
|
88
|
-
pendingBySession.set(d.appSessionId, [d]);
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
const wc = bridge.getServiceWc();
|
|
92
|
-
if (wc && !wc.isDestroyed()) {
|
|
93
|
-
injectDiagnostic(wc, d);
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
pendingGlobal.push(d);
|
|
97
|
-
}
|
|
98
|
-
if (diagnostics) {
|
|
99
|
-
// replay:true so diagnostics reported before this forwarder existed (early
|
|
100
|
-
// boot, buffered on the bus) are queued/injected here too.
|
|
101
|
-
registry.add(diagnostics.subscribe(handleDiagnostic, { replay: true }));
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Render→service forward. Resolves the service host for the entry's owning
|
|
105
|
-
* page (multi-app safe), falling back to the active app's service host when
|
|
106
|
-
* the bridgeId is unknown — that's the host the embedded DevTools inspects.
|
|
107
|
-
* No-op on a destroyed/missing host so we never write to a torn-down wc (pool
|
|
108
|
-
* reuse / session swap can swap the host out under us).
|
|
109
|
-
*/
|
|
110
|
-
function forwardRenderToServiceHost(entry) {
|
|
111
|
-
let wc = null;
|
|
112
|
-
if (entry.bridgeId && bridge.getServiceWcForBridge) {
|
|
113
|
-
wc = bridge.getServiceWcForBridge(entry.bridgeId);
|
|
114
|
-
}
|
|
115
|
-
if (!wc)
|
|
116
|
-
wc = bridge.getServiceWc();
|
|
117
|
-
if (!wc || wc.isDestroyed())
|
|
118
|
-
return;
|
|
119
|
-
let script;
|
|
120
|
-
try {
|
|
121
|
-
script = buildForwardScript(entry.level ?? 'log', entry.args ?? []);
|
|
122
|
-
}
|
|
123
|
-
catch {
|
|
124
|
-
// Args that escaped safeSerialize and aren't JSON-stringifiable — drop
|
|
125
|
-
// rather than break the forward. Console capture must never throw.
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
// executeJavaScript rejects if the host navigates/teardowns mid-call; the
|
|
129
|
-
// injected body is itself try/caught. Swallow either — best-effort mirror.
|
|
130
|
-
wc.executeJavaScript(script, true).catch(() => { });
|
|
131
|
-
}
|
|
132
|
-
return {
|
|
133
|
-
// The single sink bridge-router calls (`ctx.guestConsole.emit`). Fans out
|
|
134
|
-
// to external subscribers (both layers) then runs the render→service forward
|
|
135
|
-
// (render only — see loop-safety invariant in the module header).
|
|
136
|
-
emit(raw) {
|
|
137
|
-
const entry = (raw ?? {});
|
|
138
|
-
for (const sink of sinks) {
|
|
139
|
-
try {
|
|
140
|
-
sink(entry);
|
|
141
|
-
}
|
|
142
|
-
catch { /* a sink must never break the others */ }
|
|
143
|
-
}
|
|
144
|
-
// Forward ONLY the render layer. Service entries are already shown
|
|
145
|
-
// natively in the attached DevTools, and forwarding them would loop
|
|
146
|
-
// (see header).
|
|
147
|
-
if (entry.source === 'render')
|
|
148
|
-
forwardRenderToServiceHost(entry);
|
|
149
|
-
},
|
|
150
|
-
subscribe(sink) {
|
|
151
|
-
sinks.add(sink);
|
|
152
|
-
return registry.add(toDisposable(() => { sinks.delete(sink); }));
|
|
153
|
-
},
|
|
154
|
-
notifyServiceHostReady(appSessionId) {
|
|
155
|
-
// Readiness is sticky per session: from here on, session-owned
|
|
156
|
-
// diagnostics inject directly instead of queueing.
|
|
157
|
-
readySessions.add(appSessionId);
|
|
158
|
-
// Re-resolve fresh rather than trusting whatever `handleDiagnostic` saw at
|
|
159
|
-
// report time — the caller invokes this exactly when it knows the wc just
|
|
160
|
-
// became live, so that resolution wins even if an earlier snapshot was
|
|
161
|
-
// destroyed/missing.
|
|
162
|
-
const wc = bridge.getServiceWcForBridge ? bridge.getServiceWcForBridge(appSessionId) : null;
|
|
163
|
-
if (!wc)
|
|
164
|
-
return;
|
|
165
|
-
const sessionEntries = pendingBySession.get(appSessionId);
|
|
166
|
-
if (sessionEntries) {
|
|
167
|
-
for (const d of sessionEntries)
|
|
168
|
-
injectDiagnostic(wc, d);
|
|
169
|
-
pendingBySession.delete(appSessionId);
|
|
170
|
-
}
|
|
171
|
-
if (pendingGlobal.length) {
|
|
172
|
-
for (const d of pendingGlobal)
|
|
173
|
-
injectDiagnostic(wc, d);
|
|
174
|
-
pendingGlobal.length = 0;
|
|
175
|
-
}
|
|
176
|
-
},
|
|
177
|
-
dispose() {
|
|
178
|
-
sinks.clear();
|
|
179
|
-
pendingBySession.clear();
|
|
180
|
-
pendingGlobal.length = 0;
|
|
181
|
-
readySessions.clear();
|
|
182
|
-
return registry.disposeAll();
|
|
183
|
-
},
|
|
184
|
-
};
|
|
185
|
-
}
|
|
1
|
+
export * from '@dimina-kit/electron-runtime/main/console-forward';
|
|
186
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Disposable } from '@dimina-kit/electron-deck/main';
|
|
2
|
+
/**
|
|
3
|
+
* Generic open/close-gated replay-subscription primitive shared by
|
|
4
|
+
* `createGlobalConsoleMirror` and `createGlobalDiagnosticsMirror` — both
|
|
5
|
+
* gate their subscription to a buffered+replayable source
|
|
6
|
+
* (`ConsoleForwarder`/`DiagnosticsBus`) on whether the standalone "debug the
|
|
7
|
+
* whole Electron app" window is currently open (`onHostChanged`): each open
|
|
8
|
+
* re-subscribes with `{replay:true}` so history is never lost even if the
|
|
9
|
+
* window opens long after boot, and each close disposes that subscription.
|
|
10
|
+
*
|
|
11
|
+
* ── Dedup (the e2e-confirmed bug this fixes) ────────────────────────────────
|
|
12
|
+
* Naively re-subscribing with `{replay:true}` on every reopen double-injects
|
|
13
|
+
* history: Chromium's own per-frame `ConsoleMessageStorage` is NOT cleared by
|
|
14
|
+
* closing DevTools (only by navigation), so it natively re-delivers entries
|
|
15
|
+
* already shown during a PREVIOUS open to the freshly-attached front-end —
|
|
16
|
+
* and if this relay ALSO blindly replays and re-injects the same buffered
|
|
17
|
+
* objects, every entry shown once ends up displayed twice on reopen, the
|
|
18
|
+
* duplicate carrying a fresh (wrong) "just reopened" timestamp instead of
|
|
19
|
+
* when it actually happened.
|
|
20
|
+
*
|
|
21
|
+
* Fix: `state` is a `WeakMap` keyed by OBJECT REFERENCE (never content — two
|
|
22
|
+
* content-identical-but-distinct entries must each still get injected once)
|
|
23
|
+
* that persists across the relay's ENTIRE lifetime, not reset by open/close.
|
|
24
|
+
* A replay that re-delivers an already-CONFIRMED-injected object is skipped;
|
|
25
|
+
* only entries never physically (and successfully) passed to `inject()`
|
|
26
|
+
* before (e.g. ones that arrived while the window was closed) actually call
|
|
27
|
+
* `inject()`. Chromium's own native re-delivery is left to show the
|
|
28
|
+
* once-injected ones — that is what makes reopening not double them up. This
|
|
29
|
+
* also composes correctly with the source's own bounded ring buffer: an
|
|
30
|
+
* evicted entry is simply absent from the next replay batch entirely, so it
|
|
31
|
+
* can never be double-counted regardless of what `state` holds.
|
|
32
|
+
*
|
|
33
|
+
* ── inject() is fallible — only a CONFIRMED success may ever mark "done" ───
|
|
34
|
+
* `inject()` wraps an async `executeJavaScript` against a possibly-destroyed
|
|
35
|
+
* or not-yet-settled target, so it reports whether the entry was ACTUALLY
|
|
36
|
+
* delivered via `boolean | Promise<boolean>`. Marking an entry "injected"
|
|
37
|
+
* before that outcome is known (the original bug here) means a single
|
|
38
|
+
* transient failure — target destroyed, front-end not settled, a rejected
|
|
39
|
+
* `executeJavaScript` — permanently black-holes that entry: every future
|
|
40
|
+
* replay skips it forever, even though it was never actually shown anywhere
|
|
41
|
+
* (violates this repo's "state must be marked at the moment the fact
|
|
42
|
+
* actually happens" principle — this was marking INTENT, not the fact). So
|
|
43
|
+
* `state` tracks three phases per entry: absent (never attempted, or a prior
|
|
44
|
+
* attempt failed and was cleared — eligible for `inject()`), `'pending'`
|
|
45
|
+
* (an `inject()` call is in flight — a concurrent replay of the SAME entry
|
|
46
|
+
* must not trigger a second concurrent call), `'done'` (confirmed success —
|
|
47
|
+
* permanently skipped from here on). A `false` result or a rejection resets
|
|
48
|
+
* the entry back to absent, so the next replay (e.g. the next window reopen)
|
|
49
|
+
* gets a real retry instead of a silent, permanent loss.
|
|
50
|
+
*/
|
|
51
|
+
export interface OpenGatedRelayOptions {
|
|
52
|
+
/**
|
|
53
|
+
* Bounds how long ONE in-flight `inject()` attempt may hold an entry
|
|
54
|
+
* `'pending'`. An `inject()` promise that never settles (real incident:
|
|
55
|
+
* `executeJavaScript` against a wc that is simultaneously the inspected
|
|
56
|
+
* side of `setDevToolsWebContents` AND attached by an external CDP client
|
|
57
|
+
* hangs forever) would otherwise black-hole the entry permanently — never
|
|
58
|
+
* shown, never retried. Past this bound the entry becomes retryable again
|
|
59
|
+
* on the next replay. The timed-out attempt's promise may still settle
|
|
60
|
+
* LATE; its settlement is generation-stamped and ignored when stale.
|
|
61
|
+
*/
|
|
62
|
+
injectTimeoutMs?: number;
|
|
63
|
+
}
|
|
64
|
+
export declare function createOpenGatedRelay<TEntry extends object, THost = unknown>(onHostChanged: (handler: (host: THost | null) => void) => () => void, subscribe: (sink: (entry: TEntry) => void, opts: {
|
|
65
|
+
replay: true;
|
|
66
|
+
}) => Disposable, inject: (entry: TEntry) => boolean | Promise<boolean>, opts?: OpenGatedRelayOptions): Disposable;
|
|
67
|
+
//# sourceMappingURL=open-gated-relay.d.ts.map
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const DEFAULT_INJECT_TIMEOUT_MS = 10_000;
|
|
2
|
+
export function createOpenGatedRelay(onHostChanged, subscribe, inject, opts) {
|
|
3
|
+
const injectTimeoutMs = opts?.injectTimeoutMs ?? DEFAULT_INJECT_TIMEOUT_MS;
|
|
4
|
+
// Generation stamp per attempt: only the attempt matching the entry's
|
|
5
|
+
// CURRENT pending generation may act on settling — a stale (timed-out,
|
|
6
|
+
// superseded) attempt's late result must neither mark the entry done nor
|
|
7
|
+
// disturb a newer attempt's pending status.
|
|
8
|
+
const state = new WeakMap();
|
|
9
|
+
let generationSeq = 0;
|
|
10
|
+
const inFlightTimers = new Set();
|
|
11
|
+
let live = null;
|
|
12
|
+
function deliver(entry) {
|
|
13
|
+
if (state.has(entry))
|
|
14
|
+
return;
|
|
15
|
+
const generation = ++generationSeq;
|
|
16
|
+
state.set(entry, { phase: 'pending', generation });
|
|
17
|
+
const timer = setTimeout(() => {
|
|
18
|
+
inFlightTimers.delete(timer);
|
|
19
|
+
const cur = state.get(entry);
|
|
20
|
+
if (cur && cur.phase === 'pending' && cur.generation === generation)
|
|
21
|
+
state.delete(entry);
|
|
22
|
+
}, injectTimeoutMs);
|
|
23
|
+
timer.unref?.();
|
|
24
|
+
inFlightTimers.add(timer);
|
|
25
|
+
const settle = (ok) => {
|
|
26
|
+
clearTimeout(timer);
|
|
27
|
+
inFlightTimers.delete(timer);
|
|
28
|
+
const cur = state.get(entry);
|
|
29
|
+
if (!cur || cur.phase !== 'pending' || cur.generation !== generation)
|
|
30
|
+
return;
|
|
31
|
+
if (ok)
|
|
32
|
+
state.set(entry, { phase: 'done', generation });
|
|
33
|
+
else
|
|
34
|
+
state.delete(entry);
|
|
35
|
+
};
|
|
36
|
+
Promise.resolve()
|
|
37
|
+
.then(() => inject(entry))
|
|
38
|
+
.then((ok) => settle(ok === true), () => settle(false));
|
|
39
|
+
}
|
|
40
|
+
const unregister = onHostChanged((host) => {
|
|
41
|
+
live?.dispose();
|
|
42
|
+
live = host !== null ? subscribe(deliver, { replay: true }) : null;
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
dispose: () => {
|
|
46
|
+
for (const timer of inFlightTimers)
|
|
47
|
+
clearTimeout(timer);
|
|
48
|
+
inFlightTimers.clear();
|
|
49
|
+
live?.dispose();
|
|
50
|
+
live = null;
|
|
51
|
+
unregister();
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=open-gated-relay.js.map
|
|
@@ -5,7 +5,7 @@ export const defaultAdapter = {
|
|
|
5
5
|
async openProject(opts) {
|
|
6
6
|
const diminaKit = await import('@dimina-kit/devkit');
|
|
7
7
|
const openProjectOpts = {
|
|
8
|
-
|
|
8
|
+
outputRoot: path.join(app.getPath('userData'), 'dimina-fe-output'),
|
|
9
9
|
...opts,
|
|
10
10
|
simulatorDir,
|
|
11
11
|
};
|
|
@@ -1,49 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Diagnostics bus: the single authoritative channel for developer-facing
|
|
3
|
-
* diagnostics synthesized by main (e.g. "page not found", "logic bundle
|
|
4
|
-
* unreachable") that do not originate from a real `console.*` call the
|
|
5
|
-
* embedded service-host DevTools' CDP capture could observe on its own.
|
|
6
|
-
*
|
|
7
|
-
* Main-synthesized diagnostics used to reach only `ctx.guestConsole.emit`,
|
|
8
|
-
* which fans out to automation subscribers but — for `source:'service'`
|
|
9
|
-
* entries — is never injected into the service host's own console (see
|
|
10
|
-
* `console-forward`'s render-only forward invariant), so they never appeared
|
|
11
|
-
* in the Console panel. This bus is the fix: `report()` is the one place a
|
|
12
|
-
* diagnostic is born, and `console-forward` subscribes to inject each one
|
|
13
|
-
* into the owning session's service-host console (queuing until that
|
|
14
|
-
* session's window is ready — see `notifyServiceHostReady`).
|
|
15
|
-
*/
|
|
16
|
-
export type DiagnosticSeverity = 'error' | 'warn' | 'info';
|
|
17
|
-
export interface Diagnostic {
|
|
18
|
-
severity: DiagnosticSeverity;
|
|
19
|
-
code: string;
|
|
20
|
-
message: string;
|
|
21
|
-
appSessionId?: string;
|
|
22
|
-
ts: number;
|
|
23
|
-
}
|
|
24
|
-
export interface DiagnosticsBus {
|
|
25
|
-
/** Record one diagnostic: buffers it, mirrors it to the main-process console, and synchronously notifies every live subscriber. No-op after `dispose()`. */
|
|
26
|
-
report(d: {
|
|
27
|
-
severity: DiagnosticSeverity;
|
|
28
|
-
code: string;
|
|
29
|
-
message: string;
|
|
30
|
-
appSessionId?: string;
|
|
31
|
-
}): void;
|
|
32
|
-
/**
|
|
33
|
-
* Register a sink. With `replay` (default true) the sink is first called,
|
|
34
|
-
* in order, for every buffered diagnostic still held, then for every
|
|
35
|
-
* diagnostic reported from now on; `replay: false` skips the backlog and
|
|
36
|
-
* only delivers diagnostics reported after this call.
|
|
37
|
-
*/
|
|
38
|
-
subscribe(sink: (d: Diagnostic) => void, opts?: {
|
|
39
|
-
replay?: boolean;
|
|
40
|
-
}): {
|
|
41
|
-
dispose(): void;
|
|
42
|
-
};
|
|
43
|
-
/** Clears subscribers and the buffer. `report()` becomes a no-op afterward (including the console mirror — dispose means fully off, not "log-only"). */
|
|
44
|
-
dispose(): void;
|
|
45
|
-
}
|
|
46
|
-
export declare function createDiagnosticsBus(opts?: {
|
|
47
|
-
bufferCap?: number;
|
|
48
|
-
}): DiagnosticsBus;
|
|
1
|
+
export * from '@dimina-kit/electron-runtime/main/diagnostics';
|
|
49
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,61 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
const CONSOLE_METHOD = {
|
|
3
|
-
error: 'error',
|
|
4
|
-
warn: 'warn',
|
|
5
|
-
info: 'info',
|
|
6
|
-
};
|
|
7
|
-
export function createDiagnosticsBus(opts) {
|
|
8
|
-
const bufferCap = opts?.bufferCap && opts.bufferCap > 0 ? opts.bufferCap : DEFAULT_BUFFER_CAP;
|
|
9
|
-
const buffer = [];
|
|
10
|
-
const sinks = new Set();
|
|
11
|
-
let disposed = false;
|
|
12
|
-
return {
|
|
13
|
-
report(d) {
|
|
14
|
-
if (disposed)
|
|
15
|
-
return;
|
|
16
|
-
const entry = { ...d, ts: Date.now() };
|
|
17
|
-
buffer.push(entry);
|
|
18
|
-
// Ring buffer: drop the oldest once over cap. Bounded at `bufferCap` so a
|
|
19
|
-
// burst of synthesized diagnostics can never grow this without limit.
|
|
20
|
-
if (buffer.length > bufferCap)
|
|
21
|
-
buffer.shift();
|
|
22
|
-
// The one guaranteed-visible sink: unlike Console-panel injection (which
|
|
23
|
-
// needs a live, ready service-host wc), the main-process terminal is
|
|
24
|
-
// always there.
|
|
25
|
-
console[CONSOLE_METHOD[entry.severity]](`[dimina-kit:${entry.code}] ${entry.message}`);
|
|
26
|
-
for (const sink of sinks) {
|
|
27
|
-
try {
|
|
28
|
-
sink(entry);
|
|
29
|
-
}
|
|
30
|
-
catch { /* a sink must never break the others */ }
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
subscribe(sink, subOpts) {
|
|
34
|
-
const replay = subOpts?.replay ?? true;
|
|
35
|
-
if (replay) {
|
|
36
|
-
for (const entry of buffer) {
|
|
37
|
-
try {
|
|
38
|
-
sink(entry);
|
|
39
|
-
}
|
|
40
|
-
catch { /* isolate a replay throw same as a live one */ }
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
sinks.add(sink);
|
|
44
|
-
let released = false;
|
|
45
|
-
return {
|
|
46
|
-
dispose() {
|
|
47
|
-
if (released)
|
|
48
|
-
return;
|
|
49
|
-
released = true;
|
|
50
|
-
sinks.delete(sink);
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
},
|
|
54
|
-
dispose() {
|
|
55
|
-
disposed = true;
|
|
56
|
-
sinks.clear();
|
|
57
|
-
buffer.length = 0;
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
}
|
|
1
|
+
export * from '@dimina-kit/electron-runtime/main/diagnostics';
|
|
61
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
baseUrl: string;
|
|
3
|
-
close(): Promise<void>;
|
|
4
|
-
}
|
|
5
|
-
export declare function startDiminaResourceServer(rootDir: string): Promise<DiminaResourceServer>;
|
|
6
|
-
export declare function toSourceUrl(filePath: string): string;
|
|
1
|
+
export * from '@dimina-kit/electron-runtime/main/dimina-resource-server';
|
|
7
2
|
//# sourceMappingURL=dimina-resource-server.d.ts.map
|